SNMPモニタリングシステムとの統合 |
Dr.Web SNMPエージェントは、SNMPプロトコル、バージョン2cまたは3を使用するモニタリングシステムのデータプロバイダーとして機能します。制御に使用できるデータのリストとデータ構造は、Dr.Web for UNIX Internet Gatewaysに付属のDr.Web MIB記述ファイルDRWEB-SNMPD-MIB.txtに記述されています。このファイルは、ディレクトリ<opt_dir>/share/drweb-snmpd/mibsにあります。 簡単に設定できるように、このコンポーネントには一般的なモニタリングシステム用の設定テンプレートが付属しています。 モニタリングシステム用のカスタマイズテンプレートは、<opt_dir>/share/drweb-snmpd/connectorsディレクトリにあります。 Muninモニタリングシステムには、モニタリング対象ホストにローカルに存在するクライアントmunin-nodeから統計を収集する中央サーバー(マスター)muninが含まれています。サーバーのリクエストに応じて、各モニタリングクライアントは、サーバーに転送されたデータを提供するプラグイン(プラグイン)を起動することによって、モニタリング対象ホストの動作に関するデータを収集します。 Dr.Web SNMPDとMuninモニタリングシステム間の接続を可能にするために、すぐに利用できるmunin-node用プラグインDr.Webが用意されています。このプラグインは<opt_dir>/share/drweb-snmpd/connectors/munin/pluginsディレクトリにあります。このプラグインは、次の2つのグラフの作成に必要なデータを収集します。 •検出された脅威の数。 •ファイルのスキャン統計情報 •メールメッセージのスキャン統計(Dr.Web MailDコンポーネントでのみメール統計を取得できます。Dr.Web MailDはDr.Web for UNIX Internet Gatewaysには含まれていません)。 これらのプラグインは、SNMPプロトコルバージョン1、2c、3をサポートしています。これらのテンプレートプラグインに基づいて他のプラグインを作成すれば、Dr.Web SNMPD経由でDr.Web for UNIX Internet Gatewaysのコンポーネントのステータスをポーリングできます。 <opt_dir>/share/drweb-snmpd/connectors/muninディレクトリには、以下のファイルがあります。
Muninにホストを接続する この説明では、Muninモニタリングシステムがモニタリングサーバーにすでにデプロイされており、モニタリング対象ホストにはDr.Web SNMPDがインストール済みでmunin-nodeとともに機能している(コンポーネントはsnmpdとともにプロキシモードで機能する)と想定しています。 1.モニタリング対象ホストの設定 •snmp__drweb_*ファイルを、プラグインライブラリmunin-nodeがあるディレクトリにコピーします(ディレクトリはOSによって異なります)。たとえば、Debian/Ubuntuオペレーティングシステムであれば、パスは/usr/share/munin/pluginsとなります。 •提供されているDr.Webプラグインを接続して、munin-nodeを設定します。これを行うには、munin-nodeと一緒に配布されるmunin-node-configureユーティリティを使用します。 次は、コマンドの例です。
端末画面に、プラグインに必要なシンボリックリンクを作成するためのコマンドのリストを表示します。コピーして、コマンドラインで実行します。指定されたコマンドでは、次のことを前提としています。 1)munin-nodeは、Dr.Web SNMPDがインストールされているのと同じホストにインストールされている。インストール先が異なる場合は、localhost値ではなく、モニタリング対象ホストの適切なFQDNまたはIPアドレスを指定してください。 2)Dr.Web SNMPDはSNMPバージョン2cを使用する。他のバージョンの場合は、munin-node-configureコマンドで適切なSNMPバージョンを指定してください。このコマンドには、プラグインを柔軟に設定するための引数がいくつかあります。たとえば、SNMPプロトコルのバージョン、モニタリング対象ホストでSNMPエージェントがリッスンしているポート、コミュニティストリングの実際の値などを指定できます。必要に応じて、munin-node-configureコマンドのマニュアルを参照してください。 •必要であれば、munin-node用にインストールしたDr.Webプラグインを実行する環境のパラメータ値を定義(または再定義)します。環境パラメータとして、値コミュニティストリングが使用されます。これは、SNMPエージェントなどが使用するポートです。これらのパラメータは、ファイル/etc/munin/plugin-conf.d/drwebに定義する必要があります(必要に応じて作成します)。このファイルの例として、提供されているファイルdrweb.cfgを使用します。 •munin-node設定ファイル(munin-node.conf)で、モニタリング対象のパラメータの値を受け取るためにmuninサーバー(マスター)をmunin-nodeに接続できるホストのすべてのIPアドレスを含めるための正規表現を指定します。たとえば、次のようになります。
この場合、IPアドレス10.20.30.40のみがホストパラメータを受信できます。 •たとえば、次のコマンドを使用してmunin-nodeを再起動します。
2.Muninサーバー(マスター)の設定 モニタリング対象ホストのアドレスと識別子をMunin設定ファイルmunin.confに追加します。このファイルは、デフォルトでは/etcディレクトリにあります(Debian/Ubuntuオペレーティングシステムでは/etc/munin/munin.confになります)。
ここで、<ID>は表示されるホストの識別子、<hostname>はホストの名前、<domain>はドメインの名前、<host IP address>はホストのIPアドレスです。 Muninモニタリングシステムの設定に関する公式マニュアルについては、http://guide.munin-monitoring.org/en/latest/を参照してください。 Dr.Web SNMPDとZabbixモニタリングシステム間の接続を確立するために必要なファイルテンプレートは、<opt_dir>/share/drweb-snmpd/connectors/zabbixディレクトリにあります。
モニタリング対象ホストの機能を説明するためのテンプレート: •カウンター(Zabbixの用語では「アイテム」)の説明。デフォルトでは、テンプレートはSNMP v2で使用されるように設定されています。 •既存のグラフのセット:スキャンされたファイルの数と検出された脅威のタイプ別の分布。 Zabbixにホストを接続する この説明では、Zabbixモニタリングシステムがモニタリングサーバーにすでにデプロイされており、モニタリング対象ホストにはDr.Web SNMPDがインストール済みで機能している(コンポーネントはsnmpdとともにプロキシモードで機能する)と想定しています。さらに、モニタリング対象ホストからSNMPトラップ通知(保護対象サーバーでDr.Web for UNIX Internet Gatewaysによって検出された脅威に関する通知を含む)を受信する場合は、モニタリングサーバーにnet-snmpパッケージをインストールします(標準ツールのsnmpttおよびsnmptrapdが使用されます)。 1.Zabbix Webインターフェースの設定→テンプレートタブで、<opt_dir>/share/drweb-snmpd/connectors/zabbix/zbx_drweb.xmlファイルからモニタリング対象ホストのテンプレートをインポートします。 2.モニタリング対象ホストを適切なリストに追加します(ホスト → ホストの作成)。ホストの適切なパラメータとSNMPインターフェースの設定を指定します(ホストのdrweb-snmpdとsnmpdの設定と一致する必要があります)。 •ホストタブ: ホスト名:drweb-host 表示名:DRWEB_HOST グループ:Linux serversを選択します SNMPインターフェース:追加をクリックして、Dr.Web SNMPDによって使用されるIPアドレスとポートを指定します(Dr.Web SNMPDはローカルホストで動作すると見なされるため、デフォルトではアドレス127.0.0.1とポート161が指定されています)。 •テンプレートタブ: 追加を押し、DRWEBを確認し、選択を押します。 •マクロタブ: マクロ:{$SNMP_COMMUNITY} 値:SNMP V2cに「read community」を指定します(デフォルトでは、public)。 保存をクリックします。 注意:{$SNMP_COMMUNITY}マクロは、ホストテンプレートで直接指定できます。
3.テンプレートがモニタリング対象ホストにバインドされた後、SNMP設定が正しく指定されていれば、Zabbixモニタリングシステムはテンプレートのカウンター(アイテム)のデータ収集を開始します。収集されたデータは、監視データ→最新データと監視データ→グラフに表示されます。 4.Dr.Web SNMPDからSNMPトラップ通知を収集するために、特別なアイテムdrweb-trapsが使用されます。受信したSNMPトラップ通知のログは、監視データ → 最新データ → drweb-traps –> ヒストリページで利用できます。Zabbixは通知を収集するために、net-snmpパッケージの標準ツールsnmpttとsnmptrapdを使用します。Dr.Web SNMPDからSNMPトラップ通知を受信するためのツールの設定方法については、以下を参照してください。 5.必要に応じて、Dr.Web SNMPDからのSNMPトラップ通知の受信時に状態を変更するトリガーを設定できます。状態の変更は、適切な通知を生成するためのイベントソースとして使用できます。以下の例は、トリガーの設定式を示しています。この式はtrigger expressionフィールドで指定されます。 •Zabbixバージョン2.xの場合:
•Zabbixバージョン3.xの場合:
Dr.Web SNMPDからのSNMPトラップ通知のログが1分以内に更新された場合、イベントがトリガーされます(値が1に設定されます)。ログが次の1分以内に更新されなかった場合、トリガーの値は再び0に設定されます。 深刻度では、このトリガーの通知タイプを未分類とは異なるものにすることをお勧めします(例:警告)。 ZabbixのSNMPトラップ通知の受信を設定する 1.モニタリング対象ホストのDr.Web SNMPDの設定(TrapReceiverパラメータ)で、Zabbixが動作しているホストでsnmptrapdがリッスンするアドレスを指定する必要があります。次に例を示します。
2.snmptrapdの設定ファイル(snmptrapd.conf)に、同じアドレスと、受信したSNMPトラップ通知を処理するアプリケーションを指定します(この例ではsnmptthandler、snmpttコンポーネント)。
Dr.Web SNMPDによって送信されたSNMPトラップをsnmpttが不明なものとして破棄しないように、ファイルに次の文字列を追加します。
3.snmptthandlerコンポーネントは、Zabbixのホストテンプレートに設定されている正規表現(アイテムdrweb-trapsエレメント)に対応する指定された形式に従って、受信したSNMPトラップ通知をディスクのファイルに保存します。保存された通知のSNMPトラップフォーマットは、<opt_dir>/share/drweb-snmpd/connectors/zabbix/snmptt.drweb.zabbix.conf.ファイルで指定します。ファイルは、/etc/snmpにコピーする必要があります。 4.さらに、フォーマットファイルへのパスをsnmptt.iniに指定する必要があります。
その後、デーモンモードで起動している場合はsnmpttを再起動します。 5.Zabbixサーバーの設定ファイル(zabbix-server.conf)で、次の設定を指定します(または、すでに指定されているかどうかを確認します)。
ここで、/var/log/snmptt/snmptt.logは、受信したSNMPトラップ通知の情報を登録するためにsnmpttが使用するログファイルです。 Zabbixの公式マニュアルについては、https://www.zabbix.com/documentation/current/enを参照してください。 Dr.Web SNMPDとNagiosモニタリングシステム間の接続を確立するために必要なファイルとNagiosの設定例は、<opt_dir>/share/drweb-snmpd/connectors/nagiosディレクトリにあります。
Nagiosにホストを接続する この説明では、WebサーバーとグラフィックツールNagiosgraphの設定を含むNagiosモニタリングシステムがモニタリングサーバーにすでにデプロイされており、モニタリング対象ホストにはDr.Web SNMPDがインストール済みで機能している(コンポーネントはsnmpdとともにプロキシモードで機能する)と想定しています。さらに、モニタリング対象ホストからSNMPトラップ通知(保護対象サーバーでDr.Web for UNIX Internet Gatewaysによって検出された脅威に関する通知を含む)を受信する場合は、モニタリングサーバーにnet-snmpパッケージをインストールします(標準ツールのsnmpttおよびsnmptrapdが使用されます)。 現在のマニュアルでは、次のようなパスの規則が使用されています(実際のパスはオペレーティングシステムとNagiosのインストールによって異なります)。 •<NAGIOS_PLUGINS_DIR> - Nagiosプラグインを含むディレクトリ(例:/usr/lib64/nagios/plugins)。 •<NAGIOS_ETC_DIR> - Nagios設定を含むディレクトリ(例:/etc/nagios)。 •<NAGIOS_OBJECTS_DIR> - Nagiosオブジェクトを含むディレクトリ(例:/etc/nagios/objects)。 •<NAGIOSGRAPH_DIR> - Nagiosgraphディレクトリ(例:/usr/local/nagiosgraph)。 •<NAGIOS_PERFDATA_LOG> - Nagiosがサービスチェックの結果を記録するファイル(<NAGIOSGRAPH_DIR>/etc/nagiosgraph.confのperflogファイルと同じでなければなりません)。このファイルのレコードは<NAGIOSGRAPH_DIR>/bin/insert.plスクリプトによって読み取られ、対応するRRAアーカイブRRDツールに記録されます。 Nagiosを設定する: 1.check_drwebファイルを<NAGIOS_PLUGINS_DIR>ディレクトリに、drweb.cfgファイルを<NAGIOS_OBJECTS_DIR>ディレクトリにコピーします。 2.監視対象のDr.Web for UNIX Internet Gatewaysがあるホストをdrwebグループに追加します。ホストではDr.Web SNMPDが実行されている必要があります。デフォルトでは、このグループにはlocalhostのみが追加されます。 3.必要に応じて、snmplwalkツールを介してdrwebホストのDr.Web SNMPDに接続するように指示するcheck_drwebコマンドを編集します。
SNMPプロトコルの適切なバージョンとパラメータ(「コミュニティストリング」や認証パラメータなど)の他、ポートを指定します。$HOSTADDRESS$変数をコマンドに含める必要があります(この変数は後でコマンドが呼び出されたときに、Nagiosによって正しいホストアドレスに自動的に置き換えられるためです)。このコマンドではOIDは必要ありません。また、実行ファイルへのフルパス(通常は/usr/local/bin/snmpwalk)を使用してコマンドを指定することをお勧めします。 4.次の文字列をファイルに追加して、<NAGIOS_ETC_DIR>/nagios.cfg設定ファイルのDrWebオブジェクトを接続します。
5.DrWebグラフィック用のRRDツール設定をrrdopts.conf-sampleファイルから<NAGIOSGRAPH_DIR>/etc/rrdopts.confファイルに追加します。 6.Nagiosgraphがまだ設定されていない場合は、その設定に対して次の手順を実行します。 •nagiosgraph.cfgファイルを<NAGIOS_OBJECTS_DIR>ディレクトリにコピーし、process-service-perfdata-for-nagiosgraphコマンドでinsert.plスクリプトへのパスを編集します。たとえば、次のようになります。
•次の行を追加して、<NAGIOS_ETC_DIR>/nagios.cfg設定ファイルにこのファイルを接続します。
7.<NAGIOS_ETC_DIR>/nagios.cfg 設定ファイルのNagiosパラメータの値を確認します。
NagiosのSNMPトラップ通知の受信を設定する 1.モニタリング対象ホストのDr.Web SNMPDの設定(TrapReceiverパラメータ)で、Nagiosが動作しているホストでsnmptrapdがリッスンするアドレスを指定します。次に例を示します。
2.SNMPトラップを受信したときに呼び出される<NAGIOS_PLUGINS_DIR>/eventhandlers/submit_check_resultスクリプトがあるかどうかを確認します。スクリプトが見つからない場合は、<opt_dir>/share/drweb-snmpd/connectors/nagios/plugins/eventhandlers/ディレクトリのsubmit_check_resultファイルをこの場所にコピーします。このファイルで、CommandFileパラメータに指定されているパスを変更します。これは、<NAGIOS_ETC_DIR>/nagios.cfgファイルのcommand_fileパラメータと同じ値である必要があります。 3.snmptt.drweb.nagios.confファイルを/etc/snmp/snmp/ディレクトリにコピーします。このファイルで、パスをsubmit_check_resultに変更します。たとえば、次のようなコマンドを使用します。
4.「/etc/snmp/snmptt.drweb.nagios.conf」文字列を/etc/snmp/snmptt.iniファイルに追加します。その後、デーモンモードで起動している場合はsnmpttを再起動します。 Nagiosに必要な設定ファイルをすべて追加して編集したら、次のコマンドを使用してNagiosをデバッグモードで実行します。
このコマンドを受け取ると、Nagiosは設定エラーをチェックします。エラーがなかった場合は、Nagiosを通常どおりに再起動できます(たとえば、service nagios restartコマンドを使用して)。 Nagiosの公式マニュアルについては、https://www.nagios.org/documentation/を参照してください。 |