SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
【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 - ZBXTRAP
192.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.conf
traphandle default /usr/local/snmptt/sbin/snmptthandler
disableAuthorization 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/sbin

SNMPTTダウンロード
# 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 = 1

net_snmp_perl_best_guess = 2

date_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 = 1
unknown_trap_log_enable = 1
DEBUGGING_FILE = /var/log/snmptt/snmp.debug
DEBUGGING_FILE_HANDLER = /var/log/snmptt/snmpttthandler.debug



                                                14                                   2013/3/10
動作用ディレクトリの作成

 SNMPTTのログ・spool・SNMPTrapFile生成のため、ディレクトリの作成と
  パーミッションの設定を行います。
Snmpttユーザの作成
# useradd -s /sbin/nologin snmptt

Spoolディレクトリの作成
# 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/snmptt

SNMPTrapFile用に/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_perl

Zabbix用の識別コード挿入
# 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" Normal
FORMAT 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" Normal
FORMAT 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" Normal
FORMAT ZBXTRAP $aA ポートNo.$* でlinkDownトラップを検知しました。
SDESC
~~~
EVENT linkUp .1.3.6.1.6.3.1.1.5.4 "Status Events" Normal
FORMAT 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.conf'
snmptt_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

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかSQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
 
AvailabilityZoneとHostAggregate
AvailabilityZoneとHostAggregateAvailabilityZoneとHostAggregate
AvailabilityZoneとHostAggregate
 
Ethernetの受信処理
Ethernetの受信処理Ethernetの受信処理
Ethernetの受信処理
 
ファイルサーバを高速バックアップ!Veeam NASバックアップのここがスゴイ!
ファイルサーバを高速バックアップ!Veeam NASバックアップのここがスゴイ!ファイルサーバを高速バックアップ!Veeam NASバックアップのここがスゴイ!
ファイルサーバを高速バックアップ!Veeam NASバックアップのここがスゴイ!
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
 
kpackによるコンテナイメージのビルド
kpackによるコンテナイメージのビルドkpackによるコンテナイメージのビルド
kpackによるコンテナイメージのビルド
 
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
 
PostgreSQLアーキテクチャ入門
PostgreSQLアーキテクチャ入門PostgreSQLアーキテクチャ入門
PostgreSQLアーキテクチャ入門
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
 
Vacuum徹底解説
Vacuum徹底解説Vacuum徹底解説
Vacuum徹底解説
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
 
VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...
VirtualBox と Rocky Linux 8 で始める Pacemaker  ~ VirtualBox でも STONITH 機能が試せる! Vi...VirtualBox と Rocky Linux 8 で始める Pacemaker  ~ VirtualBox でも STONITH 機能が試せる! Vi...
VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...
 
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
 
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
 
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
 
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
 
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
 

Destaque

Destaque (6)

【 Zabbix 2.0 】zabbix 2.0による簡単 MySQL 監視 #Zabbix
【 Zabbix 2.0 】zabbix 2.0による簡単 MySQL 監視 #Zabbix【 Zabbix 2.0 】zabbix 2.0による簡単 MySQL 監視 #Zabbix
【 Zabbix 2.0 】zabbix 2.0による簡単 MySQL 監視 #Zabbix
 
LLD(ローレベルディスカバリ)を弄り倒せ、zabbix_senderを併用してらくらく可視化
LLD(ローレベルディスカバリ)を弄り倒せ、zabbix_senderを併用してらくらく可視化LLD(ローレベルディスカバリ)を弄り倒せ、zabbix_senderを併用してらくらく可視化
LLD(ローレベルディスカバリ)を弄り倒せ、zabbix_senderを併用してらくらく可視化
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
 
【 Zabbix 2.1 】 zabbix 2.2のVM監視機能評価 #Zabbix #自宅ラック勉強会
【 Zabbix 2.1 】 zabbix 2.2のVM監視機能評価 #Zabbix #自宅ラック勉強会【 Zabbix 2.1 】 zabbix 2.2のVM監視機能評価 #Zabbix #自宅ラック勉強会
【 Zabbix 2.1 】 zabbix 2.2のVM監視機能評価 #Zabbix #自宅ラック勉強会
 
