zabbix1.8 snmptrap 受信設定について

はじめして。

ZABBIX Proxyを使用して、ネットワーク機器からのSNMPTRAP監視をしたく思っています。

構成:Zabbix Server 1.8.15
Zabbix Proxy server :1.8.16
ネットワーク機器:Cisco 1921

問題点:ZabbixProxyサーバのsyslogでSnmpTrap受信ログがない。

確認済み:ZabbixProxyサーバでTcpdumpコマンドでSnmpTrapを受信してしていることは確認済み
     ZabbixProxyServerよりsnmptrapコマンドを実行し、問題なくZabbixサーバにSnmptrapの転送動作確認済み。
    

お手数ですが、設定の不備等ご教授願います。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー TNK の写真

書かれている内容だけでは、どう設定されているのかわかりません。

Zabbixの設定以前に、snmptrapdの設定がされていないか誤ってい
ると思われますので、具体的にどう設定されているのかをお教えく
ださい。

ユーザー jj03kan の写真

TNKさん

ご返事ありがとうございます。

snmptrapdの設定ですが、下記のとおりです。

======================
# Example configuration file for snmptrapd
#
# No traps are handled by default, you must edit this file!
#
# authCommunity log,execute,net public
# traphandle SNMPv2-MIB::coldStart /usr/bin/bin/my_great_script cold
authCommunity log,execute,net snmptraps
traphandle default /bin/bash /etc/snmp/snmptrap.sh
========================

以上、よろしくお願いいたします。

ユーザー TNK の写真

このsnmptrapdの設定をどのサーバに設定されたのでしょうか?

Zabbix Serverにのみ設定されたのであれば、SNMP Trapの送信元か
らZabbix Serverに直接トラップを送信できる機器のみにしか対応
できないと思います。

また、

ZabbixProxyServerよりsnmptrapコマンドを実行し、問題なくZabbixサーバにSnmptrapの転送動作確認済み。

と書かれていますが、snmptrapでZabbix Serverに対してトラップ
を投げたのであれば、SNMP Trapが「転送」されたわけではありま
せん。
直接SNMP TrapをZabbix ProxyからZabbix Serverが受け取っただけ
だと思われます。

Zabbix Proxy上でZabbix Proxyに対してSNMP Trapを投げられたの
であれば、snmptrapdの設定はどのようにされているのでしょうか?

お教えください。

ユーザー jj03kan の写真

説明足らず、すいません。

このsnmptrapdの設定をどのサーバに設定されたのでしょうか?

 
ZabbixProxyでの設定内容です。

直接SNMP TrapをZabbix ProxyからZabbix Serverが受け取っただけだと思われます。

実現したのはネットワーク機器からSnmptrapをProxyサーバに送信し、Proxyサーバが受け取ったSnmpTrapを
ZabbixServerに転送したかったのでZabbixProxyサーバで下記のコマンドを実施し、ZabbixServer側で"test"を受信できたのを確認しました。
snmptrap -v 2c -c snmptraps localhost '' .1.3.6.1.4.1.8072.99999 .1.3.6.1.4.1.8072.99999.1 s "test"

Zabbix Proxyに設定したSnmptrapdの内容は最初に記載した内容です。
また、snmptrap.shの設定は下記のとおりです。

# CONFIGURATION

ZABBIX_SERVER="ZabbixサーバのIP";
ZABBIX_PORT="10051";

ZABBIX_SENDER="/usr/bin/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 -vv -z $ZABBIX_SERVER -p $ZABBIX_PORT -s $HOST -k $KEY -o "$str"
$ZABBIX_SENDER -vv -z $ZABBIX_SERVER -s $HOST -k $KEY -o "$str"

# Debug
#echo $str > /tmp/snmptrap.log
echo $ZABBIX_SENDER -vv -z $ZABBIX_SERVER -s $HOST -k $KEY -o "$str" > /tmp/snmptrap.log

以上、よろしくお願いします。

ユーザー TNK の写真

Zabbix ProxyでSNMP Trapをsnmptrapdで受け取って、記載頂いた
snmptrap.shがZabbix Proxy上で実行されたということであれば、
Zabbix ProxyからZabbix Serverへは、zabbix_senderを利用して
通知するようにされたということではないでしょうか?

zabbix_senderで送られたデータは、Zabbix Server上のzabbix_server
プロセスで直接受け取りますので、/var/log/messagesにも出力す
るようなアクションを別途作成しない限り、Zabbix Server上の
/var/log/messagesには出力されません。

ご確認ください。