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

この機械翻訳は参考用に提供されます。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページ を参照してください。

問題を作成する

ホスト監視用のコレクター

OpenTelemetry を使用してインフラストラクチャ ホストからメトリクスとログを収集し、New Relic エージェントで利用できるのと同じインフラストラクチャ エクスペリエンスを活用できます。ホスト テレメトリを収集して報告するには、OTel コレクタに特定の受信機とプロセッサが必要です。

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

ステップ1:前提条件

先に進む前に、以下を完了していることを確認してください。

  • まだ行っていない場合は、無料のNewRelicアカウントにサインアップしてください。

  • データのレポート先となる New Relic アカウントの

    を取得します。

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

クラウドまたはオンプレミスの単一ホストの基本的なインストールを行うには、コミュニティからの最新のインストール手順に関するOpenTelemetryの手順を参照してください。手順は次のとおりです。

  • Linux:Debianシステム
  • Linux:Red Hat
  • ウィンドウズ
  • Docker、Kubernetes、およびその他のオプション

展開エクスペリエンスは、使用するベンダー固有のディストリビューションによって異なる場合があります。たとえば、パッケージマネージャーを介したインストールがLinuxホストで利用できる場合があります。

重要

インフラストラクチャのモニタリングを設定するには、 collector-contrib リリースに含まれるコンポーネントをインストールして構成する必要があります。たとえば、ホスト レシーバーは、CPU、メモリ、ディスク、ネットワーク統計などの基本的なホスト メトリックを収集する必要があり、 OpenTelemetry Collector-contrib リリースでのみ使用できます。

ステップ 3: ホストのメトリックとログを構成する

このコレクターの例は、構成を実稼働環境で使用する前に、構成を拡張、カスタマイズ、および検証するための開始点として機能することを目的としています。

collector-contrib リリースには以下が含まれます。

  • さまざまなソースから取得したシステムに関するメトリクスを生成するhostmetricsレシーバー。hostmetricsレシーバーを使用する場合は、コレクターをエージェントとしてデプロイします。
  • ファイルからログを追跡して解析するfilelogレシーバー。

コレクター構成の一部としてhostmetricsレシーバーを使用する場合、New Relic はホストメトリクスをHostエンティティの一部として検出します。これは、New Relic インフラストラクチャ エージェントと同じエクスペリエンスが得られることを意味します。これを機能させるには、次の構成要件を満たす必要があります。

  • host.id 属性はホストメトリックに存在します。
  • service.name およびcontainer.id属性はホストメトリックに存在しません。

利用可能なメトリックと高度な構成の詳細については、GitHubのOpenTelemetryドキュメントをご覧ください。

Linux ホストのサンプル構成 YAML ファイルを次に示します。必ず次のことを行ってください。

  • $NEW_RELIC_OTLP_ENDPOINT環境変数を適切なエンドポイントに設定します。

  • $NEW_RELIC_API_KEY環境変数を

    に設定します。

  • 要件に基づいて、ファイルログ レシーバー セクションのターゲット ログ ファイルを調整します。

  • 環境要件に基づいて、 memory_limiter のデフォルト値を調整します。

  • いくつかの設定はローカルのデモンストレーションには役立ちますが、実稼働環境での展開にはおそらく必要ありません。 これらのセクションと説明コメントを確認し、必要に応じて削除します。

実際のコード例については、 OpenTelemetryコレクターを使用したホスト監視のセットアップ」を参照してください。

