24

Nagiosを使用してネットワークを監視し、大きな成功を収めています。ただし、重大なアプリケーションエラー用のsyslogがあり、check_logを設定している間は、デバイスを監視するほど機能しないようです。

問題は次のとおりです。

  • 最後のエントリのみが表示されます
  • 重大なエラーを確認してモニターを良好な状態に戻す方法はないようです

nagiosは間違ったツールですか、それともサービス監視を正しく設定していないだけですか?

これが私のエントリーです

# log file
define command{
        command_name    check_log
        command_line    $USER1$/check_log -F /var/log/applications/appcrit.log -O /tmp/appcrit.log -q ?
}


# Define the log monitering service
define service{
        name                            logfile-check           ;
        use                             generic-service         ;
        check_period                    24x7                    ;
        max_check_attempts              1                       ;
        normal_check_interval           5                       ;
        retry_check_interval            1                       ;
        contact_groups                  admins                  ;
        notification_options            w,u,c,r                 ;
        notification_period             24x7                    ;
        register                        0                       ;
        }

define service{
        use                             logfile-check
        host_name                       localhost
        service_description             CritLogFile
        check_command                   check_log
}
4

6 に答える 6

28

Nagios でログを監視する場合、通常、ログ チェッカーは、呼び出されるたびに新しく発見されたエラー メッセージに対してのみ警告を返します (したがって、後続の実行でそれらを無視することを知るために、何らかの状態を保持する必要があります)。したがって、私は通常設定します:

max_check_attempts              1
is_volatile                     1

これにより、Nagios はすぐにアラートを送信しますが、一度だけ送信し、その後通常に戻ります。

私のお気に入りのログ チェッカーはlogwarnですが、気に入った既存のログ チェッカーが見つからずに自分で作成したため、バイアスがかかっています。logwarn パッケージには Nagios プラグインが含まれています。

于 2011-01-25T21:40:16.730 に答える
4

ログ ファイルをチェックするために使用できる Nagios プラグインがあります。これはcheck_logfilesと呼ばれ、ファイルの行を正規表現でスキャンするために使用されます。

次のリンクはcheck_logfiles、Nagios と Opsview をインストールして構成する方法を示しています: https://www.opsview.com/resources/nagios-alternative/blog/syslog-monitoring-nagios-opsview

于 2011-11-13T12:02:15.717 に答える
3

設定が間違っていると、設定の何も飛び出しません。

設計上、check_logは、OKメッセージ、またはアラートをトリガーした最後のログエントリのいずれかのみを表示します。複数のエントリを表示する必要がある場合は、プラグインを変更する必要があります。

しかし、私はあなたが回復を得ていないという事実はやや奇妙だと思います。check_logが機能する方法(現在のログを以前のバージョンと比較することによる)では、次のサービスチェックで回復する必要があります。もちろん、最後のチェック以降に一致するエントリがログに追加された場合を除きます。

別のサービスチェック(または複数)を強制すると、サービスは回復しますか?

また、私はこれを意味のある方法で意図していませんが、それが本当に誤動作していることを確認してください。ログがチェックの間に追加の一致するエントリを取得しているため、ログが回復していませんか?あなたの小切手は「?」と一致しています これは、ログ内の新しいものと一致します。他の何か(エラーではない)がログに追加され、誤って一致を引き起こしていませんか?

上記のいずれも問題ではない場合は、Nagiosを方程式から外して、問題を絞り込むことをお勧めします。check_logを手動で(コマンドラインから、ただしnagiosと同じユーザーとして)、別のoldlogで実行してみてください。それはこのようになるはずです-

  1. 新しい「oldlog」でチェックを実行します-初期化メッセージを取得します
  2. チェックを実行-OKをチェック
  3. ログに変更を加える
  4. チェックを実行-チェックは失敗します
  5. チェックを実行-OKをチェック

これが機能しない場合は、ログ、oldlog、およびcheck_logがチェックを実行している方法に注目する必要があります。

それが機能する場合、それはあなたのnagios構成の問題をより指し示しています。

于 2010-03-03T20:33:28.000 に答える
1

ログを効果的に監視する本物の Nagios プラグインがあると思います。

http://support.nagios.com/forum/viewtopic.php?f=6&t=8851&p=42088&hilit=unixautomation#p42088

そのページの Nagios プラグインのホームページはNagios Log Monitorです。

Your [ commands.cfg file ] will contain:

define command {
                            command_name         NagiosLogMonitor
                            command_line            $USER1$/NagiosLogMonitor $HOSTNAME$ $ARG1$ $ARG2$ $ARG3$ $ARG4$ '$ARG5$' '$ARG6$' $ARG7$ $ARG8$ $ARG9$ $ARG10$
}


OR


define command {
                            command_name         NagiosLogMonitor
                            command_line            $USER1$/NagiosLogMonitor $HOSTADDRESS$ $ARG1$ $ARG2$ $ARG3$ $ARG4$ '$ARG5$' '$ARG6$' $ARG7$ $ARG8$ $ARG9$ $ARG10$
}




Your [ services.cfg file ] will look similar to:

define service {
                      check_command                         NagiosLogMonitor!logrobot!autofig!/var/log/proteus.log!15!500.html!500 Internal Server Error!1!2!-foundn
                      max_check_attempts                  1
                      service_description                     500_ERRORS_LOGCHECK
                      host_name                                  sky.blat-01.net,sky.blat-02.net,sky.blat-03.net
                      use                                              fifteen-minute-interval
 }
于 2013-02-25T23:37:43.950 に答える
0

Nagios には、Nagios Core、XI などと緊密に統合するソリューションがあります。

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

于 2014-10-23T19:54:09.123 に答える