【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
Upcoming SlideShare
Loading in...5
×
 

【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会

on

  • 12,188 views

 

Statistics

Views

Total Views
12,188
Views on SlideShare
10,843
Embed Views
1,345

Actions

Likes
5
Downloads
106
Comments
0

6 Embeds 1,345

http://blog.livedoor.jp 1177
https://twitter.com 158
http://webcache.googleusercontent.com 4
http://narikiri.matoblo.info 3
http://www.zabbix.jp 2
http://translate.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会 【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会 Presentation Transcript

  • 【Zabbix2.0】 SNMPTTによるトラップメッセージの編集 2013.03 @qryuu 1 2013/3/9
  • 自己紹介 HN :九龍真乙 所属 :自宅ラック勉強会 TwitterID: @qryuu 2 2013/3/9
  • Zabbix2.0でのSNMPTrap監視 3 2013/3/9
  • Zabbix2.0でのSNMPTrap監視 Zabbix2.0ではSNMPTrapメッセージを SNMPTT(SNMP Trap Translator)を使って整形し、 SNMPTrapperFileに出力されたメッセージを SNMPTrapperという専用プロセスによって収集します。 4 2013/3/9
  • SNMP-Trap監視Zabbix1.8 Zabbix2.0 snmptrapd snmptrapd サンプルスクリプト handler または SNMPTT 自作スクリプト TrapperFile zabbix_sender snmp_trapper Zabbix_Trapper snmptrap 5 2013/3/9
  • snmpttによるTrapの動き SNMPTrap snmptrapd handler snmptt snmp trapper snmptt.log (.conf) +カテゴリ,重要度key:snmptrap[<重要度>"カテゴリ 名"] 6 2013/3/9
  • snmpttによるTrapの動き1. snmptrapdがsnmpTrapを受信2. snmptrapdがsnmpttのhandlerをキック3. Handlerがspoolファイルを生成4. Snmpttはiniファイルで指定されたsleep秒数毎にspoolファイルを読み込み5. Snmpttはmib変換ファイルに従い、書式整形、カテゴリ名、重要度情報を付加し、ファイルに出 力6. Zabbixのsnmp trapperが5.のファイルを読み込む7. log内の“ZBXTRAP” 文字列の後ろの文字列をIPアドレスと解釈し、当該IPアドレスと一致する SNMPインターフェイスを持つホストの タイプ:snmpトラップ キー:snmptrap[<重要度> “カテゴリ名”] に対してメッセージを登録する。8. 重要度、カテゴリ名が一致しない場合 タイプ:snmpトラップ キー:snmptrap.fallbak に対してメッセージを登録する。9. IPアドレスが一致しない場合、アイテムには登録せずzabbix_server.log(zabbix_proxy.log)に unmatched trap received from[IPaddress]:メッセージ というログが記録される。 ※IPアドレスが登録されていないホストからのTrapを集約登録する機能は無い。 7 2013/3/9
  • nmptt動作例SNMPtrap(テストコマンド)snmptrap -v 1 -c public localhost .1.3.6.1.2.1.11 192.168.100.201 .1.3.6.1.2.1.2.2.1.1.1 i 2/var/log/snmp/zabbix_traps.tmp (デフォルトファイルパス)2013/03/08 00:46:36 .1.3.6.1.6.3.1.1.5.3 Normal "Status Events" 192.168.100.201 - ZBXTRAP192.168.100.201 ポートNo.2 でlinkDownトラップを検知しました。 ホスト設定 SNMPエージェント 192.168.100.201 タイプ:snmp_trapper キー:snmptrap[Normal "Status Events“] ログの時間形式:yyyy/MM/dd hh:mm:ss 8 2013/3/9
  • unmatched trapのロギング設定アイテム登録の無いIPアドレスからのSNMPTrapを受信した際に、zabbix_server.logにunmatched trap received from[IPaddress]:~~メッセージを記録するかどうかは[一般設定]-[その他のパラメータ]の設定により変わります。[マッチしないSNMPトラップをログに記録]のチェックをはずした場合、zabbix_server.logにunmatched trap のメッセージは出力されなくなります。 9 2013/3/9
  • snmptrapdの設定 SNMPTrap受信するのは、snmptrapdプロセスです。 SNMPTrapを受信したら、SNMPTTのhandlerをキックするように、 snmptrapd.confを編集します。~~~#vi /etc/snmp/snmptrapd.conftraphandle default /usr/local/snmptt/sbin/snmptthandlerdisableAuthorization yes~~~ SNMPTrapのoidに応じてメッセージに変換を行う操作はSNMPTTが行いま すので、snmptrapdでは変換を行わず、oidのまま引き渡すように、 snmptapdの起動スクリプトを編集します。~~~#vi /etc/init.d/snmptrapd変更前OPTIONS=“-Lsd -p /var/run/snmptrapd.pid“変更後OPTIONS="-m +ALL -Lsd -On -p /var/run/snmptrapd.pid"~~~ 編集が終わったら、snmptrapdを再起動します。 10 2013/3/10
  • SNMPTTのインストール 環境設定: インストールディレクトリ:/usr/local/snmptt/ mib変換ファイルディレクトリ:/etc/snmp/snmptt_confs/ TrapperFileパス:/var/log/snmp/zabbix_traps.tmp logファイルパス: /var/log/snmptt/ パスは任意に変更することが可能です。 11 2013/3/9
  • SNMPTTのダウンロード 2013/03/07現在、SNMPTTの安定最新版はsnmptt_1.3となっています。 (snmptt_1.4bata2も公開されています。) snmptt_1.3 http://sourceforge.net/projects/snmptt/files/snmptt/snmptt_1.3/snmptt _1.3.tgz/downloadインストールディレクトリの作成# mkdir /usr/local/snmptt# mkdir /usr/local/snmptt/sbinSNMPTTダウンロード# cd /usr/local/snmptt# wget http://sourceforge.net/projects/snmptt/files/snmptt/snmptt_1.3/snmptt_1.3.tgz/download# tar zxvf snmptt_1.3.tgz 12 2013/3/9
  • Snmpttの構成 バイナリ snmptt :snmptt本体 snmpttconvertmib :mibファイルからsnmptt用設定ファイルを作成する コンバータ Snmptthandler:snmptrapdからtrapメッセージを受け取り spoolファイルを生成する 設定ファイル Snmptt.ini:snmpttの設定ファイル実行ファイル配置# cd snmptt_1.3# cp snmptt snmptthandler snmpttconvertmib /usr/local/snmptt/sbin/# cd /usr/local/snmptt/sbin/# chmod 755 snmptt snmpttconvertmib snmptthandler設定ファイルの配置# cp /usr/local/snmptt/snmptt_1.3/snmptt.ini /etc/snmp/ 13 2013/3/9
  • Snmptt.iniファイルの編集 /etc/snmp/snmptt.iniで変更を加えた部分についてだけ、記述します。mode = daemon #動作モードをdaemonに変更net_snmp_perl_enable = 1net_snmp_perl_best_guess = 2date_time_format = %Y/%m/%d %H:%M:%S #logの日時フォーマットです。アイテムの設定と合わせます。 (書式は異なるので注意)sleep = 1 #スリープ時間です、この秒数毎にspoolファイルを読み込みます。 デフォルトでは5秒毎です、1秒に変更します。log_file = /var/log/snmp/zabbix_traps.tmp #Zabbix_server.confのデフォルトSNMPTrapFileパスに 合わせています。log_system_enable = 1unknown_trap_log_enable = 1DEBUGGING_FILE = /var/log/snmptt/snmp.debugDEBUGGING_FILE_HANDLER = /var/log/snmptt/snmpttthandler.debug 14 2013/3/10
  • 動作用ディレクトリの作成 SNMPTTのログ・spool・SNMPTrapFile生成のため、ディレクトリの作成と パーミッションの設定を行います。Snmpttユーザの作成# useradd -s /sbin/nologin snmpttSpoolディレクトリの作成# mkdir /var/spool/snmptt# chown snmptt.snmptt /var/spool/snmptt/起動スクリプトの配置# cp /usr/local/snmptt/snmptt_1.3/snmptt-init.d /etc/init.d/snmptt# chkconfig --add snmptt# chkconfig snmptt onログファイル用ディレクトリの作成# mkdir /var/log/snmptt# chown snmptt.snmptt /var/log/snmpttSNMPTrapFile用に/var/log/snmp/ディレクトリのパーミッション変更#chgrp shmptt /var/log/snmp初期ファイルの作成# touch /var/log/snmp/zabbix_traps.tmp#chown snmptt /var/log/snmp/zabbix_traps.tmp 15 2013/3/9
  • Logrotate設定 SNMPTrapFileはSNMPTrapを受信する度に追記されるため、 logローテションの設定を行います。Logrotateファイルの配置# cp /usr/local/snmptt/snmptt_1.3/snmptt.logrotate /etc/logrotate.d/ snmptt.logrotateの中身は以下の通りです。/var/log/snmptt/snmptt*.log /var/log/snmptt/snmptthandler.debug /var/log/snmp/zabbix_traps.tmp { weekly notifempty missingok create 0644 snmptt rotate 1}/var/log/snmptt/snmptt.debug { weekly notifempty missingok create 0644 snmptt postrotate /etc/init.d/snmptt reload >/dev/null 2>/dev/null || true endscript 16 2013/3/9}
  • Mibファイルのコンバート Mibファイルからsnmptt用mib変換ファイルを生成します。 この例では、net-snmp附属のIF-MIBを変換しています。MIBファイルの変換# cd /usr/local/snmptt/sbin# ./snmpttconvertmib --in=/usr/share/snmp/mibs/IF-MIB.txt --out=/etc/snmp/IF-MIB.conf.org --net_snmp_perlZabbix用の識別コード挿入# cd /etc/snmp/#sed -e "s/^FORMAT¥s/FORMAT ZBXTRAP ¥$aA /g" IF-MIB.conf.org > IF-MIB.conf Snmpttのmib変換ファイルはmibファイルの数だけ(Trap用の情報を持た ないmibは除きます。)必要になりますので、ディレクトリを分ける事をお勧 めします。 17 2013/3/9
  • Mib変換ファイルの編集 Mibファイルのコンバートにより以下の様なmib変換ファイルが生成されま す。(上下は省略しています)~~~EVENT linkDown .1.3.6.1.6.3.1.1.5.3 "Status Events" NormalFORMAT ZBXTRAP $aA A linkDown trap signifies that the SNMP entity, acting in $*SDESC~~~EVENT linkUp .1.3.6.1.6.3.1.1.5.4 "Status Events" NormalFORMAT ZBXTRAP $aA A linkUp trap signifies that the SNMP entity, acting in an $*SDESC~~~ Snmpttがこのファイルをロードしている場合、Zabbixでは以下の様に表示 されます。 18 2013/3/9
  • Mib変換ファイルの編集 先ほどのファイルを以下のように編集することにより、Trapメッセージを日本 語化することも可能です。~~~EVENT linkDown .1.3.6.1.6.3.1.1.5.3 "Status Events" NormalFORMAT ZBXTRAP $aA ポートNo.$* でlinkDownトラップを検知しました。SDESC~~~EVENT linkUp .1.3.6.1.6.3.1.1.5.4 "Status Events" NormalFORMAT ZBXTRAP $aA ポートNo.$* でlinkUpトラップを検知しました。SDESC~~~ Snmpttがこのファイルをロードしている場合、Zabbixでは以下の様に表示 されます。 19 2013/3/9
  • Mib変換ファイルの読み込み設定 先ほどの様に作成したmib変換ファイルはsnmptt.iniにおいて、[TrapFiles] として定義することで読み込まれます。 [TrapFiles] の定義は、snmptt.iniファイルの最下部に記載されています。 TrapFilesの設定は絶対パスで行ってください。~~~[TrapFiles]# A list of snmptt.conf files (this is NOT the snmptrapd.conf file). The COMPLETE path# and filename. Ex: /etc/snmp/snmptt.confsnmptt_conf_files = <<END/etc/snmp/snmptt.conf/etc/snmp/snmptt_confs/IF-MIB.conf.jp~~~ Mib変換ファイルの編集を行った場合やsnmptt.iniの編集を行った場合、 必ずsnmpttの再起動を行ってください。 Snmpttのデーモンが再起動されるまで、設定は反映されません。 20 2013/3/9
  • 監視設定のポイント Zabbix2.0ではSNMPTTのmib変換ファイルにより、トラップ毎に別々のキー ワード、重要度を設定することができます。 SNMPTrapFileに記録されるキーワード・重要度が異なる場合、 Zabbix2.0では別々のアイテムとして登録することが出来るので トリガー設定では、データを受信したことだけを検知し、 詳細はアイテム値をみる事で、トリガーを簡略化することができます。 21 2013/3/9
  • 参考資料 謝辞:今回の検証においては以下の資料を参考にさせていただきました。 ZABBIX-JP Study#5 Zabbix2.0rc1 SNMP Traps http://www.slideshare.net/HaruyoshiChiyoda/zabbixjp-study4- zabbix20rc1-snmp-traps 米麹の検証日記 SNMPTT その1 http://ricemalt.blog98.fc2.com/blog-entry-20.html 22 2013/3/9