サービスカタログの設定

概要

Datadog サービスカタログは、デフォルトで APM、USM、RUM から検出されたすべてのサービスを含みます。これらの製品のいずれかを使用している場合、カタログにはエントリが事前に入力されています。Datadog UI、API を使ってこれらのエントリにサービスのメタデータを追加したり、GitHub インテグレーションTerraform を使って自動パイプラインを使用することができます。

サービス定義メタデータの追加

サービスがサービスカタログにリストされ、すでにメタデータが関連付けられている場合、元のソースは、Ownership ビューの Metadata Source 列にリストされています。そのソースに戻り、必要な更新を行います。

サービスにサービス定義のメタデータが割り当てられていない場合、またはサービスがまだサービスカタログにリストされていない場合は、追加することができます。

  1. サービスカタログページで、Setup & Config をクリックします。Manage Entries タブには、メタデータがないサービスの数が表示されます。

  2. Create New Entry をクリックします。

  3. メタデータを追加するサービスを指定します。これは、サービスカタログにすでにリストされている、まだサービス定義のメタデータが定義されていないサービスの名前、または、データを送信していないサービスの名前にすることができます。

  4. Team、On-call、Contacts、Documentation、Code repo、Other links の詳細を入力してください。

  5. Code ビューに切り替えると、入力したメタデータに対して生成された JSON と cURL が表示されます。このコードをコピーすれば、サービス定義のスキーマを学ぶことなく、API や Terraform、GitHub でプログラム的にサービス定義を提供するための出発点として利用することができます。

  6. Service Catalog Write 権限を持っている場合、Save Entry をクリックするか、Code ビューで提供される cURL コマンドを実行することで、メタデータを送信することができます。

サービス定義の GitHub への保存と編集

GitHub インテグレーションを構成し、Service Catalog でサービスの定義を表示する場所から、GitHub で保存・編集可能な場所に直接リンクするようにします。

GitHub インテグレーションをインストールするには、インテグレーションタイルに移動し、Repo Configuration タブにある Link GitHub Account をクリックします。

サービス定義 YAML ファイル

Datadog は各リポジトリのルートにある service.datadog.yaml ファイルを読み取り権限でスキャンします。複数の YAML ドキュメントを作成することで、1 つの YAML ファイルに複数のサービスを登録することができます。各ドキュメントは 3 つのダッシュ (---) で区切ります。

サービス定義の変更

サービス定義に GitHub インテグレーションを設定すると、サービスの Definition タブに Edit in Github ボタンが表示され、GitHub にリンクして変更をコミットすることができるようになります。

Service Catalog のサービスの Definition タブに Edit in Github ボタンが表示されるようになった

リポジトリの YAML ファイルを更新すると、その変更はサービスカタログに伝搬されます。

誤って上書きされることを防ぐため、サービス定義ファイルの作成と変更は、GitHub インテグレーションまたは Service Definition API エンドポイントのどちらかを使用してください。GitHub と API の両方を使用して同じサービスを更新すると、意図しない上書きが発生する可能性があります。

Terraform でサービス定義の更新を自動化する

サービスカタログは、Terraform リソースとしてサービス定義を提供します。自動化されたパイプラインによるサービスカタログのサービスの作成と管理には、Datadog Provider v3.16.0 以降が必要です。

詳細については、Datadog Provider のドキュメントを参照してください。

オープンソースのメタデータプロバイダー

GitHub インテグレーションや Terraform の代わりに、オープンソースの GitHub Action ソリューションである Datadog サービスカタログメタデータプロバイダーを利用することができます。

この GitHub Action を使用すると、Datadog にこの情報を送信するタイミングを完全に制御しながら、GitHub Action を使用してサービスカタログにサービスを登録し、組織独自のその他のコンプライアンスチェックを実装することができます。

他の Datadog テレメトリーデータで報告されているサービスを発見する

インフラストラクチャーメトリクスなどの既存の Datadog テレメトリーから他のサービスを検出するには、ページ上部の Setup & Config タブに移動して、Import Entries タブをクリックしてください。DD_SERVICE タグを含む他の Datadog テレメトリーからサービスをインポートすることができます。

サービスカタログのセットアップと構成セクションのインポートエントリータブ

いくつかのエントリーをインポートすると、それらは Explore タブに表示されます。API を使うGitHub インテグレーションで所有者や連絡先などのメタデータを追加しないと、エントリーが失効してしまうことがあります。

インポートしたサービスをデフォルトの Explore ビューから削除するには、Clear Previously Imported Services をクリックします。これにより、メタデータを持たないサービスや、APM、ユニバーサルサービスモニタリング (USM)、リアルユーザーモニタリング (RUM) のテレメトリーを持たないサービスがすべて削除されます。

サービスカタログのセットアップと構成セクションで、以前にインポートしたサービスの削除を確認します

その他の参考資料