SNMPTRAPの受信設定

はじめして。

ZABBIXを使用して、ネットワーク機器からのSNMPTRAP監視をしたく思っています。

フォラームやマニュアルを参考に設定してみましたが、ZABBIXのイベントとして出力されません。

環境:
ZABBIX V1.5.3 ※--with-net-snmpオプションでconfigure
・ZABBIXサーバーポート:10051
・ZABBIXエージェントポート:10050
NET-SNMP V5.1.2

設定:
1.snmptrapd.confの設定

authCommunity log,execute,net XXXX <-- コミュニティ名に変更
traphandle default /bin/bash /home/zabbix/bin/snmptrap.sh <-- 追加

2.snmptrap.shの設定

ZABBIX_SERVER="X.X.X.X"; <-- ZABBIXサーバーのアドレス
ZABBIX_PORT="10051"; <-- ZABBIXサーバーの番号
ZABBIX_SENDER="/usr/local/sbin/zabbix_sender";<-- パス
KEY="snmptraps";<-- ZABBIXフロントエンドで登録したアイテム名
HOST="snmpTraps";HOSTZABBIXフロントエンドで登録したホスト名

(中略)

$ZABBIX_SENDER -z $ZABBIX_SERVER -p $ZABBIX_PORT -s $HOST -k $KEY -o $str <-- オプション「-zpsko」追加

3.ZABBIXの設定

  [Configuration]-[Hosts]-[Create Host]
   Name:snmpTraps
   IP Address:X.X.X.X <-- ZABBIXサーバのアドレス
   Port:10050 <-- ZABBIXエージェントのポート
   Status:Monitored

  [Configuration]-[Items]-[Create Item]
   Desctiption:snmptrap
   Type:ZABBIX trapper
   key:snmptraps
   Type:文字列
   Status:Monitored
   Allowed hosts:空白

上記で設定しましたが値をうまく取得できないようです。

ちなみに、zabbix_senderに引数を与えて直接実行したところ、正常に処理を終了したというメッセージが標準出力に表示されましたが、ZABBIXのイベント、zabbix_server.logは更新されませんでした。

また、Zabbixサーバーは自分自身もエージェントとして監視しており、Zabbixサーバー自身のエージェント用にsnmpTrapsとは別のホスト名が同一IPアドレスとポート番号で定義されています。これが、なにか悪さをしているのでしょうか?

お手数ですが、設定の不備等ご教授願います。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー kodai の写真

こんにちは。

ひとつ確認したいのですが、ZABBIXサーバが動作しているサーバ上で、snmptrapdは動作しているでしょうか?

また、Zabbixサーバーは自分自身もエージェントとして監視しており、Zabbixサーバー自身のエージェント用にsnmpTrapsとは別のホスト名が同一IPアドレスとポート番号で定義されています。これが、なにか悪さをしているのでしょうか?

同一IPのホストが複数設定されていることは問題にならないはずですが、念のためIPアドレスを0.0.0.0など他のものに変えてみてはどうでしょうか。

ユーザー cinnamon の写真

Kidaiさん

返信ありがとうございます。

ひとつ確認したいのですが、ZABBIXサーバが動作しているサーバ上で、snmptrapdは動作しているでしょうか?

snmptrapdデーモンは動作しています。
試しに、snmptrapコマンドをローカルで実行したところ、/var/log/messagesにはログされました。

同一IPのホストが複数設定されていることは問題にならないはずですが、念のためIPアドレスを0.0.0.0など他のものに変えてみてはどうでしょうか。

snmpTrapsを削除、ZABBIXサーバのホスト定義(ホスト名以外はsnmpTrapsと同じ)にアイテムを追加、snmptrap.shのHOSTも修正し、テストしましたがだめでした。

その他、見るべき個所はございますでしょうか?

ユーザー kodai の写真

ZABBIX 1.5.3で試してみました。結論としては、zabbix_senderコマンドに引数を与えてZABBIXサーバにデータが送られるところまでは確認できました。

設定は以下のように行っています。まずはZABBIXサーバが動作しているサーバ上でzabbix_senderコマンドを直接実行し、ZABBIXサーバにデータが正常に送られるところまでを確認してみてください。

1. Webインターフェースからの設定

[Configuration] -> [Hosts] -> [Create Host]をクリックし、以下の情報を入力してSave(下記以外の設定はデフォルトのまま)

Name: snmptraps
DNS name: 空白
IP address: 0.0.0.0
Connect to: IP address
Port: 10050

2. アイテムの登録

[Configuration] -> [Items] をクリック、Hostドロップダウンから「snmptraps」を選択して[Create Item]をクリックし、以下の情報を入力してSave(下記以外の設定はデフォルトのまま)

Description: snmptraps
Type: ZABBIX Trapper
Key: snmptraps
Type of information: Character

3. ZABBIXサーバがインストールされているホストで、以下のコマンドを実行

# zabbix_sender -z localhost -p 10051 -s snmptraps -k snmptraps -o "Test Message"

4. データ受信の確認

[Monitoring] -> [Latest Data]からデータが正常に受信できているかどうか確認する