Myserverという名前の監視対象サーバーのnrpe.confに次の行を追加しました。
command[check_mysrv_process]=/usr/lib/nagios/plugins/check_procs -c 1: -C Java -a mysrv
これは期待どおりにローカルで機能します:
myserver> /usr/lib/nagios/plugins/check_procs -c 1: -C Java -a mysrv
PROCS OK: 1 process with command name 'Java', args 'mysrv'
ただし、nagiosサーバーからnrpeを介してチェックを実行すると、特定のパターンを持つプロセスの数(通常は0または1)に関係なく、出力がゼロになります。
mynagiosserver>/opt/nagios/libexec/check_nrpe -H myserver -u -c check_mysrv_process
PROCS CRITICAL: 0 processes with command name 'Java', args 'mysrv'
詳細:
[〜#〜]編集[〜#〜]
cat /proc/pid of nrpe/environ
を実行すると、次の行が表示されます。
CONSOLE =/dev/consoleSELINUX_INIT = YESROOTFS_FSTYPE = ext3Shell =/bin/shTERM = linuxROOTFS_FSCK = 0crashkernel = 256M-:128MLC_ALL = POSIXINIT_VERSION = sysvinit-2.86REDIRECT =/dev/tty1COLUMNS = 96PATH =/bin:/ sbin:/ usr/bin: /usr/sbinvga=0x314DO_CONFIRM=RUNLEVEL=5PWD=/SPLASHCFG=/etc/bootsplash/themes/SLES/config/bootsplash-800x600.cfgPREVLEVEL=NLINES=33HOME=/SHLVL=2splash=silentSPLASH=yesROOTFS_BLKDEV=/dev/sda2_=/ sbin/startprocDAEMON =/usr/sbin/nrpe
これにより、COLUMN
環境変数によって報告されたバグについて考えるようになります。
ここに、COLUMNS=96
があります。
これは、COLUMN
値を超えるプロセスコマンドラインが失われることを意味します。
プロセス名が長いとおっしゃっていましたが、この問題に直面している可能性があります。
nrpe.cfg
のコマンド定義でCOLUMN
変数を増やすことができます。
command[check_myprogram_proc]=COLUMN=256 /usr/lib/nagios/plugins/check_procs ...
参照: http://christoph-probst.com/article.php/20110718143604605