web-dev-qa-db-ja.com

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

最近、Nice 7×11 LEDディスプレイを購入しましたが、(他のものの中でも)nagiosステータスを表示したいと思っています。そのために、Nagiosインストールのステータスを照会する必要があります。

PerlスクリプトなどからリモートNagiosサーバーからステータス概要(OK以外のサービスの数など)を取得する適切な方法は何ですか?

4

私は非常に大規模なnagiosインストールを維持しており、これを行うための絶対的な最善の方法は、 " livestatus "イベントブローカーを介することです。

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

Livestatusは、ローカルソケットまたはTCPソケットを介してnagiosステータスへの即時アクセスを提供し、モニタリングサーバーに追加のCPU負荷をほぼゼロにします(ただし、メモリフットプリントはもちろんあります)。 xinetd/unixcatとの単純な統合により、ネットワーク経由でクエリを実行できます。出力は、CSV、JSON、Pythonの3つの形式のいずれかです。多数の構成オプションが利用可能であり、本番環境での使用に十分安定しています。ドキュメントはとても良いです。

さらに、livestatusは、「 MK Multisite 」などの他のnagiosアドオンを有効にします。これにより、nagiosを必要とするNSCAまたはパッシブサービスチェックの結果を使用せずに、複数のnagiosインストールの結果を単一のGUIに集約します。ワーカーサーバーとマスターサーバーの両方で維持される構成。

4
cixelsyd

私の知る限り、nagiosステータスをクエリするためのnagios.comでサポートされているAPIはありません。これを可能にするアドオンはかなりたくさんあります。一部はこの質問で議論されます。

https://stackoverflow.com/questions/7768215/is-there-a-way-to-extract-data-from-nagios-as-if-it-was-a-web-service

Cgiに直接クエリを実行して、返されたhtmlを「スクリーンスクレイピング」することはできますが、これはあまり堅牢なソリューションではありません。私はこのバージョンのAPIサーバーを少しいじりましたが、本番環境には入れていません。

https://github.com/xb95/nagios-api