【发布时间】: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