web-dev-qa-db-ja.com

nagios nrpecheck_procs間違った戻り値

Nagiosの監視に問題があります。 nrpeを使用してリモートホスト上のプロセスをチェックしようとしています。

ホストはすでにnagiosによって監視されていたので、nrpe.cfgファイルに行を追加するだけで済みました。 check_procsチェックもすでに定義されているので、その例を使用できます。

とてもシンプルなので分厚いかもしれませんが、違います。コマンドを手動で実行でき、問題がないかどうかを確認します。

ubuntu@Host:/usr/lib/nagios/plugins$ ./check_procs -w 1:1 -c 1:1 -a delayed_job
PROCS OK: 1 process with args 'delayed_job'
ubuntu@Host:/usr/lib/nagios/plugins$ Sudo ./check_procs -w 1:1 -c 1:1 -a delayed_job
PROCS OK: 1 process with args 'delayed_job'

これは、私のnrpe.cfgファイルの一部です。

command[check_procs]=/usr/lib/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$
command[check_proc_name]=/usr/lib/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -a $ARG3$

最初のチェックcheck_procsは正しく監視されており、最後の行は私が追加したものですが、これで応答します:PROCS CRITICAL:2プロセスと引数 'delayed_job'

これは私のサービスファイルです:

define service {
  use                 generic-service
  Host_name           imobiel.limburger.nl
  service_description Check Delayed Job Proces
  check_command       check_nrpe!check_proc_name!1:1 1:1 delayed_job
}

誰かアイデア? nagiosサーバーとnrpeサーバーをすでに数回再起動しました!うまくいけば、誰かが同じ問題を経験しましたか?

よろしくお願いします。

4
Niels

これはcheck_procsのバグだと思います。コマンドラインではなく、nrpeから実行すると自動的に検出されるようです。ある種の競合状態かもしれません。

コマンドプロンプトを指定すると、Ubuntuを実行しているようです。 Lucidで利用可能なcheck_procsを使用すると、次のようなことができます。

/usr/lib/nagios/plugins/check_procs --ereg-argument-array="[s]tring" -w 1:1

したがって、引数リストでパターンマッチを実行しますが、check_procsプロセスが一致しないようにします。パターンの1文字を角括弧に入れると、式は「文字列」と一致しますが、check_procs引数「[s] tring」とは一致しません。

ただし、Hardyで使用可能なcheck_procsには正規表現オプションがありません。

4
cjc

ホストの/ bin/ps出力に問題があります。デフォルトでは、「check_procs」バイナリはチェックされたシステムで「/ bin/ps-axwo」を実行し、引数文字列をカットします。 nagios-pluginsをソースから再コンパイルするだけです。バージョン1.4.15では、構成オプションを設定する必要があります。

./configure --enable-extra-opts=yes --with-ps-command="/bin/ps -axwwo 'stat uid pid ppid vsz rss pcpu ucomm command'" --with-ps-format="%s %d %d %d %d %d %f %s %n" --with-ps-cols=9 --with-ps-varlist="procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos"

-axWWo-psを設定すると、引数の完全な文字列が取得されます。申し訳ありません。

3
DeepSpirit

どのバージョンのnagiosプラグインをお持ちですか? 1.4.15のcheck_procsは、この動作を示しません。ただし、以前のバージョンは確認していません。

手動テストの最後に「-vv」または「-vvv」を追加すると、実行中の「ps」コマンド、表示されているもの、一致していると見なされるものを正確に確認できます。

あなたが実際にである場合、Nagiosは、「check_procs」と「check_proc_name」の両方を実行します。これらは、nrpe.cfgスニペットで定義されているとおりに、同じ正確な引数で同時に実行されます。可能性があります彼らはお互いを拾うでしょうカウントで。しかし、まったく同じことを行う2つのチェックを実行するのはなぜですか?

0
Keith

私も実際にこの問題を抱えていました。たとえば、-urootです。 NRPEサーバーはNagiosユーザーとしてチェックを実行するため、特にユーザーを呼び出すことでこの問題を回避できます。

0
user227614