インフラストラクチャー一覧表示のホスト情報

この機能はプレビュー中です。フィードバックがある場合は、Datadog サポートまでご連絡ください。

概要

推奨される OpenTelemetry Collector の構成では、ホストメトリクスレシーバーとリソース検出プロセッサを使用してホストメタデータを収集し、Datadog Extension を介して Collector をレポートします。これらのホストは インフラストラクチャーリスト で表示できます。各ホストで Collector を agent として実行するようなほとんどのデプロイメントでは、ホスト情報は自動的に入力されるため、このページの手動構成に従う必要はありません。

このページで説明されている手動構成は、主に ゲートウェイデプロイメントを対象としています。これは、Datadog にエクスポートする Collector が、レポート対象のホストとは別に実行される構成です。このようなセットアップでは、正しいホストメタデータが Datadog に届くように、リソースに明示的にタグ付けします。各ホストで Collector を agent として実行している場合、ホストメタデータはデフォルトで収集されるため、この構成をスキップできます。

Resource フィールド を通じて、あらゆるシグナルの一部としてホストに関するシステム情報を OTLP で送信します。Datadog は、ゲートウェイデプロイメントを含むあらゆる デプロイメントパターン でこの情報をサポートしています。

Datadog は、OpenTelemetry セマンティック規約 を使用してホストに関するシステム情報を認識します。ホストメトリクスの設定 の手順に従って、必要なメトリクスとリソース属性を Datadog に送信します。あるいは、インフラストラクチャーに最適な方法でこの情報を手動で送信することもできます。

機能へのオプトイン

ゲートウェイデプロイメントの場合、またはホストメタデータに使用するリソースを手動で制御する場合は、ホストに関する情報を含むすべての OTLP ペイロードで datadog.host.use_as_metadata リソース属性を true に設定します。

リソースは、ホスト識別属性と datadog.host.use_as_metadata 属性が true に設定されている場合、インフラストラクチャーリスト情報に一覧表示されます。

メタデータに使用するリソースを明示的に宣言するには、関連するホスト情報を持つすべてのリソースにブール値リソース属性 datadog.host.use_as_metadata を追加します。

例えば、メトリクス、トレース、ログのすべてのリソースに対してこれを設定するには、以下の構成で変換プロセッサを使用します。

processors:
  transform:
    metric_statements:
      - context: resource
        statements:
          - set(attributes["datadog.host.use_as_metadata"], true)
    trace_statements:
      - context: resource
        statements:
          - set(attributes["datadog.host.use_as_metadata"], true)
    log_statements:
      - context: resource
        statements:
          - set(attributes["datadog.host.use_as_metadata"], true)

このプロセッサをすべてのパイプラインの processors リストに追加します。

すべてのリソースにホスト識別属性を明示的にタグ付けする必要があります。これは、ホストメトリクスの推奨セットアップによってデフォルトで行われます。

サポートされる規約

Datadog は、リソース属性レベルのセマンティック規約とシステムメトリクスレベルのセマンティック規約の両方をサポートしています。サポートされているリソース属性のセマンティック規約は、主に host. 名前空間 および os. 名前空間 の下にあります。サポートされているすべてのシステムメトリクスレベルのセマンティック規約は、system. 名前空間 の下にあります。

一般的なシステム規約

セマンティック規約タイプアプリ内フィールド
さまざまなホスト識別属性リソース属性ホスト名
os.descriptionリソース属性OS

CPU 規約

セマンティック規約タイプアプリ内フィールド
host.cpu.vendor.idリソース属性ベンダー ID
host.cpu.model.nameリソース属性モデル名
host.cpu.cache.l2.sizeリソース属性キャッシュサイズ
host.cpu.familyリソース属性ファミリー
host.cpu.model.idリソース属性モデル
host.cpu.steppingリソース属性ステッピング
system.cpu.logical.countシステムメトリクス論理プロセッサ
system.cpu.physical.countシステムメトリクスコア
system.cpu.frequencyシステムメトリクスMHz

ネットワーク規約

セマンティック規約タイプアプリ内フィールド
host.ipリソース属性IP アドレスおよび IPv6 アドレス
host.macリソース属性MAC アドレス

OpenTelemetry Collector でこれらの規約を収集する

OpenTelemetry Collector でこれらの規約を収集するには、ホストメトリクスの推奨設定をセットアップしてください。ホストメトリクスレシーバーは関連するすべてのメトリクスを収集し、リソース検出プロセッサは関連するすべてのリソース属性を収集します。

注: 監視対象のホストで実行されている Collector に、これらのプロセッサとレシーバーを追加する必要があります。ゲートウェイ ホストは、リモート ホストからこの情報を収集しません。

正規クラウド リソース ID

正規クラウド リソース ID (CCRID) は、クラウド リソースを一意に識別するためにクラウド プロバイダーが割り当てるリソース ID です。さまざまなオブザーバビリティ タイプ全体に CCRID を追加すると、それらを使用して、特定のクラウド リソースの異なるタイプのデータを一貫してリンクできます。すべてのクラウド リソース タイプで同じ形式の CCRID を追加できます。CCRID の広範な追加と採用により、顧客や社内チーム全体でさまざまなユース ケースを利用できるようになります。

CCRID を有効にすると、すべてのリソース タイプについて、リソースとその関連メトリクス、トレース、ログの間を移動できるようになり、コンテキストの切り替えが不要になり、同じワークフロー内でリソースのエンドツーエンドのビューが得られます。

この機能を使用するには、すべての OTLP ペイロードで datadog.ccrid リソース属性を CCRID の値に設定します。

クラウドごとの識別子形式のリストについては、以下を参照してください。

クラウド識別子のタイプ例
AWSARNarn:aws:ec2:us-east-1:123456789012:instance/i-abcdefghi
Azureリソース ID/subscriptions/12345678-1234-5678-1234-567891234567/resourcegroups/exampleResourceGroup/Microsoft.Compute/virtualMachines/exampleVM
GCPCAI リソース名//compute.googleapis.com/projects/example-project/locations/us-central1/instances/my-instance
OCIOCIDocid1.instance.oc1.eu-frankfurt-1.exampleuniqueid

CCRIDの構成方法:

  • AWS (EC2 Instance): arn:aws:ec2:{region}:{accountId}:instance/{instanceId}。 instanceIdを取得するには、このコマンドを使用します:
    ec2metadata --instance-id
    
  • Azure: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
  • GCP: //compute.googleapis.com/projects/{projectID}/zones/{zoneName}/instances/{instanceName}"
  • OCI/Oracle: CCRIDは、リクエストを送信することで取得できます: http://169.254.169.254/opc/v2/instance/id

例えば、メトリクス、トレース、ログのすべてのリソースに対してAWS CCRIDを設定するには、以下の構成でtransform processorを使用します。

processors:
  transform:
    metric_statements:
      - context: resource
        statements:
          - set(attributes["datadog.ccrid"], "arn:aws:ec2:us-east-1:123456789012:instance/i-abcdefghi")
    trace_statements:
      - context: resource
        statements:
          - set(attributes["datadog.ccrid"], "arn:aws:ec2:us-east-1:123456789012:instance/i-abcdefghi")
    log_statements:
      - context: resource
        statements:
          - set(attributes["datadog.ccrid"], "arn:aws:ec2:us-east-1:123456789012:instance/i-abcdefghi")

OpenTelemetryのセマンティック規約ではcloud.resource_id属性も定義されており、これは属性プロセッサを使用して構成内でマッピングできます。

例:

processors:
  attributes/example:
    actions:
      - key: datadog.ccrid
        from_attribute: cloud.resource_id
        action: upsert

参考資料

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