为什么不是nrpe'check_procs'find我的Passenger进程?

我试图从NRPE使用check_procs找出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 

当我尝试像这样testing它时:

  check_procs -w 2: -c 3: -C Passenger 

它告诉我find了0个进程。 我看到他们 – 我怎么得到NRPE数呢?

stream程名称可能不是您想象的那样。 要了解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' 

现在采取ps命令,并尝试自己像这样:

 /bin/ps axwo 'stat uid pid ppid vsz rss pcpu comm args' | grep Passenger 

请注意,有很多作业符合你的描述…只是没有像你想象的那样命名…

 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 

现在改变你的check_procs命令来匹配:

 /usr/lib64/nagios/plugins/check_procs -C ruby -a Passenger PROCS OK: 3 processes with command name 'ruby', args 'Passenger'