3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AoToAdvent Calendar 2023

Day 17

Observability のベストプラクティスを実現:Datadog Service Scorecards によるサービスレベルの自動評価と可視化

Last updated at Posted at 2023-12-17

はじめに

こんにちは、Datadog Japan で Sales Engineer をしている AoTo です。

この投稿は AoTo Advent Calendar 2023 17日目の記事です。

Observability のベストプラクティス、あなたは取り組めていますか?

この問いかけに、自信を持って Yes と答えられる方は少ないのではないでしょうか。

こうしたペストプラクティスの取り組み状況を把握するために、Datadog Service Catalog の機能である Service Scorecards は、Observability の実現を支える組織と文化のベストプラクティスに基づいた実装を行えているかを可視化してくれます。

今回は、Service Scorecards の概要から Scorecards を設定して Observability のベストプラクティスを実現するまでを解説します。

活用方法については、Datadog の公式ブログにもご参照ください。

Service Scorecards の概要

Service ScorecardsDatadog Service Catalog を活用するためのソリューションの1つで、現在公開ベータ版で提供されています。Service Scorecards によって、Datadog で監視されている対象のサービスそれぞれが Datadog での情報を十分に活かしせる状態になっているかを可視化出来ます。

Datadog は、Production ReadinessObservability のベストプラクティスオーナーとドキュメントの3つのカテゴリの合計10個の合否ルールに対して、メタデータを使用して各サービスを自動的に評価します。これにより、チームがサービスの改善点を知り優先順位を付けるための出発点となります。

これに加えて、セキュリティ要件、内部ツール、バージョン監査、統合チェックなど、サービス品質を測定する独自の方法を測定するためにカスタムスコアカードを作成できます。

スコアカードの設定

Service Catalog ページを確認すると、Datadog APM, USM, RUM によって収集されたアプリケーションサービスの情報がリストやマップの形式で確認できます。

この他にも yaml ファイルによるユーザー定義のサービスを設定したり、Infrastructure・Logs・Network などのデータから追加のサービスを検出したり、BackstageServiceNow に登録されたデータをインポートすることでサービスを定義できます。

Scorecards ページから各ルールを有効化することで、これらのルールの単位で適用されたルールを元にスコアが表示されます。さらに、Service Catalog ページから各サービスを選択すると、Scorecards タブからサービスの各ルールへの対応状況が確認できます。

Scorecards の機能を有効化した後は、スコアカードのルールへの対応が必要となります。それぞれどのようなルールが設定されているか見ていきましょう。

Production Readiness

Production Readiness の項目ではその名の通り、各サービスが本番環境で稼働するための準備が整っているかを表すルールが定められています。

SRE チームの Production Readiness

この項目では SRE チームがサービスを運用するための適切な状態であるかを確認するために、ームがサービスのパフォーマンスを追跡するために SLO を定義しているかや、潜在的な問題に迅速に対応できるように Monitor が設定されているかなどを確認するルールがあります。

これらのルールは、各サービスに紐づいた SLOMonitor が設定されているかで自動的に評価されます。

Scorecards が設定されていなくとも、Service Catalog ページから各サービスを選択した際に確認できる Setup Guidance タブの [Monitors] と [SLOs] を確認することで、それぞれの項目が設定されているか確認できます。
SetupGuidance.jpg

このカテゴリは、Datadog を利用したサービスの健全性の把握と障害への対応を行うために重要な項目です。

他チームの Production Readiness

この項目では他に、 SRE チームと連携するチームによる準備状況として、インシデント対応チーム向けにインシデントのとラブルシューティング時に対処をするオンコール レスポンダーを指定しているか、開発チーム向けに過去3ヶ月以内にサービスの新しいバージョンをリリースしたかを確認するルールがあります。

オンコールのルールは、PagerDuty integrationOpsGenie integration などのインシデント管理サービスとの統合を行った上で、各サービスの URL が設定されているかで評価されます。
On-callIntagrations.jpg

3ヶ月以内でのバージョンリリースのルールは、Datadog CI Pipeline を利用したてデプロイパイプラインの可視化を行った上で関連するデプロイパイプラインが設定されているかで評価されます。
SoftwareDelivery.jpg

これらのルールは、各サービスに設定されたメタデータによって評価されるため、上記の integrations や Datadog CI Pipeline Visibility を利用していない場合に有効化をする必要はありません

Observability のベストプラクティス

Observability のベストプラクティスの項目では、Cloud Native Computing Foundaton(CNCF) 配下の文書である Observability Whitepaper でも言及されているベストプラクティスを実装できているかを確認できるルールが定められています。

この項目では、トラブルシューティングの迅速化やパフォーマンスの問題の特定を行うための、監視テレメトリデータを関連づけしているかを確認するルールがあります。

このカテゴリは、Deployment tracking と Log correlation を設定しているかで自動的に評価されます。

Deployment tracking のルールは、デプロイメントの追跡に基づいて、versionタグによるコードのバージョンを記録してデプロイを追跡できているかで評価されます。

Log correlation のルールは、ログとトレースの接続に基づいて、ログに trace_id をはじめとするトレースコンテキストが挿入され、Datadog 上で表示できているかで評価されます。

Scorecards が設定されていなくとも、Service Catalog ページから各サービスを選択した際に確認できる Setup Guidance タブの [Version Tagging] と [Log Correlation] 確認することで、それぞれの項目が設定されているか確認できます。
SetupGuidanceAPM.jpg

このカテゴリは、Datadog で Observability のベストプラクティスの1つである監視テレメトリデータの関連づけが行えているかを確認するために重要な項目です。

オーナーとドキュメント

オーナーとドキュメントの項目では、各サービスを管理するチームや関連するドキュメントを整備できているかを確認できるルールが定められています。

この項目では、各サービスを管理する責任があるチームを明確にしているか、各サービスのに関連するリポジトリ・ドキュメント・ランブック・ダッシュボードへ他のチームもアクセスできるかどうかを確認するルールがあります。

チーム定義のルールでは、Datadog Teams 機能を利用してチームを Datadog 内で定義された上で関連するチームが設定されているかで評価されます。
TeamsDefiined.jpg

コンタクト定義のルールでは、E メールや Slack, Microsoft Teams, Skype などのチャットツールで管理責任者への連絡先が設定されているかで評価されます。
ContactsDefined.jpg

コードリポジトリとドキュメント定義のルールでは、リポジトリ・ドキュメント・ランブック・ダッシュボードのリンクが設定されているかで評価されます。
DocsDefined.jpg

このカテゴリは、Datadog を中心に開発・運用を行なっていく上では積極的に利用することが推奨されます。

おわりに

Datadog Service Scorecards は Datadog に情報や知識を集約し、Datadog を中心とした DevOps や SRE の実践を効率化するためのソリューションです。

全ての Datadog ユーザーは追加の課金を必要とせずに Scorecards を設定できるので、サービスの所有者・エンジニア・マネージャー・関係者がサービスのパフォーマンス・信頼性・可用性を向上させるに役立てられます。

Datadog を活用している場合でも、この機能をまだ使ったことも多いように思います。是非これを機に触ってみてはいかがでしょうか🐶

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?