zabbix中snmp-traps设置解析(1)


zabbixsnmp-traps设置解析如下:

It works something like this:

(SNMP Trap) -> snmptrapd -> snmptrap.sh -> zabbix_sender -> (Zabbix)

Basically, the point of snmptrap.sh is to translate a SNMP trap into a Zabbix trap

在/etc/snmp/snmptrapd.conf文件添加

traphandle default /bin/bash /path/to/zabbix/bin/snmptrap.sh

启动snmptrapd服务:

snmptrapd -C -c /etc/snmp/snmptrapd.conf -Lf /var/log/net-snmptrap.log

Now edit /path/to/zabbix/bin/snmptrap.sh. If not found, check the zabbix source tree, and

copy it to the zabbix/bin directory. For my application the following lines work great:

####### Begin snmptrap.sh #########

## GENERAL CONFIGURATION

ZABBIX_SERVER="zabbix-host"; # hostname of zabbix server

ZABBIX_PORT="nnnn"; # nnnn=same as 'Listen Port' in zabbix_server.conf

ZABBIX_SENDER="/path/to/zabbix/bin/zabbix_sender"; # insert you path

## END OF GENERAL CONFIGURATION

#According to the snmpdtrapd.conf man page, these

# fields should be received in the following order:

read hostname

read ip

read uptime

read trapoid

read payload

# there may be several more payload fields, but one is all I need.

# read more if it suits you.

hostname=`echo $hostname|cut -f1 -d'.'` # trim off the fluff

trapoid=`echo $trapoid|cut -f3 -d' '` # ditto

# I don't need uptime or ip right now ...

payload=`echo $payload1|cut -f3- -d' '` # ditto ditto

### This section records all traps under a 'dummy' host in zabbix, for debugging

### Delete if you don't need to do this.

### I use it to verify the OID of traps before using them as keys on specific hosts

# create a string to send to zabbix.

str="HOST=$hostname TRAP OID=$trapoid PAYLOAD=$payload"

# now set the key and host name for zabbix

KEY="alltraps";

HOST="trapperjohn";

#now call the zabbix_sender program with all parameters.

$ZABBIX_SENDER $ZABBIX_SERVER $ZABBIX_PORT $HOST $KEY "$str"

### End dummy host section

### This section records traps for specific for specific hosts.

### Edit as needed for you situation.

KEY="$trapoid";

HOST="$hostname";

str="$payload";

$ZABBIX_SENDER $ZABBIX_SERVER $ZABBIX_PORT $HOST $KEY "$str"

######### End snmptrap.sh ###########


相关内容