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
リリースには以下が含まれます。
- さまざまなソースから収集されたシステムに関するメトリクスを生成する
hostreceiver
。hostreceiver
を使用する場合は、コレクターをエージェントとしてデプロイします。 - ファイルからログを追跡して解析する
filelogreceiver
。
コレクター構成の一部としてホストレシーバーを使用する場合、New RelicはHost
エンティティの一部としてホストメトリックを自動的に検出し、そのゴールデンメトリックを合成して、NewRelicインフラストラクチャエージェントと同じエクスペリエンスを提供します。 NewRelicUIでHost
エンティティエクスペリエンスを有効にするための構成要件は次のとおりです。
host.id
属性はホストメトリックに存在します。service.name
およびcontainer.id
属性はホストメトリックに存在しません。
利用可能なメトリックと高度な構成の詳細については、GitHubのOpenTelemetryドキュメントをご覧ください。
Linux ホストのサンプル構成 YAML ファイルを次に示します。必ず次のことを行ってください。
OTLP_ENDPOINT_HERE
適切な エンドポイントに置き換えます。YOUR_KEY_HERE
をあなたの.
要件に基づいて、ファイルログ レシーバー セクションのターゲット ログ ファイルを調整します。
環境要件に基づいて、
memory_limiter
のデフォルト値を調整します。
extensions: health_check:
receivers: hostmetrics: 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 network: paging: metrics: system.paging.utilization: enabled: true processes: process: metrics: process.cpu.utilization: enabled: true process.cpu.time: enabled: false
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
exporters: otlp: endpoint: OTLP_ENDPOINT_HERE headers: api-key: YOUR_KEY_HERE
service: pipelines: metrics: receivers: [hostmetrics] processors: [memory_limiter, resourcedetection, resourcedetection/cloud, batch] exporters: [logging, otlp] traces: receivers: [otlp] processors: [memory_limiter, transform/truncate, resourcedetection, resourcedetection/cloud, batch] exporters: [logging, otlp] logs: receivers: [otlp, filelog] processors: [memory_limiter, transform/truncate, resourcedetection, resourcedetection/cloud, batch] exporters: [logging, otlp]
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の使用を改善するためのヒントについてベストプラクティスガイドを確認してください。