2018年10月22日月曜日

VRRP関連のMIB登録を行い、SNMP TrapをZabbix+SNMPTTで検知できるようにした話


以前ZabbixでSNMPTTを使ったSNMP Trap監視の方法を記載した。

★前回の記事はこちら↓

Zabbix 3.0でSNMPTTを使ったSNMP Trap監視を実装する
https://tech-mmmm.blogspot.com/2017/11/zabbix-30snmpttsnmp-trap.html

設定方法は同じ内容とはなるが、今回VRRPの切り替わり等をSNMP Trapで検知させる必要があったため、追加でVRRP用のMIB登録をしてみた。

MIBのダウンロード

VRRPを監視するためには、以下2つのMIB登録が必要となる。ダウロードできるサイトはいくつかあるようだが、今回は以下サイトよりダウンロードした。

KEEPALIVED-MIB
http://www.circitor.fr/Mibs/Html/K/KEEPALIVED-MIB.php

VRRP-MIB
http://www.circitor.fr/Mibs/Html/V/VRRP-MIB.php

MIBを変換し登録する

1. MIBを配置

ダウンロードしたMIBをZabbixサーバーの任意の作業用ディレクトリに配置する。今回は/usr/share/snmp/vendersに配置した。作業用ディレクトリには、SNMPTT用ファイルの出力用に、snmpttconfディレクトリを作っておく。

# cd /usr/share/snmp/venders
# mkdir snmpttconf
# ls -l
------------------------------
-rw-r--r-- 1 root root 57305  8月 27 11:20 KEEPALIVED-MIB.mib
-rw-r--r-- 1 root root 29114  8月 27 11:20 VRRP-MIB.mib
drwxr-xr-x 2 root root    86  8月 27 11:22 snmpttconf
------------------------------

2. MIBを変換

snmpttconvertmibコマンドを利用して、MIBをSNMPTT用confファイルに変換する。

# for i in `ls *.mib`; do snmpttconvertmib --in=$i --out=snmpttconf/$i.conf; done
------------------------------
*****  Processing MIB file *****

snmptranslate version: NET-SNMP version: 5.7.2
severity: Normal

File to load is:        ./KEEPALIVED-MIB.mib
File to APPEND TO:      snmpttconf/KEEPALIVED-MIB.mib.conf

MIBS environment var:   ./KEEPALIVED-MIB.mib
mib name: KEEPALIVED-MIB

~(中略)~

Done

Total translations:        2
Successful translations:   2
Failed translations:       0
------------------------------

出力されたSNMPTT用confファイルを確認する。

[root@t3024ce73 venders]# cd snmpttconf
[root@t3024ce73 snmpttconf]# ls -l
------------------------------
-rw-r--r-- 1 root root 2017  8月 27 11:20 KEEPALIVED-MIB.mib.conf
-rw-r--r-- 1 root root  836  8月 27 11:20 VRRP-MIB.mib.conf
------------------------------

出力されたファイルをcatコマンドで1つに結合する。

[root@t3024ce73 snmpttconf]# cat *.conf > snmptt.conf.VRRP
[root@t3024ce73 snmpttconf]# ls -l
------------------------------
-rw-r--r-- 1 root root 2017  8月 27 11:20 KEEPALIVED-MIB.mib.conf
-rw-r--r-- 1 root root  836  8月 27 11:20 VRRP-MIB.mib.conf
-rw-r--r-- 1 root root 2853  8月 27 11:22 snmptt.conf.VRRP ←★結合されたファイル
------------------------------

3. SNMPTT用confファイルをZabbix用に加工

結合したファイルに、Zabbix検知用の文字列「ZBXTRAP」を追加する。

[root@t3024ce73 snmpttconf]# sed -i 's/FORMAT/FORMAT ZBXTRAP $aA $N/g' snmptt.conf.VRRP

4. SNMPTT用confファイルをSNMPTTに登録

結合したファイルをSNMPTTのディレクトリにコピーする。

[root@t3024ce73 snmpttconf]# cp snmptt.conf.VRRP /etc/snmp/
[root@t3024ce73 snmpttconf]# ls -l /etc/snmp/
------------------------------
-rw-r--r-- 1 root root    63 11月 20  2017 snmp.conf
-rw------- 1 root root 18861  5月 12  2016 snmpd.conf
-rw------- 1 root root   351 11月 18  2017 snmptrapd.conf
-rw-r--r-- 1 root root    63 11月 20  2017 snmptt.conf
-rw-r--r-- 1 root root   565 11月 20  2017 snmptt.conf.NAS
-rw-r--r-- 1 root root 60041 11月 23  2017 snmptt.conf.VMWARE
-rw-r--r-- 1 root root  2943  8月 27 11:23 snmptt.conf.VRRP  ←★コピーされたファイル
-rw-r--r-- 1 root root 26457 11月 24  2017 snmptt.ini
------------------------------

SNMPTTの設定ファイルsnmptt.iniに、先ほど作成したconfファイルを読み込むよう追記する。

[root@t3024ce73 snmpttconf]# vi /etc/snmp/snmptt.ini
------------------------------
[TrapFiles]
# A list of snmptt.conf files (this is NOT the snmptrapd.conf file).  The COMPLEETE path
# and filename.  Ex: '/etc/snmp/snmptt.conf'
snmptt_conf_files = <<END
/etc/snmp/snmptt.conf.VMWARE
/etc/snmp/snmptt.conf.NAS
/etc/snmp/snmptt.conf.VRRP     ←★追加
/etc/snmp/snmptt.conf
END
------------------------------

5. SNMPTTをリスタート

設定反映のため、SNMPTTをリスタートする。

# systemctl restart snmptt

以上で登録は完了となる。

VRRPのSNMP Trap確認

実際にVRRPのフェイルオーバーを発生させた際のZabbixでの検知結果を以下に記載する。「General event」となっていたものが、きちんとVRRPのメッセージとして表示されていることがわかる。

設定前

・Trap1 : KEEPALIVED-MIBのTrap
------------------------------
SNMP Trap log (t3033vyos:snmptrap[]): 22:12:36 2018/08/26 .1.3.6.1.4.1.9586.100.5.2.9.0.2 Normal "General event" 192.168.33.33 - vyatta-eth0-10 2 1
------------------------------
・Trap2 : VRRP-MIBのTrap
------------------------------
SNMP Trap log (t3033vyos:snmptrap[]): 22:12:36 2018/08/26 .1.3.6.1.2.1.68.0.1 Normal "General event" 192.168.33.33 - 0.0.0.0
------------------------------

設定後

・Trap1 : KEEPALIVED-MIBのTrap
------------------------------
SNMP Trap log (t3033vyos:snmptrap[]): 11:34:18 2018/08/27 .1.3.6.1.4.1.9586.100.5.2.9.0.2 Normal "Status Events" 192.168.33.33 - vrrpInstanceStateChange This trap signifies that the state of a vrrp instance changed. vyatta-eth0-10 2 1
------------------------------
・Trap2 : VRRP-MIBのTrap
------------------------------
SNMP Trap log (t3033vyos:snmptrap[]): 11:34:18 2018/08/27 .1.3.6.1.2.1.68.0.1 Normal "Status Events" 192.168.33.33 - vrrpTrapNewMaster The newMaster trap indicates that the sending agent 0.0.0.0
------------------------------

0 件のコメント:

コメントを投稿

人気の投稿