Zabbix 2.2 のSNMPトラップ受信でいろいろやってみる。 その2(SNMPTrapper&perlスクリプト)

Zabbix 2.2 では、SNMPトラップを受信する方法で、
Zabbix_Sender&シェルスクリプトについては、前回成功したので、
今度は、Zabbix2.0から導入されたアイテムタイプ「SNMPトラップ」を利用した方法にチャレンジ。

アイテムタイプ「SNMPトラップ」を使った方法にも2種類あります。
・Perlスクリプトを利用した方法(SNMPTrapdの出力をそのまま出力)
・SNMPTTを利用した方法(市販NMSのようなメッセージ変換が可能)

今回は、Perlスクリプトに関する方法を試してみます。

なお、連携方法については、以下の公式ドキュメントにあります。
https://www.zabbix.com/documentation/2.2/manual/config/items/itemtypes/snmptrap

続きを読む

Zabbix 2.2 のSNMPトラップ受信でいろいろやってみる。 その1(Zabbix_Sender&シェルスクリプト)

Zabbix 2.2 では、SNMPトラップを受信出来るようなので、やってみた。

ZabbixでSNMPトラップを処理する場合は、いくつかあって、
・以前からの方法であるZabbix_Senderを使用する方法
・新しい方法であるアイテムタイプにSNMP trapsを使用する方法
があります。

ただ、新しい方法の資料があまりないので、
以前からの方法をベースに、いろいろと変えて試してみました。

参考

 

変更した点

・1つのサーバにSNMPTrapの結果に集めるのではなく、
SNMPTrapが発行された各サーバに登録するよう変更。
(DNSやHostsでIPアドレスからマシン名を逆引き出来ない環境だと
Trap発生ホスト名が<UNKNOWN>になってしまうことに対する対応を含む)

・複数のOIDがある場合に、うまく動かない点を修正
(とりあえず、6まで対応)

・メッセージを変更
“$hostname $address $community $enterprise $oid”

“$oid:$oid:$oid・・・・・”

続きを読む

Zabbix 2.2のアラームを棒読みちゃんで読み上げてみた(正当版)。

Zabbix 2.2のアラームを棒読みちゃんでしゃべらせたら面白いかも
TT-RSSとメールサーバの連携 その3(PHP製IMAP->RSS変換ツールを試す 改造版試作1号)

と、いろいろ試してきましたが、

Zabbix 2.2のアラーム
-> MAIL(IMAP)
-> PHP製IMAP2RSS変換スクリプト改
-> RSS速報
-> 棒読みちゃん

というピタゴラスイッチには、失敗続き。

RSS作成まではうまくいき、棒読みちゃんを呼びたすために、
RSS速報を使ってみるが、RSS速報がRSSをうまく認識しない。
というか、最初の起動時にはRSSを読んで、
その内容を棒読みちゃんで読み上げてくれるのに、
その後はRSSの更新に反映しないという状況に・・・・・
代わりのRSSと棒読みちゃんとの間を掛け持つツールがなかなか見つかりませぬ。

ただ、Zabbixのアラームを、棒読みちゃんで読み上げるだけであれば
すごい簡単なのに、負けた気分だわ。

 

ちなみにZabbixの障害発生時に、
棒読みちゃんで読み上げる方法は以下の通り。

  1. WindowsPCに棒読みちゃんをインストール(C:\wintool\BouyomiChan\)
  2. 棒読みちゃんをインストールしたWindowsPCにZabbixAgentをインストール
    zabbix_agent-1.8.15-1.JP_installer.exeとかがインストーラ付で簡単。
    インストール時に、リモートコマンドを有効にするのと、ZABBIXサーバのホスト名を入れるだけです。(標準のインストール先はC:\Program Files\ZABBIX Agent\)
  3. Zabbix側で、棒読みちゃんをインストールしたWindowsPCを登録
  4. 設定->アクションで棒読みちゃん用設定を登録
    ・名前:Talking problems to BouyomiChan
    ・アクションの実行条件:トリガーの値 = 障害
    (復帰時にもしゃべらせたい場合は、トリガーの値 = 正常)

    ・実行内容のタイプ:リモートコマンド
    ・ターゲットリスト: ホスト – 棒読みちゃんをインストールしたWinPC名
    ・タイプ:カスタムスクリプト
    ・次で実行:Zabbixエージェント
    ・コマンド:C:\wintool\BouyomiChan\RemoteTalk\RemoteTalk.exe /talk ” ザビックス通知 {HOST.NAME1} で {TRIGGER.NAME} が {TRIGGER.STATUS} になりました”

基本的にはこんな感じでOKです。
(ただZabbix AgentのリモートコマンドでRemoteTalk.exeをキックしてるだけですが。)

 

ただ、とりあえずの目的であった、
Zabbix->MAIL->RSS->TT-RSSで連携して、
稼働情報の集中管理はできたので、良しとしよう。