trap受信できない
zabbixにおいてtrap受信ができません
zabbixサーバーにsnmptrapdのプロセスはあります。
zabbixサーバーのmessagesのログにはtrapの内容が書き込まれていました。
zabbixエージェントから、trap以外の監視は行えています。
確認する点がありましたら教えてください
よろしくお願いします。
item
--
名前 trap
タイプ zabbixトラッパー
キー snmptraps
データ型 文字
許可されたホスト 空欄
snmptrap.shはzabbix_serverと同じところにあります。
-
ZABBIX_SERVER="ザビックスサーバーIP";
ZABBIX_PORT="10051";
ZABBIX_SENDER="/usr/local/sbin/zabbix_sender";
KEY="snmptraps";
HOST="ザビックスサーバーIP";
read hostname
read ip
read uptime
read oid
read address
read community
read enterprise
oid=`echo $oid|cut -f2 -d' '`
address=`echo $address|cut -f2 -d' '`
community=`echo $community|cut -f2 -d' '`
enterprise=`echo $enterprise|cut -f2 -d' '`
oid=`echo $oid|cut -f11 -d'.'`
community=`echo $community|cut -f2 -d'"'`
str="$hostname $address $community $enterprise $oid"
$ZABBIX_SENDER $ZABBIX_SERVER $ZABBIX_PORT $HOST $KEY "$str"
snmptrapd.conf
-
traphandle default /bin/bash /usr/local/sbin/snmptrap.sh
KAZ - 投稿数: 1085
daiさん
次回から質問の際はzabbixのversionを記入して頂けますか?
zabbixのversionで対応内容が変わる場合があります。
尚、画面右上の検索で調べると以前FORUMに書き込まれた情報やDOCUMENTSに書かれている情報を見つけることができます。
[url=http://www.zabbix.jp/modules/newbb/viewtopic.php?topic_id=147&forum=5&post_id=649#forumpost649]zabbix_senderの引数処理について[/url]
---------------------------------------------------
snmptrap.shを以下の様に修正してみて頂けますか?
※:zabbix1.4.x系からは下記のように指定する必要があります。
修正前:
<code>
$ZABBIX_SENDER $ZABBIX_SERVER $ZABBIX_PORT $HOST $KEY "$str"
</code>
修正後:
<code>
$ZABBIX_SENDER -z $ZABBIX_SERVER -p $ZABBIX_PORT -s $HOST -k $KEY -o "$str"
</code>
dai - 投稿数: 8
失礼しました。
バージョンは1.46です
$ZABBIX_SENDER -z $ZABBIX_SERVER -p $ZABBIX_PORT -s $HOST -k $KEY -o "$str"
を行い
さらにHOST="zabbixサーバーのホスト名"としていたところをtrapを送るサーバーのホスト名に変更し、zabbixでtrap受信行えました。
trapを送信する側の装置が複数ある時はHOSTの設定はどのように記載するのでしょうか
KAZ - 投稿数: 1085
daiさん
「HOST="zabbixサーバーのホスト名"」の設定は「trapを送るサーバーのホスト名」にするのは誤りです。
どちらかと言うと「HOST="zabbixサーバーのホスト名"」が正解です。
また、zabbix_agentdのホスト名と同じ名前は使用できません。zabbixで言うところのHOSTはサーバのIPアドレスが名前引きできるホスト名ではなく「監視対象名」です。
例えば「web01」と言うサーバからsnmptrapを受けるzbx01と言うサーバがあったとします。
その際、Host名は「web01」でも「zbx01」じゃなくてもOKです。
但し、webフロントエンドのHostsの設定のnameと同じ名前に設定して下さい。私が構築している環境ではHOST="snmptraps"としています。
上記に書いた通り、設定は1つのみです。
snmptrap.shをHOST="snmptraps"として、webフロントエンドのHostsでnameを"snmptraps"と設定すれば大丈夫かと。