extensions:
health_check:
receivers:
otlp:
protocols:
grpc:
http:
hostmetrics:
# Mount the host file system when running in docker so we can monitor the host system,
# not the docker container. For more info see:
# https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/hostmetricsreceiver#collecting-host-metrics-from-inside-a-container-linux-only
# Delete for production deployments.
root_path: ${HOST_METRICS_ROOT_PATH}
collection_interval: 20s
scrapers:
cpu:
metrics:
system.cpu.utilization:
enabled: true
load:
memory:
metrics:
system.memory.utilization:
enabled: true
disk:
filesystem:
metrics:
system.filesystem.utilization:
enabled: true
# Reading /containers/services causes error running in docker.
# Delete for production deployments.
exclude_mount_points:
mount_points: ["/containers/services"]
match_type: strict
network:
paging:
metrics:
system.paging.utilization:
enabled: true
processes:
process:
metrics:
process.cpu.utilization:
enabled: true
process.cpu.time:
enabled: false
# Mute various errors reading process metrics running locally in docker.
# Delete for production deployments.
mute_process_exe_error: true
mute_process_user_error: true
mute_process_io_error: true
filelog:
include:
- /var/log/alternatives.log
- /var/log/cloud-init.log
- /var/log/auth.log
- /var/log/dpkg.log
- /var/log/syslog
- /var/log/messages
- /var/log/secure
- /var/log/yum.log
processors:
transform/truncate:
trace_statements:
- context: span
statements:
- truncate_all(attributes, 4095)
- truncate_all(resource.attributes, 4095)
log_statements:
- context: log
statements:
- truncate_all(attributes, 4095)
- truncate_all(resource.attributes, 4095)
memory_limiter:
check_interval: 1s
limit_mib: 1000
spike_limit_mib: 200
batch:
resourcedetection:
detectors: ["env", "system"]
system:
hostname_sources: ["os"]
resource_attributes:
host.id:
enabled: true
resourcedetection/cloud:
detectors: ["gcp", "ec2", "azure"]
timeout: 2s
override: false
# host.id is required for NewRelic host entity synthesis and relationships, but is
# not included by any resourcedetection detector when running with docker on macOS.
# We include a fallback value for demonstration purposes.
# Delete for production deployments.
resource:
attributes:
- key: host.id
value: localhost
action: upsert
exporters:
otlphttp:
endpoint: $NEW_RELIC_OTLP_ENDPOINT
headers:
api-key: $NEW_RELIC_API_KEY
service:
pipelines:
metrics/hostmetrics:
receivers: [hostmetrics]
processors: [memory_limiter, resourcedetection, resourcedetection/cloud, resource, batch]
exporters: [otlphttp]
metrics:
receivers: [otlp]
processors: [memory_limiter, transform/truncate, resourcedetection, resourcedetection/cloud, resource, batch]
exporters: [otlphttp]
traces:
receivers: [otlp]
processors: [memory_limiter, transform/truncate, resourcedetection, resourcedetection/cloud, resource, batch]
exporters: [otlphttp]
logs:
receivers: [otlp, filelog]
processors: [memory_limiter, transform/truncate, resourcedetection, resourcedetection/cloud, resource, batch]
exporters: [otlphttp]
extensions: [health_check]

ステップ4:データを表示する

New Relic UIのさまざまな場所で、コレクターデータを表示できます。

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

コレクターで推奨構成を使用すると、 インフラストラクチャー UI エクスペリエンスの標準機能を通じてデータを表示できます。

ホストのメトリクスとログをクエリする

テレメトリが New Relic に正常に取り込まれると、 メトリクス、イベント 、および クエリ ビルダーで利用できるようになります。

次のNRQLクエリは、受け取ったメトリックを調査するのに役立つ例を示しています。

  • メトリック名によって取り込まれたメトリック更新のリスト数

    SELECT count(*) FROM Metric WHERE metricName LIKE 'system.%' FACET metricName LIMIT max
  • ホストが直面する特定のメトリックのクエリ

    SELECT average(system.disk.operations) FROM Metric FACET host.name TIMESERIES
  • 特定の指標で利用可能なディメンションの一覧表示

    SELECT keyset() FROM Metric WHERE metricName = 'system.disk.operations'
  • ホストごとのログ イベント数のクエリ

    SELECT count(*) FROM Log FACET host.name TIMESERIES

メトリックデータ型のクエリの詳細をご覧ください。

次は何ですか?

コレクターを設定したら、OpenTelemetryとNewRelicの使用を改善するためのヒントについてベストプラクティスガイドを確認してください。

Copyright © 2024 New Relic株式会社。

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