【Zabbix 2.1】zabbix2.1.6→2.1.7 の変更点
【Zabbix 2.1】zabbix2.1.6→2.1.7 の変更点【Zabbix 2.1】zabbix2.1.6→2.1.7 の変更点
【Zabbix 2.1】zabbix2.1.6→2.1.7 の変更点
 
【 Zabbix 2.2 】zabbix update 2.0 to 2.2
【 Zabbix 2.2 】zabbix update 2.0 to 2.2【 Zabbix 2.2 】zabbix update 2.0 to 2.2
【 Zabbix 2.2 】zabbix update 2.0 to 2.2
 

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

Gangliaはじめました
GangliaはじめましたGangliaはじめました
Gangliaはじめました
yuzorock
 
Osc10do linux nextstep
Osc10do linux nextstepOsc10do linux nextstep
Osc10do linux nextstep
smokey monkey
 
tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1
Ryosuke IWANAGA
 
スタート低レイヤー #0
スタート低レイヤー #0スタート低レイヤー #0
スタート低レイヤー #0
Kiwamu Okabe
 
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込むDjangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む
2bo 2bo
 
Linuxサーバのセキュリティ対策 part1
Linuxサーバのセキュリティ対策 part1Linuxサーバのセキュリティ対策 part1
Linuxサーバのセキュリティ対策 part1
Kazunori Inaba
 

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

Zabbix2.0.3の新機能と変更点
Zabbix2.0.3の新機能と変更点Zabbix2.0.3の新機能と変更点
Zabbix2.0.3の新機能と変更点
 
Rubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつりRubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつり
 
Gangliaはじめました
GangliaはじめましたGangliaはじめました
Gangliaはじめました
 
MongoDB Configパラメータ解説
MongoDB Configパラメータ解説MongoDB Configパラメータ解説
MongoDB Configパラメータ解説
 
"Bits from the Apache Maintainers / Upcoming apache2 2.4 transition" を読んでみた
"Bits from the Apache Maintainers / Upcoming apache2 2.4 transition" を読んでみた"Bits from the Apache Maintainers / Upcoming apache2 2.4 transition" を読んでみた
"Bits from the Apache Maintainers / Upcoming apache2 2.4 transition" を読んでみた
 
InfiniBand on Debian
InfiniBand on DebianInfiniBand on Debian
InfiniBand on Debian
 
Gingerbread
GingerbreadGingerbread
Gingerbread
 
Osc10do linux nextstep
Osc10do linux nextstepOsc10do linux nextstep
Osc10do linux nextstep
 
Ruby でパケットパーサを作ろう
Ruby でパケットパーサを作ろうRuby でパケットパーサを作ろう
Ruby でパケットパーサを作ろう
 
Tokyo.R#16 wdkz
Tokyo.R#16 wdkzTokyo.R#16 wdkz
Tokyo.R#16 wdkz
 
2014 dart flight school in Tokyo
2014 dart flight school in Tokyo2014 dart flight school in Tokyo
2014 dart flight school in Tokyo
 
tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1
 
スタート低レイヤー #0
スタート低レイヤー #0スタート低レイヤー #0
スタート低レイヤー #0
 
#logstudy 01 rsyslog入門
#logstudy 01 rsyslog入門#logstudy 01 rsyslog入門
#logstudy 01 rsyslog入門
 
Debug Hacks Conference 2009
Debug Hacks Conference 2009Debug Hacks Conference 2009
Debug Hacks Conference 2009
 
ZabbixとAWS
ZabbixとAWSZabbixとAWS
ZabbixとAWS
 
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込むDjangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む
 
Linuxサーバのセキュリティ対策 part1
Linuxサーバのセキュリティ対策 part1Linuxサーバのセキュリティ対策 part1
Linuxサーバのセキュリティ対策 part1
 
Start-padrino
Start-padrinoStart-padrino
Start-padrino
 
Tremaとtrema edgeの違い
Tremaとtrema edgeの違いTremaとtrema edgeの違い
Tremaとtrema edgeの違い
 

Mais de 真乙 九龍

Mais de 真乙 九龍 (20)

監視とは何か ~監視エンジニアのスキルと成長~
監視とは何か ~監視エンジニアのスキルと成長~監視とは何か ~監視エンジニアのスキルと成長~
監視とは何か ~監視エンジニアのスキルと成長~
 
