2

Nagios サーバーがあり、それを使用してホストを監視しています。

これで、特定のホストのステータスを mysql データベースで報告する古いシステムができました。データベースからデータを取得して Nagios モニターにデータを入力できるプラグインを作成する方法があるかどうか (可能性がある場合) があるかどうか疑問に思っています。

データベースに次のようなテーブルがあるとイメージしてみましょう: IP、HOSTNAME、STATUS、CPU_TEMP、HDD_TEMP

これらのデータを Nagios モニターにフェッチしたいと思います。出来ますか?

nagios デーモンを介してクライアントに接続する方法はありません。このデータベースからデータを取得することしかできません。

ありがとう!!!よろしく

4

2 に答える 2

1

Nagios から直接 DB にアクセスできる場合は、次のような bash スクリプトを実行します。

mysql -uuser -ppass -H monitoringDb.mydomain.com -e "select HOSTNAME,STATUS,CPU_TEMP,HDD_TEMP from monitoring where STATUS != "OK" OR CPU_TEMP > '40' OR HDD_TEMP > '20'" > /tmp/check_monitoring

if [[ `wc -l /tmp/check_monitoring` > 0 ]]; # If that query returned anything, you have an issue
     then echo "CRITICAL: `cat /tmp/check_monitoring`" && exit 2
fi

echo "OK: Monitoring DB Checks passed" && exit 0

SQL にはおそらく 1 つまたは 2 つのバグがありますが、理解できるはずです。気を取り直したい場合は、警告レベルの if ステートメントをさらに実行して 1 を返すことができます。

于 2011-03-22T08:33:44.273 に答える
0

DB に接続し、特定の HOSTNAME または IP を照会し、STATUS がパラメーター内にあることを確認するプラグインを作成する必要があります。

于 2011-03-07T19:43:34.020 に答える