Zabbix2.4でsnmpトラップを受信する

※こちらは過去ブログで2015/11/28に投稿した記事をコピーしたものです。

Zabbix2.4でsnmpトラップを受信しようと思ったら、意外とハマったのでメモ。
CentOS-6.5, Zabbix-2.4, net-snmp-5.5, snmptt-1.4を使用。net-snmpとsnmpttはyumでインストールしました。

手順は以下マニュアルを参照。2.4のマニュアルを見るべきですが、英語なので2.2を参考しました。見た感じ内容は変わってなさそうなので、問題ないと思います。
https://www.zabbix.com/documentation/2.2/jp/manual/config/items/itemtypes/snmptrap

そもそもですが、Zabbixでトラップを受信する流れは以下の通りだそうです。
snmptrapdでトラップ受信し、snmpttに渡す
 ↓
snmpttはトラップを整形し、テキストファイルに出力
 ↓
snmpttが出力したファイルを、Zabbixが読み込む。

別に設定の順番は関係ないですが、分かりやすいよう上から順に設定。

snmptrapdの設定

snmpttの設定(snmptt.ini)

snmpttの設定(snmptt.conf)

デフォルトのトラップフォーマットの定義、らしいです。マニュアル通り。

zabbix_serverの設定

プロセス再起動
ここまで設定したら、snmptrapd, snmptt, zabbix_serverをすべて再起動

ホストの設定
以降はzabbixの設定。設定→ホストでZabbix serverを選択し、SNMPインターフェースを追加
IPアドレスを127.0.0.1, ポートを161で追加

アイテムの追加
設定→ホストでZabbix serverのアイテムを選択し、画面右上の「アイテムの作成」でアイテムを追加
名前:任意
タイプ:SNMPトラップ
キー:snmptrap[“General”]
ホストインタフェース:127.0.0.1:161 
→事前にSNMPインターフェースを追加しないと、ここで選択できません。
データ型:文字列
以降はお好みで。デフォルトでも可

トラップの追加
設定→ホストでZabbix serverのトリガーを選択し、画面右上の「トリガーの作成」でトリガーを追加
名前:任意
条件式:{Zabbix server:snmptrap[“General”].iregexp(*)}=1
→トリガー関数にiregexp(*)を使い、収集したアイテムをすべて検知させます。文字列で絞り込みたい場合は*部分を文字列にします。

以上で設定は完了。試しにCPU上でローカルホストにトラップを送信してみます。

問題なくZabbixで検知しました。

最後までご覧いただきありがとうございました!よろしければ広告もご覧ください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*