+ All Categories
Home > Documents > Nagios XI SNMPトラップ統合方法 - Jupiter Technology Corp....Nagios XI でのSNMP...

Nagios XI SNMPトラップ統合方法 - Jupiter Technology Corp....Nagios XI でのSNMP...

Date post: 25-Jan-2021
Category:
Upload: others
View: 5 times
Download: 0 times
Share this document with a friend
12
Nagios XI での SNMP トラップ統合方法 rev 1.4 1 Nagios XI – SNMP トラップ統合方法 目的 この資料では、外部デバイスからの SNMP トラップを受信して処理するように、Nagios XI を設定する方 法を説明します。SNMP トラップ監視を行えば、リアルタイムのイベントやネットワークインシデントを監 視できるため、システム管理者は正確で健全な監視環境を確保できます。 対象読者 この資料は、SNMP トラップ監視を行いたい Nagios 管理者を対象としています。 自動インストール ターミナルを開いて root ユーザーで Nagios XI サーバーにログインし、以下のコマンドを実行します。 cd /tmp wget http://assets.nagios.com/downloads/nagiosxi/scripts/NagiosXI-SNMPTrap-setup.sh sh ./NagiosXI-SNMPTrap-setup.sh NagiosXI-SNMPTrap-setup.sh は、以下を行います: 必要な事前要件をすべてインストールします。 サポートファイルをダウンロードしインストールします。 snmptt.ini snmptrapd.conf ファイルを更新します。 snmptt ユーザーを nagios および nagcmd グループに追加します。 いくつかのパーミッションを更新します。 iptables にファイヤウォールルールを追加し、UDP 162 ポートを開きます。 snmptt snmptrapd デーモンを起動時に自動開始するようにセットアップします。 中間ファイヤウォール 遠隔地にあるデバイスで Nagios XI SNMP トラップを送信するよう設定する前に、Nagios XI サーバー と遠隔地のデバイス間にある中間ファイヤウォールでインバウンド SNMP トラップを Nagios XI に送信す るよう設定する必要があります。遠隔地のデバイスから Nagios XI サーバーへの UDP162 ポートでの通 信を許可してください。
Transcript
  • Nagios XI での SNMP トラップ統合方法

    rev 1.4

    1

    Nagios XI – SNMP トラップ統合方法

    目的

    この資料では、外部デバイスからの SNMP トラップを受信して処理するように、Nagios XI を設定する方

    法を説明します。SNMP トラップ監視を行えば、リアルタイムのイベントやネットワークインシデントを監

    視できるため、システム管理者は正確で健全な監視環境を確保できます。

    対象読者

    この資料は、SNMP トラップ監視を行いたい Nagios 管理者を対象としています。

    自動インストール

    ターミナルを開いて root ユーザーで Nagios XI サーバーにログインし、以下のコマンドを実行します。

    cd /tmp wget http://assets.nagios.com/downloads/nagiosxi/scripts/NagiosXI-SNMPTrap-setup.sh sh ./NagiosXI-SNMPTrap-setup.sh

    NagiosXI-SNMPTrap-setup.sh は、以下を行います:

    • 必要な事前要件をすべてインストールします。

    • サポートファイルをダウンロードしインストールします。

    • snmptt.ini と snmptrapd.conf ファイルを更新します。

    • snmptt ユーザーを nagios および nagcmd グループに追加します。

    • いくつかのパーミッションを更新します。

    • iptables にファイヤウォールルールを追加し、UDP 162 ポートを開きます。

    • snmptt と snmptrapd デーモンを起動時に自動開始するようにセットアップします。

    中間ファイヤウォール

    遠隔地にあるデバイスで Nagios XI に SNMP トラップを送信するよう設定する前に、Nagios XI サーバー

    と遠隔地のデバイス間にある中間ファイヤウォールでインバウンド SNMP トラップを Nagios XI に送信す

    るよう設定する必要があります。遠隔地のデバイスから Nagios XI サーバーへの UDP162 ポートでの通

    信を許可してください。

  • Nagios XI での SNMP トラップ統合方法

    rev 1.4

    2

    Nagios XI – SNMP トラップ統合方法

    ほとんどのチェックとは異なり、Nagios XI は SNMP トラップの(クライアントではなく)サーバーであること

    に注意して下さい。パケットフローは Nagios XI マシンへのインバウンドです(入ってきます)。

    上述の自動インストールで実行する NagiosXI-SNMPTrap-setup.sh スクリプトが UDP 162 ポートを開くファイヤウォールルールを iptables に追加します。

    MIB のインストール

    遠隔地のデバイスが使用している MIB を Nagios XI サーバー上の snmptt で使用できるように設定する

    必要があります。これは、「管理 -> システム拡張 -> MIB 管理」から行います。

    「参照」ボタンをクリックして MIB ファイルを選択し、「トラップを処理する」にチェックをつけて「MIB をアッ

    プロード」をクリックします。

    ファイヤウォール

    Nagios XI サーバー

    遠隔地デバイス

    SNMP TrapUDP162ポート

  • Nagios XI での SNMP トラップ統合方法

    rev 1.4

    3

    Nagios XI – SNMP トラップ統合方法

    MIB ファイルにトラップ定義が見つかった場合、/etc/snmp/snmptt.conf ファイルに EVENT として追加されます。

    MIB ファイルは/usr/share/snmp/mibs/ディレクトリにもコピーされます。

    「トラップを処理する」チェックボックスにチェックをつけずにMIBファイルをアップロードしてしまった場合

    は、ターミナルセッションで以下のコマンドを実行してください:

    addmib

    実行例:

    addmib /usr/share/snmp/mibs/NAGIOS-NOTIFY-MIB.txt

    SNMPTT

    SNMP Trap Translator は受信したトラップを処理し、Nagios XI へ送信するかどうかを決定します。この

    資料では SNMPTT がどのように動作するかについて簡単に説明します。

    EVENT/FORMAT/EXEC

    トラップ定義は/etc/snmp/snmptt.conf ファイルで定義します。常に EVENT 行から始まり、FORMAT行と EXEC 行が後に続きます。他の行は必須ではありません。例えば、SDESC から EDESC までの行

    はコメント情報であり、トラップの一部としては処理されません。

    EVENT

    OID/MIB を指定する行です。受信したトラップに一致する場合、SNMPTT が EXEC 行で定義されたアク

    ションを実行します。

  • Nagios XI での SNMP トラップ統合方法

    rev 1.4

    4

    Nagios XI – SNMP トラップ統合方法

    FORMAT

    EVENT が一致したときに、/var/log/snmptt/snmptt.log ファイルに何を記録するかを定義します。受信したトラップがSNMPTTで一致しない場合は、/var/log/snmptt/snmpttunknown.logファイルに記録されます。

    EXEC

    受信したトラップを Nagios XI へ送信する行です。デフォルトではチェック結果を Nagios XI へ送信する

    /usr/local/bin/snmptraphandling.py スクリプトを実行します。

    例:

    EVENT linkDown .1.3.6.1.6.3.1.1.5.3 "Status Events" Critical FORMAT Link down on interface $1. Admin state: $2. Operational state: $3 EXEC /usr/local/bin/snmptraphandling.py "$r" "SNMP Traps" "$s" "$@" "$-*" "Link down on interface $1. Admin state: $2. Operational state: $3"

    簡単な説明:

    EVENT 行は Nagios XI へ送信するときにこのトラップを CRITICAL として定義します。

    EXEC 行は Nagios XI へ送信するときに SNMP Traps というサービスをターゲットとします。

    注記: EXEC 行が上の行と異なる場合は、以下のナレッジベース記事の手順に従ってください:

    https://support.nagios.com/kb/article.php?id=559

    SNMPTT 処理の動作

    SNMPTT は受信したトラップと snmptt.conf ファイルのすべての EVENT を比較するということを知っておくことは重要です。同じ OID/MIB を持つ EVENT を複数回定義することができます(この結果として複

    数の EXEC ステートメントを実行できます)。ここで重要な点は、SNMPTT は一度 EVENT が一致しても

    snmptt.conf ファイルの検索を止めないということです。

    この動作により、MATCH 行を使用してフィルタを適用した、より複雑な EVENT が可能になります。2つ

    の同じ EVENT がある場合、同時に2つのトラップを Nagios XI へ送信し、後で受信したトラップが前のト

    ラップを上書きする可能性があります。これはこの資料の範囲外ですが、言及する価値はあります。

    https://support.nagios.com/kb/article.php?id=559

  • Nagios XI での SNMP トラップ統合方法

    rev 1.4

    5

    Nagios XI – SNMP トラップ統合方法

    テスト SNMP トラップの送信

    テストトラップを Nagios XI へ送信するのはとても簡単です。

    ターミナルセッションを開き、以下のコマンドを実行します:

    snmptrap -v 2c -c public 127.0.0.1 '' linkUp ifDescr s eth0 ifAdminStatus i 1 ifOperStatus i 1

    このコマンドを実行すると、以下のようなログが/var/log/snmptt/snmptt.log ファイルに記録されます:

    Mon Nov 28 11:15:42 2016 .1.3.6.1.6.3.1.1.5.4 Normal "Status Events" localhost - Link up on interface eth0. Admin state: up. Operational state: up

    また以下のようなログが/usr/local/nagios/var/nagios.log ファイルに記録されます:

    [1480298939] Warning: Passive check result was received for service 'SNMP Traps' on host 'localhost', but the service could not be found! [1480298939] Error: External command failed -> PROCESS_SERVICE_CHECK_RESULT;localhost;SNMP Traps;0;Link up on interface eth0. Admin state: up. Operational state: up / ifDescr (OCTETSTR):eth0 ifAdminStatus (INTEGER):up ifOperStatus (INTEGER):up

    Nagios XIは SNMPトラップを受信していますが、SNMP Trapsサービスが見つからないというメッセージ

    が見つかります。次に SNMP トラップウィザードを使用して Nagios XI にこのサービスを作成する手順を

    説明します。

    SNMP トラップウィザードの使用

    SNMP トラップを受信して処理したいホストまたはデバイスは、Nagios XI に対応する SNMP Trap サービ

    ス定義がなければなりません。Nagios XI にはこれらの SNMP トラップイベントをすばやく簡単に設定で

    きる「SNMP トラップ」設定ウィザードがあります。

    SNMP トラップウィザードの使用手順は以下のとおりです。

    Step 1. Nagios XI Web インターフェースにログインし、「設定 -> 設定ウィザード」をクリックします。

  • Nagios XI での SNMP トラップ統合方法

    rev 1.4

    6

    Nagios XI – SNMP トラップ統合方法

    Step 2. 「SNMP トラップ」ウィザードを選択します。

    メモ: 検索フィールドに「snmp」と入力すると、すぐに見つかります。

    Step 3. 「次へ」をクリックします。

    Step 4. SNMP トラップサービスを追加したいホストを選択し、「次へ」をクリックします。

    Step 5. 以降の手順は他のウィザードと同じです。最終ステップまで進み、設定を適用させます。

    SNMP Trap サービスが作成されました。「ステータス詳細を表示する: xxxx」リンクをクリック

    して作成された新しいサービスを確認してください。

  • Nagios XI での SNMP トラップ統合方法

    rev 1.4

    7

    Nagios XI – SNMP トラップ統合方法

    テスト SNMP トラップ送信

    Nagios XI でどのように受信されるかを確認するため、テストトラップを送信します。ターミナルセッション

    で以下のコマンドを実行します:

    snmptrap -v 2c -c public 127.0.0.1 '' linkUp ifDescr s eth0 ifAdminStatus i 1 ifOperStatus i 1

    上記のコマンドを実行すると、サービスが以下のように更新されます:

    linkUp トラップなのでサービスは正常(OK)ステータスで送信されました。これは EVENT 行の最後がNormal(Nagios XI の OK)であり、EXEC 行が”$s”変数をもつ Normal ステータスを送信するためです。

    EVENT linkUp .1.3.6.1.6.3.1.1.5.4 "Status Events" Normal FORMAT Link up on interface $1. Admin state: $2. Operational state: $3 EXEC /usr/local/bin/snmptraphandling.py "$r" "SNMP Traps" "$s" "$@" "$-*" "Link up on interface $1. Admin state: $2. Operational state: $3"

  • Nagios XI での SNMP トラップ統合方法

    rev 1.4

    8

    Nagios XI – SNMP トラップ統合方法

    次に linkDown のテストトラップを送信し、Nagios XI でどのように受信されるかを確認します。ターミナルセッションで以下のコマンドを実行します。

    snmptrap -v 2c -c public 127.0.0.1 '' linkDown ifDescr s eth0 ifAdminStatus I 2 ifOperStatus I 2

    このコマンドを実行すると、サービスが以下のように更新されます:

    linkDown トラップなので、サービスはクリティカル(CRITICAL)ステータスで送信されます。これはEVENT 行の末尾が Critical であり、EXEC 行が”$s”変数を持つ CRITICAL ステータスを送信するためです。

    EVENT linkDown .1.3.6.1.6.3.1.1.5.3 "Status Events" Critical FORMAT Link down on interface $1. Admin state: $2. Operational state: $3 EXEC /usr/local/bin/snmptraphandling.py "$r" "SNMP Traps" "$s" "$@" "$-*" "Link down on interface $1. Admin state: $2. Operational state: $3"

    SNMP Trap サービスは次のトラップを受信するまでクリティカル(CRITICAL)ステータスのままです。

    SNMP トラップはパッシブ

    SNMP トラップの重要なポイントは、同時に発生しうる非同期イベントであるということです。Nagios XI で

    はこれをパッシブチェック/サービスと呼びます。つまり、Nagios XI で定期的にアクティブにチェックされ

    るのではなく、Nagios XI は遠隔地のデバイスからの SNMP トラップを待ちます。

    アクティブチェックとパッシブチェックには以下のような違いがあります:

    UPS デバイスが電源を失いバッテリで稼働している:

    アクティブチェックの場合

    Nagios XI が5分間隔でデバイスをチェックしていた場合、Nagios XI がデバイスがバッテリで稼働し

    ていることに気づくのに最大5分かかかります。

    パッシブチェックの場合

    デバイスはバッテリで動作を開始するとすぐに SNMP トラップを Nagios XI へ送信します。

    パッシブサービスについて詳しくは「パッシブサービスの設定」ガイドをお読みください。

    http://www.jtc-i.co.jp/support/documents/nagiosxi_docs/nagiosxi_configuring_passive_services.pdf

  • Nagios XI での SNMP トラップ統合方法

    rev 1.4

    9

    Nagios XI – SNMP トラップ統合方法

    トラブルシューティング

    SNMP トラップは、非常に複雑で、ある程度の知識とトラブルシューティングが必要になります。

    以下では、SNMP トラップの一般的なトラブルシューティングの概要を説明します。前述のインストール

    スクリプトを使用せずにこのトラブルシューティングガイドを試みる場合、スクリプトが SNMPTT の様々

    な面を有効にしているのでより困難になるかもしれません。

    最初は、別サーバーからテストトラップを送信してみるのが役立ちます。これは Nagios サーバーからも

    行えますが、存在するかもしれないファイヤウォールルールを検証することはできません。前の例で使

    用した snmptrap コマンドを使ってテストトラップを送信し、有効なトラップを Nagios XI へ送信します:

    snmptrap -v 2c -c public '' netSnmpExampleHeartbeatNotification netSnmpExampleHeartbeatRate I 123456

    これは SNMP トラップを Nagios XI サーバーへ送信します。は実際のNagios XI サーバーの IP に置き換えてください。

    今、テストトラップを送信しました。正常に動作しているかを確認するためにいくつかをチェックする必要

    があります。送信された特定のトラップは snmptt.conf ファイルに存在しないため、以下のファイルに記録されます:

    /var/log/snmptt/snmpttunknown.log

    テスト SNMP トラップのログがファイルの末尾に記録されます。もしなければ、途中に中間のファイヤウ

    ォールが存在しないことを確かめてください。iptables で port 162 が許可されていることを確認してください。このテストトラップを取得できるようになるまで先に進まないでください。より詳しいトラブルシュー

    ティング手順は以下のナレッジベース記事にあります:

    SNMP Trap - Inbound UDP Traffic

    https://support.nagios.com/kb/article.php?id=86

    SNMP Trap - Firewall Rules

    https://support.nagios.com/kb/article.php?id=87

    トラップを受信できた場合、実際の SNMP トラップのキャプチャを開始する準備ができています。

    /var/log/snmptt/snmptt.log で 受 信 し た SNMP ト ラ ッ プ を 監 視 し て く だ さ い 。 ま た 、snmpttunknown.log にも注目してトラップが不明な状態に追いやられていないかを確認してください。

    /var/log/snmptt/snmptt.logにトラップが見つかるがNagios XIシステム内に見つからない場合は、トラップを送信してくるリモートホストに SNMP Traps サービスがセットアップされていない可能性がありま

    す。Nagios XI はこれらのトラップを受信していますが、トラップが属しているホストに定義されたサービ

    スがないため結果を廃棄しています。

    https://support.nagios.com/kb/article.php?id=86https://support.nagios.com/kb/article.php?id=87

  • Nagios XI での SNMP トラップ統合方法

    rev 1.4

    10

    Nagios XI – SNMP トラップ統合方法

    Nagios XI には「未設定オブジェクト」というページがあります。このページでは Nagios XI が受信したが

    オブジェクトが存在しないパッシブチェックを確認できます。Nagios XI Web インターフェースにログインし、

    「管理 -> 監視設定 -> 未設定オブジェクト」に移動し、アクション欄の青色の三角アイコンをクリック

    して「未設定パッシブオブジェクト」ウィザードを実行することができます。または(この資料で紹介した)

    SNMP トラップウィザードで SNMP トラップサービスをセットアップすることもできます。未設定パッシブオ

    ブジェクトウィザードについては、「Monitoring Unconfigured Objects」をお読みください。

    以下のナレッジベース記事もトラブルシューティングに役立ちます:

    SNMP Trap - snmptrapd Service

    https://support.nagios.com/kb/article.php?id=88

    SNMP Trap - snmpttt Service

    https://support.nagios.com/kb/article.php?id=89

    その他の資料

    テスト SNMP トラップ送信例について詳しく知りたい場合は、以下のナレッジベース記事をお読みくださ

    い:

    SNMP Trap - How To Send A Test Trap

    https://support.nagios.com/kb/article.php?id=493

    Nagios XI で SNMP トラップがどのように動作するかやテスト環境のセットアップ方法について知りたい

    場合は、以下のチュートリアルをお読みください:

    Nagios XI - SNMP Trap Tutorial

    https://support.nagios.com/kb/article.php?id=77

    IPv6 SNMP トラップ受信に問題がある場合は、以下のナレッジベースをお読みください:

    Nagios XI - Receiving IPv6 SNMP Traps

    https://support.nagios.com/kb/article.php?id=499

    SNMP トラップ変数について知りたい場合は、以下のナレッジベース記事をお読みください:

    SNMP Traps - Understanding Trap Variables

    https://support.nagios.com/kb/article.php?id=558

    https://assets.nagios.com/downloads/nagiosxi/docs/Monitoring_Unconfigured_Objects_With_XI.pdfhttps://support.nagios.com/kb/article.php?id=88https://support.nagios.com/kb/article.php?id=89https://support.nagios.com/kb/article.php?id=493https://support.nagios.com/kb/article.php?id=77https://support.nagios.com/kb/article.php?id=499https://support.nagios.com/kb/article.php?id=558

  • Nagios XI での SNMP トラップ統合方法

    rev 1.4

    11

    Nagios XI – SNMP トラップ統合方法

    標準ハンドラと組み込みハンドラについて知りたい場合は、以下のナレッジベース記事をお読みくださ

    い:

    SNMP Traps - Standard Handler vs Embedded Handler

    https://support.nagios.com/kb/article.php?id=557

    snmptt.conf ファイルについて知りたい場合は、SNMPTT ドキュメントをお読みください:

    SNMPTT ドキュメンテーション

    http://snmptt.sourceforge.net/docs/snmptt.shtml

    OID や番号についてより詳しく知りたい場合は、http://www.oid-info.com/ をご参照ください。知ってい

    る OID がリポジトリにまだ存在しない場合は、提出することをお勧めします。すべてのイベント名が

    linkDown のようにわかりやすいわけではないので、設定に何を使用するかを調査する必要があります。使用する MIB にはどのイベント名を使用できるかを説明するドキュメントが付属しているはずです。

    最後に

    SNMP トラップは、IT インフラの非同期イベントを監視する素晴らしい方法です。MIB 管理と SNMP プロ

    トコルは複雑でしばしば困難を伴いますが、SNMP の入出力に慣れれば、IT インフラ管理が大幅に強

    化され、高度なリアルタイムネットワークイベント監視を行うことができます。

    お問い合わせ

    弊社では、Nagios XI に関するご意見、フィードバックをお待ちしております。

    Nagios XI についてご不明な点がございましたら、以下までお問い合わせください。

    ジュピターテクノロジー株式会社(Jupiter Technology Corp.)

    住所: 〒183-0023 東京都府中市宮町 2-15-13 第 15 三ツ木ビル 8F

    URL: http://www.jtc-i.co.jp/

    電話番号: 042-358-1250

    FAX 番号: 042-360-6221

    ご購入のお問い合わせ:

    お問い合わせフォーム https://www.jtc-i.co.jp/contact/scontact.php

    メール [email protected]

    製品サポートのお問い合わせ:

    カスタマーポータル https://www.jtc-i.co.jp/support/customerportal/

    https://support.nagios.com/kb/article.php?id=557http://snmptt.sourceforge.net/docs/snmptt.shtmlhttp://www.oid-info.com/http://www.jtc-i.co.jp/https://www.jtc-i.co.jp/contact/scontact.phpmailto:[email protected]://www.jtc-i.co.jp/support/customerportal/

  • Nagios XI での SNMP トラップ統合方法

    rev 1.4

    Nagios XI – SNMP トラップ統合方法

    日本語マニュアル発行日 2017 年 03 月 10 日

    本マニュアル原文 Nagios XI – How to Integrate SNMP Traps With Nagios XI

    Updated – February, 2017

    ジュピターテクノロジー株式会社

    目的対象読者自動インストール中間ファイヤウォールMIBのインストールSNMPTTEVENT/FORMAT/EXECEVENTFORMATEXEC

    SNMPTT処理の動作

    テストSNMPトラップの送信SNMPトラップウィザードの使用テストSNMPトラップ送信SNMPトラップはパッシブトラブルシューティングその他の資料最後にお問い合わせ


Recommended