プログラムでNagiosのステータスを照会する

プログラムでNagiosのステータスを照会する

最近、7×11 の優れた LED ディスプレイを入手したのですが、そこに (他の機能とともに) Nagios のステータスを表示したいと考えています。そのためには、Nagios インストールのステータスを照会する必要があります。

たとえば、Perl スクリプトを使用して、リモート Nagios サーバーからステータスの概要 (たとえば、OK でないサービスの数) を取得する適切な方法は何ですか?

答え1

私は非常に大規模なNagiosインストールを維持していますが、これを行うための絶対的に最良の方法は「ライブステータス「イベントブローカー:

http://mathias-kettner.de/checkmk_livestatus.html

Livestatus は、ローカルまたは TCP ソケットを介して nagios ステータスに即座にアクセスでき、監視サーバーに追加の CPU 負荷をほとんどかけません (ただし、メモリ フットプリントはあります)。xinetd/unixcat との簡単な統合により、ネットワーク経由でクエリを実行できます。出力は、CSV、JSON、Python の 3 つの形式のいずれかです。多数の構成オプションが用意されており、実稼働での使用に十分な安定性を備えています。ドキュメントも非常に優れています。

さらに、livestatusは「MK マルチサイト」は、ワーカー サーバーとマスター サーバーの両方で Nagios 構成を維持する必要がある NSCA またはパッシブ サービス チェックの結果を使用せずに、複数の Nagios インストールからの結果を単一の GUI に集約します。

答え2

私の知る限り、nagios ステータスを照会するための nagios.com 対応 API はありません。これを可能にするさまざまなアドオンが多数あります。いくつかはこの質問で説明されています。

https://stackoverflow.com/questions/7768215/nagios からデータを抽出する方法はあるか?

CGI を直接クエリして、返された HTML を「スクリーン スクレイピング」することもできますが、これはあまり堅牢なソリューションではありません。私はこのバージョンの API サーバーを少しいじってみましたが、実稼働には導入していません。

ナギオス

関連情報