[[監視システム(NMS)]]
目次~
#contents

*概要 [#t91d364f]
ZabbixのUIからのスクリプト実行により、SNMPTrapの発報・検知試験を行うためのツール。~

**構造 [#x547d278]
Web UIからのスクリプトから特定のホスト宛のTrapを送するシェルスクリプトを実行し、Zabbixに検知させるための処理を行う。

**設定 [#n17068b2]
以下のコードを所定箇所に保管して設定を行う。~
送信するTrapの内容は別ファイル化することで差し替えを可能としている。~

*コード [#ge00d66a]
**Trap送信スクリプト [#f59b5896]
-書式
 ./sendtrap.sh [送信元IP] [ポート番号] [Trapファイル名]

-sendtrap.sh
 #!/bin/sh
 # ------------------------
 #  SNMPTrap sender
 # ------------------------
 # Version : 1.0
 # date    : 2022/07/31
 
 export LANG=C
 export PATH=/bin:/sbin:/usr/bin:/usr/sbin:$PATH
 
 ## Config
 
 BASEDIR="/opt/zbx-cmd/trap"
 ZBXTRAP="/var/log/zabbix/zabbix_traps.log"
 
 ## Parameter
 
 DATE=`date +%H:%M:%S\ %Y-%m-%d`
 HOSTIP=$1
 PORT=$2
 TRAPFILE=$BASEDIR"/"$3
 
 ## Check
 
 test -f $TRAPFILE || echo "[ERR] "$TRAPFILE" not found" 
 test -z $3 && echo "[ERR] Parameter not found" 
 test -z $2 && echo "[ERR] Parameter not found" 
 test -z $1 && echo "[ERR] Parameter not found" 
 
 ## Execite
 
 echo $HOSTIP
 echo $PORT
 
 cat $TRAPFILE | sed -e "s/HOSTIP/$HOSTIP/" -e "s/PORT/$PORT/" -e "s/DATE/$DATE/g" >> $ZBXTRAP
 
 # EOF

**トラップ内容のファイル [#meca7a3b]
-linkdown
 DATE ZBXTRAP HOSTIP
 PDU INFO:
   community                      localnet
   errorindex                     0
   messageid                      0
   version                        1
   requestid                      2030993
   notificationtype               TRAP
   transactionid                  2
   receivedfrom                   UDP: [HOSTIP]:47322->[127.0.0.1]:162
   errorstatus                    0
 VARBINDS:
   DISMAN-EVENT-MIB::sysUpTimeInstance type=67 value=Timeticks: (4245094454) 491 days, 7:55:44.54
   SNMPv2-MIB::snmpTrapOID.0      type=6  value=OID: IF-MIB::linkDown
   RFC1213-MIB::ifIndex.PORT        type=2  value=INTEGER: PORT
   RFC1213-MIB::ifAdminStatus.PORT  type=2  value=INTEGER: 1
   RFC1213-MIB::ifOperStatus.PORT   type=2  value=INTEGER: 2


-linkup
 DATE ZBXTRAP HOSTIP
 PDU INFO:
   errorstatus                    0
   receivedfrom                   UDP: [HOSTIP]:47322->[127.0.0.1]:162
   transactionid                  1
   messageid                      0
   community                      localnet
   errorindex                     0
   notificationtype               TRAP
   requestid                      2030992
   version                        1
 VARBINDS:
   DISMAN-EVENT-MIB::sysUpTimeInstance type=67 value=Timeticks: (4245093468) 491 days, 7:55:34.68
   SNMPv2-MIB::snmpTrapOID.0      type=6  value=OID: IF-MIB::linkUp
   RFC1213-MIB::ifIndex.PORT        type=2  value=INTEGER: PORT
   RFC1213-MIB::ifAdminStatus.PORT  type=2  value=INTEGER: 1
   RFC1213-MIB::ifOperStatus.PORT   type=2  value=INTEGER: 1


* Zabbixの設定 [#l4484754]
Web UIの[管理]→[スクリプト]にて以下の内容を登録する。~

**LinkDown設定 [#v2e931f9]
|名前|Trap送信/Linkup/Port1|
|タイプ|スクリプト|
|次で実行|Zabbixサーバー|
|コマンド|/opt/zbx-cmd/trap/sendtrap.sh {HOST.IP} 1 linkup.txt|


**LinkUp設定 [#s5c178f6]
|名前|Trap送信/Linkdown/Port1|
|タイプ|スクリプト|
|次で実行|Zabbixサーバー|
|コマンド|/opt/zbx-cmd/trap/sendtrap.sh {HOST.IP} 1 linkdown.txt|







トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS