CloudWatch の [関連情報の探索] ペインには、相互に関連するメトリクスやログが表示されますが、その仕組みは?
CloudWatch に送信されるメトリクスおよびログには、関連するオプションのエンティティを含めることができます。通常、エンティティはテレメトリの内容を表します。例えば、CPU 使用率に関するメトリクスは Amazon EC2 インスタンスに関するものであり、そのインスタンスを独自のエンティティとして使用します。[関連情報の探索] ペインでそのメトリクスを表示すると、同じインスタンスのその他のテレメトリが表示されます。
[関連情報の探索] ペインのトポロジーマップ (マップ) には、現在選択されているリソースおよび関連するリソースが表示されます。AWS リソースの場合、CloudWatch は関連があると検知しているその他のリソースを自動的に表示します。例えば、Amazon EC2 インスタンスを表示している場合、マップにはインスタンスにアタッチされている Amazon EBS ボリュームも表示されます。ボリュームを選択するとボリュームのテレメトリが表示され、マップが更新されてボリュームに関連するリソースが表示されます。同じサービスの一部であるリソースも表示されます。
テレメトリに関連付けられたエンティティ情報は、Amazon EC2 インスタンスなど、テレメトリが関連付けられているリソースを定義します。ただし、リソースに関するコンテキストデータが含まれることもあります。例えば、Amazon EC2 インスタンスやデータベースなどのリソースを含むウェブサイトアプリケーションがある場合、エンティティ情報にウェブサイトアプリケーションをサービスとして含めることができます。この場合、トポロジーマップにはサービスが関連エンティティとして表示され、選択するとインスタンスおよびデータベースが表示されます。これにより、サービスのすべてのテレメトリを簡単に検索できます。
注記
関連するリソースおよびテレメトリを見つけるには、CloudWatch は過去 3 時間以内にエンティティ情報を含むテレメトリを受信している必要があります。
エンティティデータの提供元はどこですか?
CloudWatch がテレメトリ用のエンティティを取得するため、さまざまな方法があります。
-
AWS サービスから CloudWatch に送信されるほとんどのテレメトリは、リソースに自動的に関連付けられます。サポートされているリソースの完全なリストについては、「関連するテレメトリをサポートする AWS サービス」を参照してください。
-
CloudWatch エージェントは、テレメトリが CloudWatch に送信するエンティティ情報を自動的にテレメトリに追加します。
注記
エンティティデータを含めるには、CloudWatch エージェントを最新バージョンに更新する必要がある場合があります。詳細については、「CloudWatch エージェントを使用してメトリクス、ログ、トレースを収集する」および「関連エンティティの CloudWatch エージェントサービスと環境名の設定」を参照してください。
-
独自のテレメトリを送信するとき、データにエンティティ情報を追加できます。詳細については、「CloudWatch に送信されるカスタムテレメトリに関連情報を追加する方法」を参照してください。
-
CloudWatch は、その他のテレメトリに関連付けられたエンティティ情報 (例えば、エンティティ情報なしで CloudWatch に送信するカスタムテレメトリなど) を認識するために最善を尽くします。
サービスデータの提供元はどこですか?
インスタンスリソースやアタッチされたボリュームリソースなど、リソース間の自然な接続を認識するだけではなく、CloudWatch はサービスごとにリソースをグループ化することもできます。例えば、サービスはウェブサイトアプリケーションである場合があります。ウェブサーバーを持つ Amazon EC2 インスタンス、ならびにデータベースを持つ別の Amazon EC2 インスタンスは、両方とも同じサービスの一部であり、そのサービスに基づいてトポロジーマップに接続されている可能性があります。
CloudWatch がテレメトリのサービス名を取得する方法はさまざまであり、次のものが含まれます。
-
アプリケーションシグナルまたはオテル計測テレメトリは、サポートされている OpenTelemetry 計測ライブラリで使用される
OTEL_SERVICE_NAME
環境変数を使用し、サービス名を設定します。 -
CloudWatch エージェント設定では、サービス名を設定できます。詳細については、「関連エンティティの CloudWatch エージェントサービスと環境名の設定」を参照してください。
-
Kubernetes ワークロードでは、Deployment、ReplicaSet、Pod、Container など、サービス名としてクラスターに対応する名前を使用します。
-
Amazon EC2 ワークロードの場合、サービスはタグ (
service
、application
、app
タグ) から取得できます。注記
タグを使用してサービス名を生成するには、まず Amazon EC2 インスタンスのインスタンスメタデータを設定する必要があります。
-
独自のテレメトリを送信するとき、データにサービス情報を追加できます。詳細については、「CloudWatch に送信されるカスタムテレメトリに関連情報を追加する方法」を参照してください。
-
上記のものを使用できないとき、CloudWatch はメトリクスをサービス名として送信する IAM ロールの名前を使用します。例えば、Amazon ECS テレメトリのサービス名を指定できます。