【问题标题】:Zabbix agent unable to detect PID of the running processZabbix agent 无法检测到正在运行的进程的PID
【发布时间】:2016-09-19 12:53:58
【问题描述】:

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

{$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?

【问题讨论】:

  • 什么操作系统?是否添加了用户参数proc.num?如果您以zabbix 用户的身份查看进程列表,您看到这些进程了吗?
  • Linux(RHEL6 和 7),是的,该参数已添加并且运行良好,并且适用于大多数主机。我也可以以zabbix用户的身份查看该过程。
  • 为了澄清,您添加了一个自定义用户参数,覆盖了内置的 proc.num 项目键?
  • 我不确定有什么区别,但正如我在描述中所说,表达式字段中有一个触发器集:“{$hostname:proc.num[,,, /etc/alternatives/java].last()}=0" 其中 $hostname 当然被每个主机名替换,并且直到最近它一直运行良好。
  • 让我们暂时忽略触发器。完全可以肯定的是,您是否使用密钥proc.num 配置了任何类似的项目? zabbix.com/documentation/3.0/manual/config/items/userparameters - 另外,为了减少可能性,你运行 SELinux 吗?如果你暂时禁用 SELinux 是否有效?

标签: linux process monitoring zabbix


【解决方案1】:

问题已经解决了。

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

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

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

【讨论】:

    猜你喜欢
    • 2017-02-16
    • 2014-03-06
    • 1970-01-01
    • 2014-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多