Zabbix 代理无法检测到 运行 进程的 PID

Zabbix agent unable to detect PID of the running process

我收到一些显示进程不可用的触发器,但当我检查主机时它运行正常。以下是触发器表达式的设置方式:

{$hostname:proc.num[,,,/etc/alternatives/java].last()}=0

某些主机似乎工作正常,但其中一些会触发进程不可用并发送警报。

受影响的主机:

# ps ax | grep java
 1717 ?        Ssl  119:15 /etc/alternatives/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -Djsse.enableSNIExtension=false -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --daemon --httpPort=-1 --httpsPort=8443 --ajp13Port=8009 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20 --httpsCertificate=/var/lib/jenkins/.ssl/hostssl.crt --httpsPrivateKey=/var/lib/jenkins/.ssl/hostssl.key

Zabbix 日志:

  2000:20160901:081336.721 Starting Zabbix Agent [$hostname]. Zabbix 2.2.8 (revision 51174).
  2000:20160901:081336.721 using configuration file: /etc/zabbix/zabbix_agentd.conf
  2002:20160901:081336.724 agent #0 started [collector]
  2004:20160901:081336.724 agent #2 started [listener #2]
  2005:20160901:081336.725 agent #3 started [listener #3]
  2006:20160901:081336.725 agent #4 started [active checks #1]
  2003:20160901:081336.725 agent #1 started [listener #1]
cat: /proc//status: No such file or directory
cat: /proc//status: No such file or directory
cat: /proc//status: No such file or directory
cat: /proc//status: No such file or directory

主机正确发送zabbix数据:

# ps ax | grep java
 2472 ?        Ssl  1279:26 /etc/alternatives/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -Djsse.enableSNIExtension=false -Dorg.apache.commons.jelly.tags.fmt.timeZone=Europe/Dublin -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --daemon --httpPort=-1 --httpsPort=8443 --ajp13Port=8009 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20 --httpsCertificate=/var/lib/jenkins/.security/hostssl.crt --httpsPrivateKey=/var/lib/jenkins/.security/hostssl.key --httpsPort=8443

Zabbix 日志不包含行 cat: /proc//status: No such file or directory

据我了解,问题是未发现进程的 PID,因此它会触发警报操作。

有什么方法可以进一步解决这个问题,看看为什么 zabbix 代理无法检测到受影响机器上 运行 进程的 PID?

问题已解决

我使用zabbix_get从zabbix agent中获取结果。在那里我发现它无法从 jenkins 或任何其他非 zabbix 用户获取任何进程。

谷歌搜索让我发现了这个错误:https://bugzilla.redhat.com/show_bug.cgi?id=1032691

应用自定义 SELinux 策略解决了问题。