我在监视服务器的nrpe.conf中添加了以下行,名为myserver:
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-800×600.cfgPREVLEVEL=NLINES=33HOME=/SHLVL=2splash=silentSPLASH=yesROOTFS_BLKDEV=/dev/sda2_=/ sbin目录/ startprocDAEMON = / usr / sbin目录/ NRPE
这让我想到一个由COLUMN环境variables引起的Bug报告。
在这里,你有COLUMNS=96 。
这意味着任何超过COLUMN值的进程命令行都将丢失。
如你所说,你的进程名称很长,你可能会面临这个问题。
您可以尝试在nrpe.cfg的命令定义中增加COLUMNvariables:
command[check_myprogram_proc]=COLUMN=256 /usr/lib/nagios/plugins/check_procs ...
参考: http : //christoph-probst.com/article.php/20110718143604605