このページでは、サービスカタログを利用する際のベストプラクティスについて説明します。

インフラストラクチャーテレメトリーの関連付け

service タグは、サービスカタログエントリのプライマリキーです。また、統合サービス タグ付けを利用した Datadog テレメトリーの最小の共通分析単位でもあります。Kubernetes ポッドラベルservice タグを直接設定します。tags.datadoghq.com/service ラベルに service タグを設定することで、メトリクスやログなどのすべてのポッドテレメトリーが Datadog でサービスタグを受け取るようになります。これが推奨される Kubernetes サービスラベルです。

それに比べ、Kubernetes のサービスにラベルを設定した場合、影響を受けるのはメトリクスのタグ付けのみで、他のテレメトリーには影響しません。ログとトレースに正しくタグ付けを行うためには、追加のコンテナラベルの適用が不可欠であるため、この方法は推奨されません。

メタデータスキーマ v2.1+ における application フィールドの使用

マイクロサービスの場合、サービスは通常、Kubernetes デプロイメントと一致します。これは、所有権やその他のメタデータが明確に定義された、自己完結型の機能単位だからです。したがって、マイクロサービス内のその他のコンポーネントは、インスツルメンテーションプロセス の間に自動的に命名される可能性があります。自動的に検出されたすべてのコンポーネントに application フィールドを追加し、コアサービスと一緒にグループ化してください。

モノリシックサービスの場合、サービスを複数定義すると便利な可能性があります。最低限、モノリス全体を表すサービスを選択する必要があります。そして、ドキュメントやソースコードなどの関連するメタデータと、ポッドメトリクスなどの関連するテレメトリを関連付けます。モノリス内の他の機能単位に独立した所有権属性 (運用マニュアルやドキュメントなど) がある場合、それらを表す追加のサービスを定義することが有益な場合があります。モノリスとその中の他のユニットとの間で階層が明確に定義されている場合、メタデータスキーマ v2.1+application フィールドを使用することが推奨されます。モノリス自体のサービス名として application の値を設定し、モノリスに属するすべてのサブサービスにこの application フィールドを追加します。

参考資料

お役に立つドキュメント、リンクや記事: