0

Nagios の check_http プラグインが Web ページ上の文字列の特定の数のインスタンスをスキャンし、その数を超えたら通知する方法があるかどうかをかなり長い間調べてきました。

たとえば、ログ ファイルを Web ページに出力していて、「エラー」というテキストがページに 3 回以上表示された場合に Nagios に通知してもらいたい場合、コマンドをどのように表現すればよいでしょうか? Webページをバイパスして、ログファイルで直接「エラー」の3つのインスタンスを探すことを可能にする別のプラグインさえあるかもしれません. 誰かがそのようなプラグインを知っている場合は、その情報もいただければ幸いです。

問題があれば、CentOS 6.4 を実行しています。

4

1 に答える 1

0

狡猾に構築された正規表現を介してこれを実現できます。ただし、check_http は「not regexp」オプションを提供しないため、応答を否定しなければならないという問題が発生します (そうすべきだと思いますが、そうではありません)。

したがって、「エラー」のインスタンスが 3 つ以上ある場合にアラートを出したい場合は、次のように使用します。

negate "check_http www.myserver.co.nz -r '(error.*){4}'"

ただし、遅い応答を特定するために別のチェックを行うと、返された情報文字列が少し誤解を招く可能性があります。

ファイルを直接 (または NRPE 経由で) チェックできる場合は、同様の正規表現で egrep を使用するスクリプトを作成できます。

于 2013-07-28T22:41:25.967 に答える