New Relic Network Performance MonitorでのICMP監視設定(snmp-base.yaml)ガイド
概要:New Relic Network Performance Monitorとは
New Relic Network Performance Monitor(NPM)は、アプリケーションやインフラストラクチャだけでなく、ネットワークレイヤのパフォーマンスも可視化し、システム全体の健全性や問題箇所の特定を支援するSaaS型の監視サービスです。SNMPやICMP、ネットワークフロー、Syslogなど多様なデータを一元的に収集・分析でき、ネットワークがシステムのボトルネックとなっているかどうかを迅速に判断できます。
SNMP監視とICMP監視
New RelicではSNMP監視とICMP監視が同じ機能のサブセットとして動作します。この記事ではSNMP監視ではなくICMP監視にフォーカスした内容を記載していますが、そもそものSNMP監視とICMP監視についての違いについてをまとめてみました。
SNMP監視
- SNMP(Simple Network Management Protocol)は、ネットワーク機器の詳細なパフォーマンス情報(インターフェースごとのトラフィック量、CPU/メモリ使用率など)を取得できます。
- SNMPv1/v2cはコミュニティストリングによる認証、SNMPv3はよりセキュアな認証・暗号化に対応しています。
- SNMP監視には機器側でSNMPエージェントの有効化と適切なMIBプロファイルの設定が必要です。
ICMP監視
- ICMP(Internet Control Message Protocol)は、主に「ping」によるラウンドトリップタイム(RTT)やパケットロスなど、シンプルな到達性・応答速度の監視に使います。
- SNMPのような詳細なメトリクスは取得できませんが、ICMPのみで監視したい場合やSNMPが無効な機器にも利用できます。
- ICMP監視は
snmp-base.yaml
でping_only: true
を指定することで有効化できます。
注意点
-
ping_only: true
の場合、SNMPによる監視は行われず、ICMPによるRTT・パケットロスのみが収集されます。 - SNMPとICMPの両方を有効にしたい場合は、
response_time: true
を利用します(この場合はSNMP監視+ICMP応答時間も取得)。
ICMP監視用snmp-base.yamlの設定
必要なパラメータと意味(表)
パラメータ名 | 必須 | 意味・用途 |
---|---|---|
device_name | ○ | デバイスの識別名 |
device_ip | ○ | 監視対象デバイスのIPアドレス |
provider | ○ | New Relic上のエンティティ種別(例: kentik-ping) |
ping_only | ○ | ICMP監視のみを有効化(trueでSNMP無効) |
user_tags | 任意 | 任意のタグ情報(例: チーム名や用途など) |
※SNMP関連(snmp_comm, oid, mib_profile等)はICMP監視のみの場合は不要。
サンプル:ICMP監視専用snmp-base.yaml
devices:
ping_only_192.168.0.1:
device_name: sample_device
device_ip: 192.168.0.1
provider: kentik-ping
ping_only: true
user_tags:
owning_team: net_ops
environment: production
global:
poll_time_sec: 60
response_time: true
mibs_enabled:
timeout_ms: 3000
retries: 0
この設定例では、192.0.2.100
に対しICMP pingを実施し、RTTやパケットロスを監視します。
Dockerコンテナの起動方法
ICMP監視を行う場合も、Kentik社のktranslate
コンテナを利用します。snmp-base.yaml
をマウントし、必要な環境変数を指定して起動します。
docker run -d --name ktranslate-ping \
--restart unless-stopped \
--pull=always \
-v `pwd`/snmp-base.yaml:/snmp-base.yaml \
-e NEW_RELIC_API_KEY=<NewRelicのLICENSE_KEY> \
kentik/ktranslate:v2 \
-snmp /snmp-base.yaml \
-nr_account_id=<NewRelicアカウントID> \
-metrics=jchf \
-tee_logs=true \
-service_name=ktranslate-ping \
nr1.snmp
SNMP関連の環境変数やオプションはICMP監視のみの場合は不要です。
まとめ
- New Relic NPMはネットワークの可視化・監視を強力にサポートし、ICMP監視を使えばSNMP非対応機器や到達性だけを監視したいケースにも柔軟に対応できます。
-
snmp-base.yaml
でping_only: true
を設定し、必要なパラメータのみ記載すればシンプルにICMP監視が実現できます。 - Dockerコンテナによる導入も容易で、既存の監視基盤に追加しやすいのも大きなメリットです。
おまけ
ICMP監視設定用のsnmp-base.yamlファイルを簡単に作成するためのツールを作成してみました。よかったら使ってみてください。
※当ツールは個人開発の位置づけで作成したものになるため、動作保証は一切行いません。