Nagios は、ホストとネットワーク機器を監視するのに最適な監視ツールです。 Nagios プラグインを使用すると、ほぼすべてを監視できます。
Nagios を集中的に使用していますが、問題が発生したときに携帯電話にアラートが表示されるので安心です。さらに、警告レベルが適切に設定されていれば、Nagios は問題が重大になる前に警告を発します.
以前、Nagios をセットアップして Linux ホスト、Windows ホスト、VPN デバイスを監視する方法について書きました.
この記事では、ネットワーク スイッチを監視するように Nagios を構成する方法を説明します。 アクティブなポートです .
1. nagios.cfg で switch.cfg を有効にします
以下に示すように、/usr/local/nagios/etc/nagios.cfg の switch.cfg 行のコメントを外します。
[nagios-server]# grep switch.cfg /usr/local/nagios/etc/nagios.cfg cfg_file=/usr/local/nagios/etc/objects/switch.cfg
2. switch.cfg にスイッチ用の新しいホストグループを追加
次のスイッチ ホストグループを /usr/local/nagios/etc/objects/switch.cfg ファイルに追加します。
define hostgroup{ hostgroup_name switches alias Network Switches }
3.監視するスイッチの新しいホストを追加します
この例では、/usr/local/nagios/etc/objects/switch.cfg ファイルでコア スイッチを監視するホストを定義しました。それに応じて、アドレス ディレクティブをスイッチの ip-address に変更してください。
define host{ use generic-switch host_name core-switch alias Cisco Core Switch address 192.168.1.50 hostgroups switches }
4.すべてのスイッチに共通のサービスを追加
スイッチの稼働時間の表示と、スイッチが生きているかどうかの確認は、すべてのスイッチに共通のサービスです。したがって、以下に示すように、スイッチ hostgroup_name の下でこれらのサービスを定義してください。
# Service definition to ping the switch using check_ping define service{ use generic-service hostgroup_name switches service_description PING check_command check_ping!200.0,20%!600.0,60% normal_check_interval 5 retry_check_interval 1 } # Service definition to monitor switch uptime using check_snmp define service{ use generic-service hostgroup_name switches service_description Uptime check_command check_snmp!-C public -o sysUpTime.0 }
5.ポート帯域幅の使用状況を監視するサービスを追加
check_local_mrtgtraf は、Multil Router Traffic Grapher – MRTG を使用します。したがって、これが正しく機能するためには MRTG をインストールする必要があります。下記の *.log ファイルは、システム上の MRTG ログ ファイルを指している必要があります。
define service{ use generic-service host_name core-switch service_description Port 1 Bandwidth Usage check_command check_local_mrtgtraf!/var/lib/mrtg/192.168.1.11_1.log!AVG!1000000,2000000!5000000,5000000!10 }
6.アクティブなスイッチ ポートを監視するサービスを追加
以下に示すように、check_snmp を使用して特定のポートを監視します。次の 2 つのサービスは、ポート #1 とポート #5 を監視します。ポートを追加するには、それに応じて値 ifOperStatus.n を変更します。つまり、n はポート番号を定義します。
# Monitor status of port number 1 on the Cisco core switch define service{ use generic-service host_name core-switch service_description Port 1 Link Status check_command check_snmp!-C public -o ifOperStatus.1 -r 1 -m RFC1213-MIB } # Monitor status of port number 5 on the Cisco core switch define service{ use generic-service host_name core-switch service_description Port 5 Link Status check_command check_snmp!-C public -o ifOperStatus.5 -r 1 -m RFC1213-MIB }
7.サービスを追加して複数のスイッチ ポートを一緒に監視する
複数のポートを組み合わせてステータスを監視する必要がある場合があります。つまり、ポートの 1 つがダウンしていても、Nagios はアラートを送信する必要があります。この場合、次のサービスを定義して、複数のポートを監視します。
# Monitor ports 1 - 6 on the Cisco core switch. define service{ use generic-service host_name core-switch service_description Ports 1-6 Link Status check_command check_snmp!-C public -o ifOperStatus.1 -r 1 -m RFC1213-MIB, -o ifOperStatus.2 -r 1 -m RFC1213-MIB, -o ifOperStatus.3 -r 1 -m RFC1213-MIB, -o ifOperStatus.4 -r 1 -m RFC1213-MIB, -o ifOperStatus.5 -r 1 -m RFC1213-MIB, -o ifOperStatus.6 -r 1 -m RFC1213-MIB }
8.構成を検証し、nagios を再起動します
nagios の設定を確認して、警告やエラーがないことを確認してください。
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg Total Warnings: 0 Total Errors: 0 Things look okay - No serious problems were detected during the pre-flight check
nagios サーバーを再起動して、VPN デバイスの監視を開始します。
# /etc/rc.d/init.d/nagios stop Stopping nagios: .done. # /etc/rc.d/init.d/nagios start Starting nagios: done.
以下に示すように、Nagios Web UI:http://{nagios-server}/nagios からスイッチのステータスを確認します。
図 :ネットワーク スイッチのステータスを表示する Nagios GUI
9.トラブルシューティング
問題 1: Nagios GUI が「check_mrtgtraf:MRTG ログ ファイルを開くことができません」というエラー メッセージを表示し、ポート帯域幅の使用状況を示します
解決策 1: check_local_mrtgtraf サービスで定義された *.log ファイルが正しい場所を指していることを確認してください。
問題 2 :Nagios UI は、ポート リンク ステータスのエラー メッセージ「127 の戻りコードが範囲外です – プラグインが見つからない可能性があります」を表示します。
解決策 2 :net-snmp と net-snmp-util パッケージの両方がインストールされていることを確認してください。私の場合、net-snmp-utils パッケージが不足していたため、インストールすると、以下に示すようにこの問題が解決しました。
[nagios-server]# rpm -qa | grep net-snmp net-snmp-libs-5.1.2-11.el4_6.11.2 net-snmp-5.1.2-11.el4_6.11.2 [nagios-server]# rpm -ivh net-snmp-utils-5.1.2-11.EL4.10.i386.rpm Preparing... ########################################### [100%] 1:net-snmp-utils ########################################### [100%] [nagios-server]# rpm -qa | grep net-snmp net-snmp-libs-5.1.2-11.el4_6.11.2 net-snmp-5.1.2-11.el4_6.11.2 net-snmp-utils-5.1.2-11.EL4.10
注: net-snmp と net-snmp-utils をインストールしたら、「6. Nagios 3.0 ジャンプスタート ガイドの「nagios プラグインをコンパイルしてインストールする」
2 つの最高の Nagios ブック
これらは 2 つの 最高の nagios の本です これは最新の Nagios 3 をカバーしています。Nagios の詳細な理解を得るために、これらの本を両方とも読むことを強くお勧めします。 Nagios はフリー ソフトウェアであるため、書籍に数ドルを費やすことが、できる最善の投資になる可能性があります。
すばらしい Nagios の記事
以下は素晴らしい Nagios の記事です。
- Linux で Nagios を使用してリモート Windows マシンを監視する方法
- Nagios 3 を使用してリモート Linux ホストを監視する方法
- Linux 用 Nagios 3 ジャンプスタート ガイド – 概要、インストール、構成