最近、Nice 7×11 LEDディスプレイを購入しましたが、(他のものの中でも)nagiosステータスを表示したいと思っています。そのために、Nagiosインストールのステータスを照会する必要があります。
PerlスクリプトなどからリモートNagiosサーバーからステータス概要(OK以外のサービスの数など)を取得する適切な方法は何ですか?
私は非常に大規模な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に集約します。ワーカーサーバーとマスターサーバーの両方で維持される構成。
私の知る限り、nagiosステータスをクエリするためのnagios.comでサポートされているAPIはありません。これを可能にするアドオンはかなりたくさんあります。一部はこの質問で議論されます。
Cgiに直接クエリを実行して、返されたhtmlを「スクリーンスクレイピング」することはできますが、これはあまり堅牢なソリューションではありません。私はこのバージョンのAPIサーバーを少しいじりましたが、本番環境には入れていません。