ZABBIX SNMPTrap設定 のバックアップ(No.4)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- ZABBIX SNMPTrap設定 へ行く。
- 1 (2009-04-03 (金) 00:57:16)
- 2 (2009-04-03 (金) 01:02:58)
- 3 (2009-05-12 (火) 16:48:01)
- 4 (2009-05-13 (水) 01:17:00)
目次 †
snmptrapd設定 †
snmptrapdのインストールは割愛。
snmptrapdにアクセスを許可するコミュニティ名とZABBIXへSNMPTrap内容を送信するスクリプトへの連携設定を行う。
- /etc/snmp/snmptrapd.conf
authCommunity log,execute,net private authCommunity log,execute,net public traphandle default /bin/bash /usr/local/zabbix/sbin/snmptrap.sh
- authCommunity [Options] [CommunityID]
SNMPTrapを受信するコミュニティ名と許可するアクションを指定する。
複数指定する場合は複数行記載する。
[Options]では以下の項目を設定する。log syslogやstdout等へのファイル出力を許可 execute 特定プログラムの実行を許可 net 別の通知先転送を許可(メール転送等)
- traphandle default /bin/bash /usr/local/zabbix/sbin/snmptrap.sh
ZABBIXに付属するSNMPTrap連携用スクリプトを指定する。
パスはインストール先に準じた値に変更する。
以上の設定を行い、snmptrapdを再起動する。
ZABBIXサーバ設定 †
- /usr/local/zabbix/sbin/snmptrap.sh
# CONFIGURATION ZABBIX_SERVER="{IP Address}"; ZABBIX_PORT="10051"; ZABBIX_SENDER="/usr/local/zabbix/sbin/zabbix_sender"; KEY="snmptraps"; HOST="snmptraps";
トリガー設定 †
- Trap内に「power-on」の文字列が含まれる場合アラート
{{HOSTNAME}:snmptraps.str(power-on)}=1
- 1時間以内にTrapを受信し、Trap内に「snmptraps」の文字列が含まれてない場合アラート
({HOSTNAME}:snmptraps. nodata( 3600 ) }=0)&({HOSTNAME}:snmptraps. str( snmptraps,3600 ) }=0)
- 24時間以内にTrapを受信し、Trap内に「power-on」の文字列が含まれる場合アラート
{{HOSTNAME}:snmptraps.nodata(86400)}=0)&{{HOSTNAME}:snmptraps.str(power-on,86400)}=1)
受信テスト †
SNMPTrapを受信した際には/var/log/messagesに情報か記載される。
- 正常に受信できている場合
snmptrapd[11095]: 2009-04-03 00:51:13 192.168.1.249(via UDP: [192.168.1.249]:1712) TRAP, SNMP v1, community public SNMPv2-SMI::zeroDotZero Link Up Trap (0) Uptime: 67 days, 4:54:21.00 IF-MIB::ifIndex.7 = INTEGER: 7
- コミュニティ名の設定が間違っている場合
snmptrapd[10744]: No access configuration - dropping trap.
/var/log/messagesは同様の内容のログを束ねることでログサイズを圧縮する機能があるため、SNMPTrapの受信に繰り返し失敗すると以下の様なログを吐く。last message repeated 3 times
snmptrap.sh †
初期状態のスクリプトは正常に機能しないため修正を加える必要がある。
#!/bin/bash # CONFIGURATION ZABBIX_SERVER="127.0.0.1"; ZABBIX_PORT="10051"; ZABBIX_SENDER="/usr/local/zabbix/sbin/zabbix_sender"; KEY="snmptraps"; HOST="snmptraps"; # Execute 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" # Output $ZABBIX_SENDER -z $ZABBIX_SERVER -p $ZABBIX_PORT -s $HOST -k $KEY -o "$str" # Debug echo $str > /tmp/snmptrap.log