web-dev-qa-db-ja.com

Nagiosを使用してログファイルを監視し、ログの詳細を送信する

Nagiosがログファイル内のコンテンツを監視して警告できることは知っていますが、特定の文字列についてログファイルを監視し、行全体を電子メールメッセージで送信するプラグインやその他のツールを知っている人はいますか?その一致が発生しましたか?

6
af-at-work

在庫のcheck_logプラグインは...惨めです。 'diff'を使用し、実行するたびにログ全体を処理するため、適切にスケーリングされません。全然。

ConSol Labsは、まさにあなたが望むことを実行する優れたログチェックプラグインを維持しています: http://exchange.nagios.org/directory/Plugins/Log-Files/check_logfiles/details

Nagios Exchangeにリストされていますが、英語版への直接リンクは次のとおりです。 http://labs.consol.de/lang/en/nagios/check_logfiles/

明らかに、これをNRPEまたはcheck_via_ssh(+ sshキー)で実行する必要があります。

4
Keith

@ af-at-work:これのためのツールがあります:

「Tenshiは、ユーザーが定義した正規表現と一致する行の1つ以上のログファイルを監視し、一致についてレポートするように設計されたログ監視プログラムです。正規表現は、アラート間隔とメール受信者のリストを持つキューに割り当てられます。」

Ubuntuパッケージ( Link )、Debianパッケージ( Link )。

4
desasteralex

Nagios Log Monitor

上記のリンクはあなたが探している答えかもしれません。ローカルホストとリモートホストのログファイルを監視できます。

上記のリンクでは、ユーザーはlogrobotと呼ばれるNagios Log Monitoringツールを使用しています。実際のホームページにアクセスして、動作の例をさらに確認できます。

ログを監視し、指定した文字列を含む行の詳細を確認したい場合は、logrobotツールを次のように実行できます。

ローカル:

logrobot autofig /opt/jboss/jboss-as/server/production/log/server.log 60m 'INFO' '.' 1 2 -show

リモート:

NagiosLogMonitor remotehost logrobot autofig /opt/jboss/jboss-as/server/production/log/server.log 60m 'INFO' '.' 1 2 -show

上記のコマンドを実行すると、最初のリンクで示したように、指定した文字列「INFO」を含むログファイルで見つかったすべての罰金が表示されます。

2
NagiosLover

Bash(またはPerlまたはpythonなど))スクリプトを使用してログファイルを読み取り、文字列(grep)を検索できる場合は、スクリプトでゼロ以外の戻り値を設定する必要があります。コードと文字列を返します。スクリプトは問題のサーバーに常駐でき、nagiosはcheck_by_sshコマンドを使用してサーバーでスクリプトを実行できます。

1
Craig

Nagiosは、Nagios Core、XIなどと緊密に統合するソリューションを備えています。

Nagios Log Server インフラストラクチャ内の任意のシステム上の任意のログファイルに対する任意のクエリでアラートを出すことができます。

0
Scott Wilkerson

なぜNagiosをそのような状況に巻き込むのですか?これは複雑すぎるようです。

なぜサーバーに行くのではなく、小さなシェルスクリプトを記述して、必要なことを実行し、cronジョブを介して実行します。スクリプティングには、どちらの場合でも、電子メールを送信するロジックが含まれている必要があります。

0
mdpc