snmptrap を Kompira Enterprise で受信する

snmptrap は、snmp プロトコルでネットワーク上の危機を監視する際に、監視対象になっている機器から管理用コンピュータにむけて通知するための機能です。主にネットワーク機器などの監視エージェントをインストールできないアラートを検知するために使います。snmptrap が発行されるのは、あらかじめ指定した異常状態が発生した場合や、機器の状態を表すパラメータが設定された閾値を越えた場合などです。

snmp の場合は機器に向けて問い合わせや要求を行い、それに対する応答を得るという手順となります。対して snmptrap の場合は、異常発生等を契機に機器から自動で通知が送られます。

トラップの受信は Zabbix などのツールを使うことも多いですが、ここでは Kompira Enterprise サーバーで受信を行う方法をご紹介します。

大まかには以下のような流れとなります。

1. snmptrapd で受信
2. kompira_sendevt を使って、Kompira Enterprise のチャネルに転送
3. チャネルで受信した情報をジョブフローで処理


環境情報

ソフトウェア バージョン
Kompira Enterprise 1.5.5.post11
OS CentOS 7.8.2003
snmptrap 5.7.2

または

ソフトウェア バージョン
Kompira Enterprise 1.6.2.post4
OS CentOS 7.8.2003
snmptrap 5.7.2

snmptrapd のインストール

snmptrapd は “net-snmp” というパッケージによって提供されます。関連ユーティリティーを含めて、Kompira Enterprise サーバーにインストールして下さい。

$ yum install net-snmp net-snmp-utils

次に /etc/snmp/snmptrapd.conf を編集して、トラップの受信条件を設定します。ここでは簡易的に以下のようにしました。
トラップを受信したら traphandle ディレクティブで指定された kompira_sendevt を実行するようにします。

$ cat /etc/snmp/snmptrapd.conf
authCommunity log,execute,net public
traphandle default /opt/kompira/bin/kompira_sendevt

インストールが完了したら、以下のコマンドで snmptrapd を起動させます。

$ systemctl enable snmptrapd
$ systemctl start snmptrapd

アラート受信のジョブフロー

ここではトラップの受信確認を行うため、下記のような簡易なジョブフローを作成して実行します。

</system/channels/Alert> ->
[message = $RESULT] ->
print('${message} を受信しました') ->
self()

「self()」を追加して、「${message} を受信しました」の表示後に再度受信待機状態に戻るようにしています。

トラップの送信テスト

上記のジョブフローを実行すると、ステータスが「待ち」の状態になり、チャネルを通じたトラップ情報の受信待機となります。
ここで実際にトラップを送ってみましょう。Kompira Enterprise サーバーにインストールしたユーティリティー “snmptrap” を使って、下記コマンドを実行することで snmptrap を送信することができます。

$ snmptrap -v 2c -c public localhost '' systemStats 1 s "This is test"

実行後、Kompira Enterprise 側のコンソールは以下のようになり、受信確認が出来ました。

snmptrapd が起動していても上手くいかない場合には、ブロックされている可能性が考えられます。snmptrap は UDP162 を使うため、ポートの制限をかけている場合には UDP162 を開放してください。

以上のようにして、snmptrap の受信をすることができます。実際には MIB の解決やコミュニティーの設定を入れるなどの必要がありますが、お使いになるネットワーク等の設定に合わせて適宜行ってください。今回は、受信トラップをコンソールに表示するにとどめていますが、受信トラップの内容に応じてメールでの通知、情報収集、一次対応などをジョブフローで記述することが出来ます。こちらも必要に応じて別記事を参照してご利用ください。

TOP