ガイド付きインストール プロセスを使用して SNMP 監視エージェントをインストールすることも、エージェントを手動でインストールすることもできます。このドキュメントでは、このインストール プロセスを開始するための前提条件と、インストール オプションの段階的な説明について説明します。
前提条件
始める前に、 New Relic アカウントにサインアップする必要があります。エージェントを手動でインストールすることを選択した場合は、以下も必要です。
NewRelicアカウントID 。
新しいレリック
.
SNMP 監視用のエージェントをデプロイするには、Docker コンテナを使用することをお勧めします。これを使用するには、次のものが必要です。
- Linux ホストにインストールされたDocker
- コマンドライン経由で新しいコンテナを起動する機能
Linux を使用してエージェントをサービスとしてインストールする場合は、次のものが必要です。
ホストへの SSH アクセス
アプリケーションとサービスをインストール/削除するためのアクセス
サポートされているオペレーティング システムは次のいずれかです。
- CentOS 7
- CentOS 8
- Debian 12 (本の虫)
- Debian 11 (ブルズアイ)
- Debian 10 (バスター)
- レッドハットエンタープライズリナックス9
- Ubuntu 20.04 (フォーカル LTS)
- Ubuntu 22.04 (ジャミー LTS)
- Ubuntu 23.04 (月版)
重要
SNMP トラップを受信するには、エージェントは UDP 162 にバインドする必要があります。ホストベースのインストールでは、インストール プロセス中に次のコマンドが含まれます。実行すると、KTranslate は昇格された特権で実行されます。
sudo setcap cap_net_bind_service=+ep /usr/bin/ktranslate
SNMP のネットワーク セキュリティの前提条件を確認します。
サポートされているSNMPバージョン
当社のネットワーク監視コンテナは、Traps と Informs の両方を含む、SNMP のすべてのメジャー バージョン (v1、v2c、および v3) をサポートしています。さらに、SNMP v3 は次の認証およびプライバシー設定をサポートしています。
設定 | プロトコル |
---|---|
認証 |
|
認証 |
|
認証 |
|
認証 |
|
認証 |
|
認証 |
|
認証 |
|
プライバシー |
|
プライバシー |
|
プライバシー |
|
プライバシー |
|
プライバシー |
|
プライバシー |
|
プライバシー |
|
ヒント
SNMPで読み取り専用のコミュニティ文字列/認証を使用することをお勧めします。
NewRelicでSNMPデータ監視を設定する
次のボタンをクリックして、ガイド付きインストールを開始します。
ガイド付きインストール プロセスで説明されている手順に従います。Docker または Linux を使用できます。
one.newrelic.com > All capabilities> Add more data > Network > SNMPを選択して、SNMP データ監視を設定します。
New Relic でネットワーク パフォーマンス データを調査する UI。
SNMP エージェントの手動インストールについて読む前に、エラーを避けるためにガイド付きインストール プロセスの使用を検討してください。
この手動インストール プロセスに従った場合、問題が発生した場合にサポートが対応できない可能性があります。それでも続行したい場合は、次の手順を実行します。
snmp-base.yaml
ファイルをDockerユーザーのローカル$HOME
ディレクトリにコピーし、実行してコンテナを破棄します
$cd .$id=$(docker create kentik/ktranslate:v2)$docker cp $id:/etc/ktranslate/snmp-base.yaml .$docker rm -v $id
snmp-base.yaml
ファイルを編集し、 discovery.cidrs
}属性とdiscovery.default_communities
属性をネットワークに適した値に定義します。
ヒント
検出されたすべての MIB のglobal.mibs_enabled
属性への追加を自動化するには、 discovery.add_mibs: true
を設定することをお勧めします。さらに、セキュリティ体制が強化されているデバイスでの検出の問題を回避するために、 discovery.check_all_ips: true
を設定することをお勧めします。SNMP トラップを収集する場合は、デフォルト値のlistener: 127.0.0.1:1620
を次のように変更することをお勧めします。 listener: 0.0.0.0:1620
ネットワーク監視エージェントを起動して、ターゲット デバイスをポーリングし、受信 SNMP トラップ メッセージをリッスンします。$CONTAINER_SERVICE
をコンテナの一意の名前に置き換え、 $YOUR_NR_LICENSE_KEY
と$YOUR_NR_ACCOUNT_ID
を実際の値に置き換えます。
$docker run -d --name ktranslate-$CONTAINER_SERVICE --restart unless-stopped --pull=always -p 162:1620/udp \>-v `pwd`/snmp-base.yaml:/snmp-base.yaml \>-e NEW_RELIC_API_KEY=$YOUR_NR_LICENSE_KEY \>kentik/ktranslate:v2 \> -snmp /snmp-base.yaml \> -nr_account_id=$YOUR_NR_ACCOUNT_ID \> -metrics=jchf \> -tee_logs=true \> -service_name=$CONTAINER_SERVICE \> -snmp_discovery_on_start=true \> -snmp_discovery_min=180 \> nr1.snmp
New Relic でネットワーク パフォーマンス データを調査する UI。
SNMPトラップのオプションのインストール
状況によっては、SNMP トラップ メッセージのコレクションを専用のコンテナに分離することが有益です。これは、大規模環境でスケールを制御するだけでなく、コンテナーに障害が発生した場合に完全停止のリスクを低減する分散監視フットプリントを作成するのに役立ちます。
Docker がインストールされている Linux ホストで、任意のテキスト エディターを使用して、コンテナーの実行に使用する構成ファイルを作成します。
vimを使用した例:
$sudo vim traps-base.yaml
ファイルの内容:
devices: {}trap: listen: '0.0.0.0:1620'discovery: {}global: poll_time_sec: 300 timeout_ms: 30000
デフォルトでは、コンテナは New Relic のデバイス名としてソース IP アドレスを使用します。これは、構成ファイルでデバイスを手動でマッピングすることで制御できます。
devices: trap_source_host: # Note: this YAML key needs to be unique for every device entry device_name: $YOUR_DEVICE_NAME device_ip: $YOUR_DEVICE_SOURCE_IP provider: kentik-trap-devicetrap: listen: '0.0.0.0:1620'discovery: {}global: poll_time_sec: 300 timeout_ms: 30000
ヒント
実行時に-dns コンテナ引数を指定してデバイス名を制御することもできます。これにより、コンテナはソース IP アドレスの検索を実行し、名前解決を試行できるようになります。
ネットワーク監視エージェントを起動して、受信 SNMP トラップ メッセージをリッスンします。$CONTAINER_SERVICE
をコンテナの一意の名前に置き換え、 $YOUR_NR_LICENSE_KEY
と$YOUR_NR_ACCOUNT_ID
を実際の値に置き換えます。
$docker run -d --name ktranslate-$CONTAINER_SERVICE --restart unless-stopped --pull=always -p 162:1620/udp \> -v `pwd`/traps-base.yaml:/snmp-base.yaml \> -e NEW_RELIC_API_KEY=$YOUR_NR_LICENSE_KEY \>kentik/ktranslate:v2 \> -snmp /snmp-base.yaml \> -nr_account_id=$YOUR_NR_ACCOUNT_ID \> -metrics=jchf \> -tee_logs=true \> -service_name=$CONTAINER_SERVICE$ nr1.snmp
これにより、 $HOST_IP:162
で SNMP トラップ メッセージをリッスンするコンテナが起動します。ここで、 $HOST_IP
は Docker ホストの IP アドレスです。
KSnmpTrap
イベント タイプをクエリして、New Relic で結果を調査します。
FROM KSnmpTrap SELECT *
ヒント
SNMP トラップ メッセージはソース デバイスによって生成されるイベントであることを覚えておくことが重要です。New Relic にメッセージが表示されない場合は、デバイスが実際にメッセージを作成していることを確認してください。サンプル メッセージの送信に関するベンダーのドキュメントは異なりますが、Docker ホストでsnmptrap を使用して、次のようなテスト メッセージを送信できます。
$snmptrap -v 2c -c public localhost '' 1.3.6.1.4.1.8072.2.3.0.1 1.3.6.1.4.1.8072.2.3.2.1 i 123456
次のステップ
SNMP データを補完するために、さらに多くのエージェントをセットアップできます。
- ネットワークがどのように使用されているかをよりよく把握するには、ネットワーク フロー データの監視を設定します。
- デバイスからシステムメッセージを洞察するには、 ネットワークsyslogコレクションを設定します。