web-dev-qa-db-ja.com

大きなクラスターへのNagiosの依存関係を管理する方法は?

依存関係のない、かなり大きなnagios構成(約4000サービス)を使用しています。これにより、問題が発生したときに通知が大幅に混乱します。

Nagios Dependenciesのベストプラクティスを探すようにしていますが、Webで見つけたのは、1つの例を使用した基本的な理解だけです。私が必要としているのは、そのような構成ファイルを管理する方法に関するより深い情報、ベストプラクティスです。

例:Apacheがそれぞれをリッスンしている100台のサーバーのクラスターで、Apacheプロセスの数とリッスンしているtcpポート80を監視しています。一方を他方に依存させたいのですが、dependent_hostgroup_nameではうまくいきません。その結果、すべての「チェックプロセス」サービスが各「check_http」サービスに依存することになります。

質問は次のとおりです。依存関係をどのように管理しますか?スクリプトを使用してそれらを生成しますか?

8
Falken

スクリプトなしで行うのはかなり難しいことに同意しました。

すべてのサービスチェックコマンドについて、通常依存するものを(dbテーブルで)定義しました。これにより、すべてのサービス依存関係を手動で構成する必要がなくなります。ホストの依存関係は手作業で行いますが、スクリプトを介してスイッチでMACアドレスの検出を行うことは、それを自動化するのに役立ちます。

例:

「check_http_content」は「check_ping」に依存する「check_http」に依存します。
"check_Cisco_ifstate"は、 "check_ping"に依存する "check_snmp_ok"に依存します

スクリプトを使用してデータベースから構成を構築する場合、これを実装するのはそれほど難しくありません。それ以外の場合は、構成ファイルを調べて、ルールに基づいて依存関係を挿入するパーサーを作成する必要があります。

構成を構築するための構成データベースがなければ、かなりのnagios実装があるとは想像できません。これにより、nagiosに抽象化がない場合に独自の抽象化を追加でき、他の多くの方法で作業が簡単になります。

2