• ログイン今すぐ開始

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

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

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

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

ステップ1:前提条件

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

手順2:OpenTelemetryコレクターをインストールする

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

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

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

重要

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

手順3:ホストレシーバーを使用してホスト監視を構成する

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

collector-contribリリースは、さまざまなソースから取得されたシステムに関するメトリックを生成するhostreceiverを提供します。 hostreceiverを使用する場合は、コレクターをエージェントとしてデプロイします。

コレクター構成の一部としてホストレシーバーを使用する場合、New RelicはHostエンティティの一部としてホストメトリックを自動的に検出し、そのゴールデンメトリックを合成して、NewRelicインフラストラクチャエージェントと同じエクスペリエンスを提供します。 NewRelicUIでHostエンティティエクスペリエンスを有効にするための構成要件は次のとおりです。

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

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

次の推奨パラメータを使用してconfig.yamlを調整します。

重要

CPU、負荷、メモリ、およびディスク使用率のメトリックには、otelcol-contribリリースv0.47.0以降が必要です。

構成

説明

receivers::hostmetrics

ホストメトリックを有効にします。

  • 20秒間隔をお勧めします(インフラストラクチャエージェントと同じデフォルト)。
  • 「ホストが応答しない」アラートの問題を回避するために、60秒を超えないようにする必要があります。
  • プロセス計装はオプションです。

processors::resourcedetection

次の点に注意してください。

  • envOTEL_RESOURCE_ATTRIBUTES環境変数からリソース情報を読み取ります。

  • systemhost.nameos.typeを追加します。

  • クラウド環境の場合、メトリックがhost.idで装飾されるように特定のリソース検出プロセッサを構成します(New Relicでホストエンティティを識別するために必要)。一般的なクラウド検出器は、GCPマシンの場合はgce 、AWS EC2の場合はec2 、AzureVMの場合はazureです。オーケストレーションされた環境では、追加のプロセッサーを使用できます。

  • オンプレミスシステム(またはサポートされていないクラウド環境)の場合、 host.id属性が必要です。 resourceプロセッサを使用して、( systemからの) host.name値を新しいhost.id属性としてコピーします。この値は、インストルメントされたすべてのホストで一意である必要があることに注意してください。

    resource:
    attributes:
    - key: host.id
    from_attribute: host.name
    action: upsert

processors::batch

バッチプロセッサは、スパン、メトリック、またはログを受け入れ、それらをバッチに配置します。バッチ処理は、データをより適切に圧縮し、データの送信に必要な発信接続の数を減らすのに役立ちます。このプロセッサは、サイズベースと時間ベースの両方のバッチ処理をサポートします。

processors::memory_limiter

メモリリミッタプロセッサは、コレクタのメモリ不足の状況を防ぐために使用されます。

チェックを実施することは重要です。理由は次のとおりです。

  • コレクターが処理するデータの量とタイプは、その環境に固有です。
  • コレクターのリソース使用率は、構成されたプロセッサーによって異なります。

processors::cumulative_delta

累積デルタプロセッサは、累積合計メトリックを累積デルタに変換します。これにより、NewRelicでシステムメトリックレートをより簡単に照会できます。

service::pipelines::metrics

hostreceiverresourcedetectionが含まれていることを確認してください。

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

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:
processors:
memory_limiter:
check_interval: 1s
limit_mib: 1000
spike_limit_mib: 200
batch:
cumulativetodelta:
include:
metrics:
- system.network.io
- system.disk.operations
- system.network.dropped
- system.network.packets
- process.cpu.time
match_type: strict
resource:
attributes:
- key: host.id
from_attribute: host.name
action: upsert
resourcedetection:
detectors: [env, system]
exporters:
otlp:
endpoint: OTLP_ENDPOINT_HERE
headers:
api-key: YOUR_KEY_HERE
service:
pipelines:
metrics:
receivers: [hostmetrics]
processors: [batch, resourcedetection, resource, cumulativetodelta]
exporters: [otlp]
extensions: [health_check]

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

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

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

ホストレシーバーの推奨構成を使用することで、インフラストラクチャUI (新しいホストUI)エクスペリエンスの標準機能を介してデータを表示できます。

ホストメトリックのクエリ

メトリックがNewRelicに正常に取り込まれると、データエクスプローラークエリビルダーで使用できるようになります。

次の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'

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

次は何ですか?

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

Copyright © 2022 New Relic株式会社。

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