• EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

問題を作成する

Docker コンテナーのコレクター

OpenTelemetry コレクターを使用して、Docker コンテナーに関するメトリクスを収集できます。コレクターは、テレメトリ データを収集、処理し、New Relic (または任意の可観測性バックエンド) にエクスポートする OpenTelemetry のコンポーネントです。

この メトリクス データを 事前に構築されたダッシュボードで表示したり、アラート ポリシーを作成したり、カスタム クエリやグラフを作成したりできます。

ヒント

他のコレクターのユースケースに関するヘルプを探している場合は、 newrelic-opentelemetry-examplesリポジトリを参照してください。

Docker コンテナからメトリクスを収集するには、以下の手順を実行します。

ステップ 1: 無料アカウントにサインアップします (まだサインアップしていない場合)。

ステップ 2: 前提条件

コレクターは dockerstats レシーバー コンポーネント (推奨最小バージョン v0.81.0) を使用し、エンドポイント経由で docker デーモンにアクセスする必要があります。

  • デフォルトでは、 unix:///var/run/docker.sock エンドポイントが使用されます。したがって、コレクターは、Docker ソケットを読み取ることができるユーザーで実行する必要があります。

ステップ 3: Opentelemetry コレクターをインストールする

Opentelemetry docsに従って、Opentelemetry コレクターをダウンロードしてインストールします。

OpenTelemetry Collector Contrib Distro または少なくとも次のコンポーネントを含むその他のディストリビューションをインストールする必要があります。

ステップ 4: Opentelemetry コレクターを構成する

以下の例から、 config.yaml という名前の新しいファイルを更新または作成します。

ファイル内の NEW_RELIC_LICENSE_KEY を独自の値に置き換えます。詳細については、 「New Relic ライセンス キー」を参照してください。

receivers:
docker_stats:
metrics:
container.cpu.usage.total:
enabled: true
container.cpu.throttling_data.periods:
enabled: true
container.cpu.throttling_data.throttled_periods:
enabled: true
# `container.cpu.percent` is deprecated in favor of `container.cpu.utilization` in opentelemetry-collector-contrib v0.79.0
container.cpu.utilization:
enabled: true
container.cpu.percent:
enabled: false
container.memory.usage.limit:
enabled: true
container.memory.usage.total:
enabled: true
container.memory.percent:
enabled: true
container.blockio.io_service_bytes_recursive:
enabled: true
container.network.io.usage.rx_bytes:
enabled: true
container.network.io.usage.tx_bytes:
enabled: true
container.network.io.usage.rx_dropped:
enabled: true
container.network.io.usage.tx_dropped:
enabled: true
container.network.io.usage.rx_errors:
enabled: true
container.network.io.usage.tx_errors:
enabled: true
container.network.io.usage.rx_packets:
enabled: true
container.network.io.usage.tx_packets:
enabled: true
container.pids.count:
enabled: true
processors:
# resource and resource-detection processors allow decorating the metrics with host attributes
resource:
attributes:
- key: host.id
from_attribute: host.name
action: insert
resourcedetection:
detectors: ["env", "system"]
resourcedetection/cloud:
detectors: ["gcp", "ec2", "azure"]
timeout: 2s
override: false
exporters:
otlphttp:
endpoint: https://otlp.nr-data.net
headers:
api-key: NEW_RELIC_LICENSE_KEY
service:
telemetry:
logs:
pipelines:
metrics:
receivers: [docker_stats]
processors:
- resourcedetection
- resourcedetection/cloud
- resource
exporters: [otlphttp]

その他の構成オプションについては、以下を参照してください。

ステップ 4: コレクターを実行する

Opentelemetry コレクターを実行します (実行方法は、選択したインストール方法によって異なる場合があります)。例:

/usr/bin/otelcol-contrib --config ./config.yaml

ステップ 5: データを見つけて使用する

インフラストラクチャ UI でコンテナ データを参照する

Docker レシーバーの推奨構成を使用すると、新しい インフラストラクチャ UI (新しいホスト UI) エクスペリエンスでホスト上で実行されている コンテナー を探索できます。

エンティティ主導のエクスペリエンスを活用する

Open Telemetry Docker レシーバーから発信されるコンテナーのテレメトリ データにより、コンテナー エンティティが生成されます。エンティティとは 、New Relic にデータを報告するものであり、一意のエンティティ ID によって識別されます。

監視対象のエンティティは、Entity Explorer、Workloads、Lookout などの機能のドライバーです。これらのエクスペリエンスからメリットを得る方法の詳細については、この ドキュメントを 確認してください。

データの探索とクエリを実行する

メトリクス エクスプローラーを 使用して、取り込まれているメトリクスを確認できます。docker stats レシーバーによって報告されるすべてのメトリクスは、 "container." プレフィックスで始まります。

次の NRQL クエリは、受信したメトリクスをクエリするのに役立つ例を示しています。

  • 取り込まれたメトリック更新の数をメトリック名ごとにリストします。

    SELECT count(*) FROM Metric WHERE metricName LIKE 'container.%' and instrumentation.provider='opentelemetry' facet metricName LIMIT max
  • ホストごとにファセット化された特定のメトリクスをクエリします。

    SELECT average(container.cpu.percent) FROM Metric WHERE instrumentation.provider='opentelemetry' FACET host.name TIMESERIES
  • 特定のメトリクスで利用可能なディメンションをリストします。

    SELECT keyset() FROM Metric WHERE metricName = 'container.cpu.percent'

クイックスタートをインストールする

Docker Open Telemetry クイックスタート に含まれる Docker ダッシュボードを利用すると、事前定義されたグラフとフィルターにより Docker インフラストラクチャを簡単に監視できます。

メトリックデータ

サポートされているすべてのメトリックのリストについては、 dockerstats レシーバー メトリック リファレンスを参照してください。

Copyright © 2024 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.