Zabbix 2.4 SNMPトラップの監視設定メモ(SNMPTT)

2015年3月12日  カテゴリー:Zabbix  タグ: ,
Pocket
LINEで送る

SNMPトラップを受信して Zabbix から監視をするための設定メモです。Zabbix の公式マニュアルでも推奨している SNMPTT(snmptthandler-embedded)を使って設定してみました。トラップを受信する snmptrapd 、トラップの書式を整える SNMPTT など登場人物が多いため設定がやや複雑ではありますが、できるだけ分かりやすくを心がけてまとめてみました。

サーバ構成

Zabbixサーバのバージョンは 2.4 、SNMPエージェントは CentOS6.6 です。IPアドレスはご自分の環境に読み替えてください。
zabbix-nsmptrap-01

Zabbix 2.4 SNMPトラップ受信の流れ

上のスライドは、かなりはしょった説明です(^^;) 詳細は公式マニュアル SNMPトラップ | Zabbix Documentation 2.2 をご参照ください。

iptables の設定

SNMPトラップはUDP162番ポートで受信します。iptables などでパケットフィルタリングをしている場合は、ポートを開けておきましょう。

vi /etc/sysconfig/iptables

・iptablesを再起動します
service iptables restart

インストール

NET-SNMP のインストール

yum -y install net-snmp net-snmp-perl

SNMPTT のインストール

・EPELリポジトリの追加(SNMPTTのインストールに必用です)

・SNMPTTのインストール(1.4-0.9.beta2)※バージョンは2015年3月11日時点のものです。
yum -y install snmptt

・EPELリポジトリの無効化
vi /etc/yum.repos.d/epel.repo
---(下記を変更)---------------------------
[epel]
name=Extra Packages for Enterprise Linux 6 – $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1

enabled=0
------------------------------

snmptrapd の設定

vi /etc/snmp/snmptrapd.conf

authCommunity の「s79bjf1q」がSNMPのコミュニティ名です。コミュニティ名はSNMPのパスワードに該当するものですので、 ある程度複雑なものを設定することをオススメします。

・起動
service snmptrapd start

・自動起動設定
chkconfig snmptrapd on

SNMPTT の設定

日時の書式をZabbix用に設定します。また SNMPTT の syslog 出力はOFFにしておきます。(syslog には snmptrapd が出力します)

vi /etc/snmp/snmptt.ini

・オリジナルのトラップ書式をバックアップします。
mv -i /etc/snmp/snmptt.conf /etc/snmp/snmptt.conf.org

・トラップの書式をZabbix用に設定します。
vi /etc/snmp/snmptt.conf

・起動
service snmptt start

・自動起動設定
chkconfig snmptt on

snmptrapd 起動オプションの変更

SNMPTTのドキュメントによると、snmptrapd 起動オプションを -On に変更することが推奨されています。 これは UCD-SNMP / NET-SNMPのバージョンによっては、MIBのオブジェクトIDとシンボル名が正しく変換されない場合があるためのようです。

vi /etc/rc.d/init.d/snmptrapd

「-Lsd」は syslog(-Ls) に LOG_DAEMON(-d)ファシリィティで出力するためのオプションです。

・snmptrapd を再起動
service snmptrapd restart

動作確認

以上で snmptrapd と SNMPTT の設定が完了しました。Zabbix の設定をする前に SNMPトラップを受信して、正しくトラップファイルに書き込まれていることを確認します。

SNMPエージェント側

SNMPトラップを送信するため、SNMPエージェントとなるサーバに snmptrap コマンドをインストールします。
yum -y install net-snmp-utils

SNMPトラップを送信します。(root権限で実行してください)

・snmptrapコマンドの書式
snmptrap -v <SNMPバージョン> -c <コミュニティ名> <ZabbixサーバのIPアドレス> '' <OID> <OID> s '<値>' 

Zabbixサーバ側

Zabbixサーバの snmptrapd がトラップを正常に受信しているかを確認します。
tail -f /var/log/messages

