我在被监控服务器(比如名为 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'
更多细节:
- NRPE 版本 = 2.12
- Nagios 插件版本 = 1.4.16
- 操作系统类型:SLES 11.3
- 包含 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
答案1
这让我想起一个已报告的由COLUMN
环境变量引起的 Bug。
给,你有COLUMNS=96
。
这意味着任何超出COLUMN
值的进程命令行都将丢失。
正如您所说,您的进程名称很长,您可能会遇到这个问题。
COLUMN
您可以尝试在命令定义中增加变量nrpe.cfg
:
command[check_myprogram_proc]=COLUMN=256 /usr/lib/nagios/plugins/check_procs ...
参考 :http://christoph-probst.com/article.php/20110718143604605