監視論
監視論監視論
監視論
 
AWS ネージメントコンソール再入門 2019
AWS ネージメントコンソール再入門 2019AWS ネージメントコンソール再入門 2019
AWS ネージメントコンソール再入門 2019
 
監視基盤 ~ZabbixとCloudWatch~
監視基盤 ~ZabbixとCloudWatch~監視基盤 ~ZabbixとCloudWatch~
監視基盤 ~ZabbixとCloudWatch~
 
レシピのすゝめ ~料理とお菓子と手順書と熱力学~
レシピのすゝめ ~料理とお菓子と手順書と熱力学~レシピのすゝめ ~料理とお菓子と手順書と熱力学~
レシピのすゝめ ~料理とお菓子と手順書と熱力学~
 
子育てで覚える AWS Organizations 〜ITエンジニア英才教育〜
子育てで覚える AWS Organizations 〜ITエンジニア英才教育〜子育てで覚える AWS Organizations 〜ITエンジニア英才教育〜
子育てで覚える AWS Organizations 〜ITエンジニア英才教育〜
 
re:invent2018 総ざらえ
re:invent2018 総ざらえre:invent2018 総ざらえ
re:invent2018 総ざらえ
 
Zabbixを2分でインストール
Zabbixを2分でインストールZabbixを2分でインストール
Zabbixを2分でインストール
 
クラウド概論 2018
クラウド概論 2018クラウド概論 2018
クラウド概論 2018
 
NTPとうるう秒
NTPとうるう秒NTPとうるう秒
NTPとうるう秒
 
素晴らしきIAMポリシービジュアルエディタの世界
素晴らしきIAMポリシービジュアルエディタの世界素晴らしきIAMポリシービジュアルエディタの世界
素晴らしきIAMポリシービジュアルエディタの世界
 
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
 
re:Invent2017で発表された新機能と運用
re:Invent2017で発表された新機能と運用re:Invent2017で発表された新機能と運用
re:Invent2017で発表された新機能と運用
 
Zabbix概論2018
Zabbix概論2018Zabbix概論2018
Zabbix概論2018
 
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
 
Systems manager ハンズオン ops jaw
Systems manager ハンズオン ops jaw Systems manager ハンズオン ops jaw
Systems manager ハンズオン ops jaw
 
Systems manager 入門 ops jaws
Systems manager 入門 ops jawsSystems manager 入門 ops jaws
Systems manager 入門 ops jaws
 
Zabbix概論
Zabbix概論Zabbix概論
Zabbix概論
 
閏秒挿入のお知らせ
閏秒挿入のお知らせ閏秒挿入のお知らせ
閏秒挿入のお知らせ
 
閏秒挿入のお知らせ
閏秒挿入のお知らせ閏秒挿入のお知らせ
閏秒挿入のお知らせ
 

Último

Último (11)

