Nagiosがログファイル内のコンテンツを監視して警告できることは知っていますが、特定の文字列についてログファイルを監視し、行全体を電子メールメッセージで送信するプラグインやその他のツールを知っている人はいますか?その一致が発生しましたか?
在庫の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キー)で実行する必要があります。
上記のリンクはあなたが探している答えかもしれません。ローカルホストとリモートホストのログファイルを監視できます。
上記のリンクでは、ユーザーは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」を含むログファイルで見つかったすべての罰金が表示されます。
Bash(またはPerlまたはpythonなど))スクリプトを使用してログファイルを読み取り、文字列(grep)を検索できる場合は、スクリプトでゼロ以外の戻り値を設定する必要があります。コードと文字列を返します。スクリプトは問題のサーバーに常駐でき、nagiosはcheck_by_sshコマンドを使用してサーバーでスクリプトを実行できます。
Nagiosは、Nagios Core、XIなどと緊密に統合するソリューションを備えています。
Nagios Log Server インフラストラクチャ内の任意のシステム上の任意のログファイルに対する任意のクエリでアラートを出すことができます。
なぜNagiosをそのような状況に巻き込むのですか?これは複雑すぎるようです。
なぜサーバーに行くのではなく、小さなシェルスクリプトを記述して、必要なことを実行し、cronジョブを介して実行します。スクリプティングには、どちらの場合でも、電子メールを送信するロジックが含まれている必要があります。