CloudWatch に送信されるカスタムテレメトリに関連情報を追加する方法
独自のメトリクスおよびログを CloudWatch に公開するとき、関連するテレメトリに必要なエンティティ情報はデフォルトで存在しません。CloudWatch または ログを CloudWatch Logs に送信するとき (PutMetricData または PutLogEvents 操作で)、それらのログまたはメトリクスにエンティティ情報を追加できます。エンティティ情報はテレメトリに関連付けられて [関連情報の探索] 機能で使用され、同じエンティティに関連付けられている関連するテレメトリを検索します。
テレメトリで送信されるエンティティは、テレメトリが関連付けられているリソースまたはサービスを表します。例えば、サービスに関するメトリクス、あるいは AWS リソースから取得されるメトリクスなど。コードに関連付けられたエンティティを識別するには、エンティティの KeyAttributes
とオプションの Attributes
のセットを作成します。
注記
CloudWatch は、過去 3 時間以内にテレメトリが送信されたエンティティの関連リソースのみを検索できます。リソースのテレメトリ発信頻度が低い (3 時間に 1 回未満) 場合、追加のハートビートテレメトリを送信し、CloudWatch 内でエンティティをアクティブにしておくことができます。
エンティティ情報を追加する方法については、「EMF 形式のエンティティ情報」を参照してください。
CloudWatch がテレメトリに関連付けられたリソースおよびサービスを識別できるように、次のセクションでは KeyAttributes
および Attributes
を作成する方法について説明します。
KeyAttributes オブジェクトを使用したエンティティの識別
エンティティオブジェクトの (CloudWatch 内 または CloudWatch ログ内) KeyAttributes
プロパティは、CloudWatch のエンティティを一意に識別します。これはキーと値のペアのリストです。同じ KeyAttributes
を持つエンティティは、同じエンティティとして見なされます。同じエンティティに関連付けられたテレメトリは関連性があると見なされ、[関連情報の探索] ペインで簡単に見つけることができます。
注記
CloudWatch API では、プロパティは KeyAttributes
と呼ばれます。CloudWatch Logs API では、プロパティは keyAttributes
と呼ばれます。ここでは、同じプロパティとして扱われます。
Entity
が表すことができるオブジェクトには、5 つのタイプがあります。
-
AWS::Resource – エンティティは、DynamoDB テーブルや Amazon EC2 インスタンスなどの AWS リソースを表します。
-
AWS::Service – エンティティは Amazon S3 などの AWS サービスを表します。例えば、特定の Amazon S3 リソースに関連付けられていない
ListBuckets
オペレーションを呼び出すときに使用される場合があります。 -
サービス – エンティティは、アカウントで実行されているワークロードを表します。例えば、管理するアプリケーションまたはサービスなどです。
-
リソース – エンティティは、AWS によって管理されていないリソースを表します (例えば、プロセスやファイルボリュームなどのオペレーティングシステムリソースなど)。
-
RemoteService – エンティティは、リモート呼び出しの外部サービスを表します。例えば、データベース、外部キャッシュ、外部エンドポイントへのリモート呼び出しなど。
上記のタイプのうち、表しているタイプによっては、KeyAttributes
に正しいキーと値のペアを指定する必要があります。次の内容は、各タイプについて説明します。
属性オブジェクトの使用によるエンティティに関する追加の詳細の提供
テレメトリで提供する Entity
に関する追加の詳細を指定できます。プラットフォーム、リソース、アプリケーション、テレメトリプロバイダの詳細を含めることができます。次の表には、これらの各タイプのデータに使用できるキーワードが示されています。
注記
CloudWatch API では、プロパティは Attributes
と呼ばれます。CloudWatch Logs API では、プロパティは attributes
と呼ばれます。ここでは、同じプロパティとして扱われます。
プラットフォームの詳細
キーワード | 使用方法 | 値のドメイン | 例 |
---|---|---|---|
|
ホストされたプラットフォームを定義します。 |
AWS::EKS、AWS::ECS、AWS::EC2、AWS::Lambda、K8s、Generic |
|
|
Amazon EKS クラスターの名前。 |
基本的な区切り文字を含む英数字の文字列。 |
|
|
セルフホスト型 Kubernetes クラスターの名前。 |
基本的な区切り文字を含む英数字の文字列。 |
|
|
Amazon EKS または K8s クラスターの Kubernetes 名前空間の名前。 |
基本的な区切り文字を含む英数字の文字列。 |
|
|
Amazon EKS および K8s クラスターの Kubernetes ワークロードの名前。 |
基本的な区切り文字を含む英数字の文字列。 |
|
|
Amazon EKS および K8s クラスターの Kubernetes ノードの ID。 |
K8s ノード名 (例えば、Amazon EC2 インスタンスの DNS 名など)。 |
|
|
Amazon EKS および K8s クラスターの Kubernetes ポッドの ID。 |
K8s ポッド識別子。 |
|
|
Amazon EC2 AutoScaling グループの名前。 |
基本的な区切り文字を含む英数字の文字列。 |
|
|
Amazon EC2 インスタンスの ID。 |
Amazon EC2 インスタンス識別子。 |
|
|
Amazon ECS クラスターの ID。 |
Amazon ECS クラスター名。 |
|
|
Amazon ECS サービスの ID。 |
Amazon ECS サービス名。 |
|
|
Amazon ECS タスクの ID。 |
Amazon ECS タスク ID。 |
|
|
Lambda 関数の ID。 |
Lambda 関数の名前。 |
|
|
すべてのプラットフォームタイプにおけるホストの名前。 |
サブドメイン形式。 |
|
リソースの詳細
キーワード | 使用方法 | 値のドメイン | 例 |
---|---|---|---|
|
AWS リソースの ARN。 |
基本的な区切り文字を含む英数字の文字列。 |
|
アプリケーションの詳細
キーワード | 使用方法 | 値のドメイン | 例 |
---|---|---|---|
|
AppRegistry のアプリケーションの名前。 |
基本的な区切り文字を含む英数字の文字列。 |
|
|
AppRegistry のアプリケーションの ARN。 |
基本的な区切り文字を含む英数字の文字列。 |
|
テレメトリプロバイダーの詳細
キーワード | 使用方法 | 値のドメイン | 例 |
---|---|---|---|
|
計測されたサービスの OTEL SDK バージョンのフィンガープリント。 |
基本的な区切り文字を含む英数字の文字列。 |
|
|
テレメトリデータの収集および送信に使用されるエージェントのフィンガープリント。 |
基本的な区切り文字を含む英数字の文字列。 |
|
|
テレメトリが収集されたアプリケーションポイント、あるいはテレメトリデータのソースに使用されたものを指定します。 |
ServerSpan、ClientSpan、ProducerSpan、ConsumerSpan、LocalRoot Span、JMX、OS。 |
|