論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

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

  • 1. 【Zabbix2.0】 SNMPTTによる トラップメッセージの編集 2013.03 @qryuu 1 2013/3/9
  • 2. 自己紹介  HN :九龍真乙  所属 :自宅ラック勉強会  TwitterID: @qryuu 2 2013/3/9
  • 4. Zabbix2.0でのSNMPTrap監視  Zabbix2.0ではSNMPTrapメッセージを SNMPTT(SNMP Trap Translator)を使って整形し、 SNMPTrapperFileに出力されたメッセージを SNMPTrapperという専用プロセスによって収集します。 4 2013/3/9
  • 5. SNMP-Trap監視 Zabbix1.8 Zabbix2.0 snmptrapd snmptrapd サンプルスクリプト handler または SNMPTT 自作スクリプト TrapperFile zabbix_sender snmp_trapper Zabbix_Trapper snmptrap 5 2013/3/9
  • 6. snmpttによるTrapの動き SNMPTrap snmptrapd handler snmptt snmp trapper snmptt.log (.conf) +カテゴリ,重要度 key:snmptrap[< 重要度>"カテゴリ 名"] 6 2013/3/9
  • 7. 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
  • 8. 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 - ZBXTRAP 192.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
  • 9. unmatched trapのロギング設定 アイテム登録の無いIPアドレスからのSNMPTrapを受信した際に、zabbix_server.logに unmatched trap received from[IPaddress]:~~メッセージを記録するかどうかは[一般設 定]-[その他のパラメータ]の設定により変わります。 [マッチしないSNMPトラップをログに記録]の チェックをはずした場合、zabbix_server.logにunmatched trap のメッセージは出力されな くなります。 9 2013/3/9
  • 10. snmptrapdの設定  SNMPTrap受信するのは、snmptrapdプロセスです。 SNMPTrapを受信したら、SNMPTTのhandlerをキックするように、 snmptrapd.confを編集します。 ~~~ #vi /etc/snmp/snmptrapd.conf traphandle default /usr/local/snmptt/sbin/snmptthandler disableAuthorization 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
  • 11. SNMPTTのインストール  環境設定:  インストールディレクトリ:/usr/local/snmptt/ mib変換ファイルディレクトリ:/etc/snmp/snmptt_confs/ TrapperFileパス:/var/log/snmp/zabbix_traps.tmp logファイルパス: /var/log/snmptt/  パスは任意に変更することが可能です。 11 2013/3/9
  • 12. 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/sbin SNMPTTダウンロード # 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
  • 13. 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
  • 14. Snmptt.iniファイルの編集  /etc/snmp/snmptt.iniで変更を加えた部分についてだけ、記述します。 mode = daemon #動作モードをdaemonに変更 net_snmp_perl_enable = 1 net_snmp_perl_best_guess = 2 date_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 = 1 unknown_trap_log_enable = 1 DEBUGGING_FILE = /var/log/snmptt/snmp.debug DEBUGGING_FILE_HANDLER = /var/log/snmptt/snmpttthandler.debug 14 2013/3/10
  • 15. 動作用ディレクトリの作成  SNMPTTのログ・spool・SNMPTrapFile生成のため、ディレクトリの作成と パーミッションの設定を行います。 Snmpttユーザの作成 # useradd -s /sbin/nologin snmptt Spoolディレクトリの作成 # 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/snmptt SNMPTrapFile用に/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
  • 16. 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 }
  • 17. 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_perl Zabbix用の識別コード挿入 # 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
  • 18. Mib変換ファイルの編集  Mibファイルのコンバートにより以下の様なmib変換ファイルが生成されま す。(上下は省略しています) ~~~ EVENT linkDown .1.3.6.1.6.3.1.1.5.3 "Status Events" Normal FORMAT 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" Normal FORMAT ZBXTRAP $aA A linkUp trap signifies that the SNMP entity, acting in an $* SDESC ~~~  Snmpttがこのファイルをロードしている場合、Zabbixでは以下の様に表示 されます。 18 2013/3/9
  • 19. Mib変換ファイルの編集  先ほどのファイルを以下のように編集することにより、Trapメッセージを日本 語化することも可能です。 ~~~ EVENT linkDown .1.3.6.1.6.3.1.1.5.3 "Status Events" Normal FORMAT ZBXTRAP $aA ポートNo.$* でlinkDownトラップを検知しました。 SDESC ~~~ EVENT linkUp .1.3.6.1.6.3.1.1.5.4 "Status Events" Normal FORMAT ZBXTRAP $aA ポートNo.$* でlinkUpトラップを検知しました。 SDESC ~~~  Snmpttがこのファイルをロードしている場合、Zabbixでは以下の様に表示 されます。 19 2013/3/9
  • 20. 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.conf' snmptt_conf_files = <<END /etc/snmp/snmptt.conf /etc/snmp/snmptt_confs/IF-MIB.conf.jp ~~~  Mib変換ファイルの編集を行った場合やsnmptt.iniの編集を行った場合、 必ずsnmpttの再起動を行ってください。 Snmpttのデーモンが再起動されるまで、設定は反映されません。 20 2013/3/9
  • 21. 監視設定のポイント  Zabbix2.0ではSNMPTTのmib変換ファイルにより、トラップ毎に別々のキー ワード、重要度を設定することができます。  SNMPTrapFileに記録されるキーワード・重要度が異なる場合、 Zabbix2.0では別々のアイテムとして登録することが出来るので トリガー設定では、データを受信したことだけを検知し、 詳細はアイテム値をみる事で、トリガーを簡略化することができます。 21 2013/3/9
  • 22. 参考資料  謝辞:今回の検証においては以下の資料を参考にさせていただきました。  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