我正在尝试使用check_procs
来自 NRPE 的信息来确定Passenger是否正在我的服务器上运行。它从加载httpd
但单独出现。
32135 ? Sl 0:09 Passenger RackApp: /usr/share/puppet/rack/puppetmasterd
32589 ? Sl 0:01 Passenger AppPreloader: /usr/share/puppet/rack/puppetmasterd
32629 ? Sl 0:05 Passenger RackApp: /usr/share/puppet/rack/puppetmasterd
32751 ? Sl 0:05 Passenger RackApp: /usr/share/puppet/rack/puppetmasterd
Run Code Online (Sandbox Code Playgroud)
当我尝试像这样测试它时:
check_procs -w 2: -c 3: -C Passenger
Run Code Online (Sandbox Code Playgroud)
它告诉我找到了 0 个进程。我看到了它们 - 我如何让 NRPE 来计算它们?
进程名称很可能不是您认为的那样。要了解如何check_process
寻找您的工作,请尝试以下操作:check_procs -vv -C Passenger
。你会看到这样的东西:
/usr/lib64/nagios/plugins/check_procs -vv -C Passenger
CMD: /bin/ps axwo 'stat uid pid ppid vsz rss pcpu comm args'
PROCS OK: 0 processes with command name 'Passenger'
Run Code Online (Sandbox Code Playgroud)
现在使用ps
命令并像这样自己尝试:
/bin/ps axwo 'stat uid pid ppid vsz rss pcpu comm args' | grep Passenger
Run Code Online (Sandbox Code Playgroud)
请注意,有很多工作符合您的描述……只是没有像您想象的那样命名……
S+ 0 841 26063 103244 852 0.0 grep grep Passenger
Ssl 0 30160 2134 216524 1972 0.0 PassengerWatchd PassengerWatchdog
Sl 0 30164 30160 1108096 4980 0.2 PassengerHelper PassengerHelperAgent
Sl 99 30170 30160 219616 4292 0.0 PassengerLoggin PassengerLoggingAgent
Sl 52 32135 1 217972 113944 1.1 ruby Passenger RackApp: /usr/share/puppet/rack/puppetmasterd
Sl 52 32629 1 235484 131480 1.9 ruby Passenger RackApp: /usr/share/puppet/rack/puppetmasterd
Sl 52 32751 1 218672 114568 1.7 ruby Passenger RackApp: /usr/share/puppet/rack/puppetmasterd
Run Code Online (Sandbox Code Playgroud)
现在更改您的check_procs
命令以匹配:
/usr/lib64/nagios/plugins/check_procs -C ruby -a Passenger
PROCS OK: 3 processes with command name 'ruby', args 'Passenger'
Run Code Online (Sandbox Code Playgroud)