• 追加された行はこの色です。
  • 削除された行はこの色です。
**目次 [#u3090d1e]
目次~
#Contents
***snmptrapd設定 [#r7e7fe00]
**設定手順 [#s6fc4e3d]
***''1. snmptrapd設定'' [#r7e7fe00]
snmptrapdのインストールは割愛。~
snmptrapdにアクセスを許可するコミュニティ名とZABBIXへSNMPTrap内容を送信するスクリプトへの連携設定を行う。
snmptrapd.confにはsnmptrapdにアクセスを許可するコミュニティ名とZABBIXへSNMPTrap内容を送信するスクリプトへの連携設定を行う。

-/etc/snmp/snmptrapd.conf
 authCommunity log localnet
 traphandle default /bin/bash /usr/local/zabbix/sbin/snmptrap.sh

-authCommunity log [CommunityID]~
SNMPTrapを受信するコミュニティ名を指定する。~
-''authCommunity [Options] [CommunityID]''~
SNMPTrapを受信するコミュニティ名と許可するアクションを指定する。~
複数指定する場合は複数行記載する。~
[Options]では以下の項目を設定する。
|log|syslogやstdout等へのファイル出力を許可|
|execute|特定プログラムの実行を許可|
|net|別の通知先転送を許可(メール転送等)|

- traphandle default /bin/bash /usr/local/zabbix/sbin/snmptrap.sh~
ZABBIXに付属するSNMPTrap連携用スクリプトを指定する。~

- ''traphandle default [SCRIPT NAME]''~
ZABBIXに付属するSNMPTrap連携用スクリプト(snmptrap.sh)を指定する。~
パスはインストール先に準じた値に変更する。~

-''snmptrapd.conf設定例''
 authCommunity log,execute,net private
 authCommunity log,execute,net public
 traphandle default /bin/bash /usr/local/zabbix/sbin/snmptrap.sh

以上の設定を行い、snmptrapdを再起動する。


***ZABBIXサーバ設定 [#z9184bfe]
***''2. ZABBIXサーバ設定'' [#z9184bfe]
ZABBIXサーバ側はSNMPTrap連携用スクリプト(snmptrap.sh)を経由した情報の連携を行う。~
付属のsnmptrap.shは環境に合わせて、以下の箇所を修正する。~

-/usr/local/zabbix/sbin/snmptrap.sh

-''/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";

バージョンによっては正常に動作しない場合がある。~
この事例に当たった場合は連携スクリプトに対して後述の修正を行う。

***アイテム/トリガー設定 [#k936e28f]

-Trap内に「power-on」の文字列が含まれる場合アラート
***''3. アイテム設定'' [#i8326e85]
WebUI上からアイテムの設定を行う

-SNMPTrap受信
|タイプ|ZABBIXトラッパー|
|キー|snmptraps|
|データ型|テキスト|


***''4. トリガー設定'' [#k936e28f]
WebUI上からトリガーの設定を行う


-''設定例1''~
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)
 {{HOSTNAME}:snmptraps.nodata(86400)}=0)&{{HOSTNAME}:snmptraps.str(power-on,86400)}=1)

***受信テスト [#zca9b9c5]

***''5. 受信テスト ''[#zca9b9c5]
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の受信に繰り返し失敗すると以下の様なログを吐く。

-受信が失敗している場合~
/var/log/messagesは同様の内容のログを束ねることでログサイズを圧縮する機能があるため、SNMPTrapの受信に繰り返し失敗すると以下の様なログを吐く。~
 last message repeated 3 times



**snmptrap.shが動作しない場合の対応 [#s87d5dba]
初期状態のスクリプトは正常に機能しないため修正を加える必要がある。

 #!/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


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS