web-dev-qa-db-ja.com

Nagios NRPEcheck_procsが誤った番号を報告している

私はetch nagiosサーバー(これをNagiosServerと呼びます)を使用しており、別のetchサーバー(MonitorEtch)を含む多くのものを正常に監視しています。 check_nrpeとcheck_procsを使用して、「/ usr/sbin/squid」などの実行中のデーモンのプロセスリストを確認できます。

NagiosServerからMonitorEtchを確認します(正しい結果)。

/usr/lib/nagios/plugins/check_nrpe -H MonitorEtch -c check_process -a /usr/sbin/squid 1:1 1:1
PROCS OK: 1 process with args '/usr/sbin/squid'

/usr/lib/nagios/plugins/check_nrpe -H MonitorEtch -c check_process -a whatever 1:1 1:1
PROCS CRITICAL: 0 processes with args 'whatever'

Lucid(MonitorLucid)を実行して、監視したい新しいサーバーを構築しました。 NagiosServerからどのようなプロセスを試みて監視しても、必要以上の結果が得られます。

NagiosServerからMonitorLucidを確認します(誤った結果):

/usr/lib/nagios/plugins/check_nrpe -H MonitorLucid -c check_process -a whatever 1:1 1:1
PROCS OK: 1 process with args 'whatever'

ps ax|grep sophie
12737 ?        Ss     0:00 /usr/sbin/sophie -D
12738 ?        S      0:03 /usr/sbin/sophie -D
19591 pts/0    S+     0:00 grep --color=auto sophie

/usr/lib/nagios/plugins/check_nrpe -H 192.168.19.252 -c check_process -a sophie 1:1 1:1
PROCS CRITICAL: 3 processes with args 'sophie'

MonitorLucid/MonitorEtchの/etc/nagios/nrpe_local.cfgの内容:

allowed_hosts=NagiosServer,127.0.0.1
dont_blame_nrpe=1
command[check_process]=/usr/lib/nagios/plugins/check_procs -a $ARG1$ -m PROCS -w $ARG2$ -c $ARG3$

しかし、ローカルでチェックを実行すると、正しい結果が返されます。

MonitorLucidからMonitorLucidを確認します(正しい結果):

/usr/lib/nagios/plugins/check_procs -a whatever -m PROCS -w 1:1 -c 1:1
PROCS CRITICAL: 0 processes with args 'whatever'

/usr/lib/nagios/plugins/check_procs -a sophie -m PROCS -w 1:1 -c 1:1
PROCS CRITICAL: 2 processes with args 'sophie'

私はこの時点でアイデアがありません。必要以上に1つのインスタンスをチェックすることはできません。

5
Nick Sturgess

私も同様の問題を抱えていました。 check_procsは内部で/bin/ps axwo 'stat uid pid ppid vsz rss pcpu comm args'を呼び出しており、プロセスを一覧表示してからカウントしています。別のユーザーで実行するようにnagiosを構成している場合は、Sudoを使用してコマンドを実行しています。そして、ここに問題があります。 Sudo ps -AF | grep Sudoと入力すると、一部の分布は「grep Sudo」を返し、他の分布は「Sudo ps -AF」と「grep Sudo」を返します。 check_procsはすべてのプロセスをカウントしているため、マシンごとに異なる結果が得られます。残念ながら、check_procsがSudoプロセスをカウントしないように強制する方法はまだありません。

3
markus

Lucidのcheck_procsのバージョンのように聞こえるのはバグがある(または少なくとも動作が変更された)。常に1つの追加を見つけているという事実は、プロセス名と引数の任意の部分で部分文字列の一致を行っており、プラグインの実行に関連するプロセスの1つを見つけていることを示しています。それについてUbuntuにバグを報告する価値があります。

2
womble