システムのレジリエンスを強化

New Relic のネットワーク監視では、SNMP データやネットワークフローデータ、ネットワーク syslog を受信し、可視化することが可能です。

ネットワーク監視エージェントには、コンテナ版と Linux 版の2種類が用意されています。ここでは Linux 版エージェントを用いた SNMP Trap の受信設定手順について、ご紹介します。

SNMP Linuxパッケージ版インストール手順

Linux 版エージェントの導入方法につきましては、別のブログ に詳しく記載されておりますので、こちらをご参照ください
(本稿では割愛させていただきます)

SNMP Trap 受信時の追加設定

Linux 版エージェントの導入を手順に沿って実施すると、設定したネットワークセグメントに対し SNMP によるポーリングをおこない、情報を収集しますが、監視対象のネットワーク機器からの SNMP Trap は受信しない設定になっています。

確認のために以下のコマンドを実行し、listen が off になっていることを確認します。
(イメージ内のオレンジ枠を参照)

$ ps ax | grep ktranslate
ps ax | grep ktranslate

次に、Linux 版エージェント導入時に設定した snmp-base.yaml にある trap の listen 設定を確認します。

$ cat /etc/ktranslate/snmp-base.yaml
snmp-base.yaml

デフォルトでは 0.0.0.0:1620 となっています。

必要に応じて修正してください。

(ここでは 0.0.0.0:162 に編集して設定を進めています)

 

次に、ktranslate の起動スクリプトを修正します。

-listen の引数が off となっているところを、さきほど snmp-base.yaml で修正した "IPアドレス:ポート番号" に置き換えます。

$ sudo vi /lib/systemd/system/ktranslate.service
ktranslate.service

修正が終わりましたら、ktranslate を再起動します。

(下記は amazon linux での実行例です。Linux OS 環境に合わせてコマンドを適宜修正してください)

$ sudo systemctl daemon-reload
$ sudo systemctl restart ktranslate
$ sudo systemctl status ktranslate

ps コマンドや netstat コマンドにて、指定のIPアドレス:ポート番号で Listen しているか確認します。

$ ps ax | grep ktranslate
ps ax | grep ktranslate

最後に、ネットワーク機器からLinuxエージェントを導入したサーバーに対して SNMP Trap を送信し、New Relic で受信できることを確認します。

ここではネットワーク機器の代わりに別のLinuxサーバーを用意し、snmptrap コマンドで trap を送信してテストしています。指定する snmp のバージョンやコミュニティ名、OID は必要に応じて変更してください。

※ snmptrap コマンドを利用するには、net-snmp-utils のインストールが必要です 

$sudo snmptrap -v 2c -c public <Linux エージェント導入済サーバーのIPアドレス> '' .1.3.6.1.4.1.6876.4.3 .1.3.6.1.4.1.6876.4.3.308.0 i 2

実行後、New Relic にログインし、NRQL を実行して受信内容を確認します。

指定した OID に紐づく Trap Name が確認できます。

NRQL result