我想使用 nagios 监控 Windows 机器上的 Java 进程。在带有进程资源管理器的 Windows 服务器上,我可以看到 Java 进程是在命令行中使用“java -jar myApp.jar”启动的。我已经安装了 NSClient++ 并想使用 CheckProcState 插件。
check_nrpe -H 192.168.1.100 -p 5666 -c CheckProcState -a cmdLine ShowAll "java.exe"=started
给我
OK: java.exe: 1|'java.exe'=1;0;0
但如果我还想检查命令行
check_nrpe -H 192.168.1.100 -p 5666 -c CheckProcState -a cmdLine ShowAll "java.exe java -jar myApp.jar"=started
我得到:
CRITICAL: java.exe java -jar myApp.jar: stopped (critical)|'java.exe ja'=0;0;0
如何使用 CheckProcState 插件正确检查命令行?
答案1
它看起来像漏洞。我已尝试使用最新版本:
$ check_nrpe -H IP -p 5666 -c checkVersion
0.3.9.328 2011-08-16
check_nrpe -H IP -p 5666 -c checkProcState -a match=substr cmdLine ShowAll=long "gmond.conf"
CRITICAL: gmond.conf: stopped (critical)|'gmond.conf'=0;0;0
check_nrpe -H IP -p 5666 -c checkProcState -a match=regexp cmdLine ShowAll=long ".*gmond.exe.*gmond.conf.*"
CRITICAL: .*gmond.exe.*gmond.conf.*: stopped (critical)|'.*gmond.exe.*gmond.conf.*'=0;0;0
和match=substr
都match=regexp
返回到CRITICAL
,看来该cmdLine
选项不起作用。