SNMPTT がトラップの書式を整えてトラップファイル(SNMPTTのログファイル)へ書込んでいるか確認します。
tail -f /var/log/snmptt/snmptt.log

上記のようなログが出力されていればOKです。

Zabbixサーバの設定

SNMPトラッパーを有効にします。

vi /etc/zabbix/zabbix_server.conf

トラップファイルへのパスの設定が、下記になっていることを確認(もし違ったら変更してください)

Zabbix3.0では「/var/log/snmptrap/snmptrap.log」になっているので注意です。

・再起動
service zabbix-server restart

SNMPトラップ監視テンプレートの作成

[設定]→[テンプレート]→[テンプレートの作成]をクリックします。
zabbix-lamp-310-01

[テンプレート]タブを選択 下記を入力し「追加」をクリックすればテンプレートが作成されます。
テンプレート名:A_Template_SNMP_Trap  グループ:A_Templates グループを作成する
zabbix-snmptrap-08


zabbix-snmptrap-02

SNMPトラップ監視アイテムの作成

[設定]→[テンプレート] 「A_Template_SNMP_Trap」行の「アイテム」をクリックします。
zabbix-snmptrap-03

「アイテムの作成」をクリックします。
zabbix-snmptrap-04

下記を入力/選択し「追加」をクリックすれば SNMPトラップ監視アイテムの作成完成です。
zabbix-snmptrap-11-2

---(設定箇所)---------------------------
名前:SNMPトラップ(テスト用)
タイプ:SNMPトラップ
キー:snmptrap["General"]
データ型:文字列
アプリケーションの作成:snmp
------------------------------
※キー snmptrap の引数は必ずダブルクオート「"」で括ってください。シングルクオート「'」で括ると正しく動作しません。

ホストの設定

[設定]→[ホスト] SNMPエージェントのホストをクリックします。
zabbix-snmptrap-12

「ホスト」タブを選択して、SNMPインターフェースの「追加」をクリック、IPアドレスを入力します。
zabbix-snmptrap-13

[テンプレート]タブを選択し、[選択]をクリックします。
zabbix-snmptrap-14

作成したトラップ監視テンプレートにチェックを入れて[選択]をクリックします。
zabbix-snmptrap-15

[追加]をクリックします。
zabbix-snmptrap-16

「テンプレートとのリンク」にトラップ監視テンプレートが表示されていることを確認し「更新」ボタンをクリックすればホストの設定完了です。
zabbix-snmptrap-17

動作確認

SNMPエージェントからSNMPトラップを送信します。

[監視データ]→[概要] タイプをデータにして「SNMPトラップ(テスト用)」の値をクリック→「最新の値」を選択します。
zabbix-snmptrap-19

トラップの内容がZabbixに記録されていることが確認できます。
zabbix-snmptrap-18

終わりに

SNMP はネットワーク監視プロトコルとして広く普及していますので、ほとんどのルータやスイッチ、複合機などが SNMP に対応しています。これらの Zabbixエージェントがインストールできない機器でも SNMP を使えば Zabbix で監視することが出来るので便利ですね。

スポンサーリンク
Pocket
LINEで送る

Zabbix 2.4 SNMPトラップの監視設定メモ(SNMPTT)」への2件のフィードバック

  1. とおりすがり

    “zabbixサーバの設定”にトラップファイルパスの指定がないのでは?
    デフォルトだと/tmp/zabbix_traps.tmpを見に行くようなのでsnmpttが書き込むファイルパスに合わせる必要があるかと

    返信
    1. あぱーブログあぱーブログ 投稿作成者

      >とおりすがりさん

      コメントありがとうございます。

      Zabbix2.4をyum(RPM)からインストールすると、初めから設定ファイルに
      「SNMPTrapperFile=/var/log/snmptt/snmptt.log」の記述があるため省略していましたが
      念のため、手順に追加させて頂きました。

      Zabbix3.0では「SNMPTrapperFile=/var/log/snmptrap/snmptrap.log」に変わっているようですね。

      返信

コメントを残す

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