linux - Zabbix代理无法检测正在运行的进程的PID

标签 linux process monitoring zabbix

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

{$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:没有这样的文件或目录

根据我的理解,问题是没有发现进程的 PID,因此它会触发警报操作。

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

最佳答案

问题现已解决。

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

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

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

关于linux - Zabbix代理无法检测正在运行的进程的PID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39573738/

相关文章:

linux - $ 在 Linux 中是什么意思?

Linux线程——模拟餐厅餐 table

php - UTF-8贯穿始终

python - 检查第二个脚本是否正在运行或已经完成

sql-server - 数据库的CPU利用率?

linux - Arch Linux KDE 不保存监视器设置

delphi - 如何在第三方Delphi应用程序中获取控件的属性列表和值?

.net - .NET向Windows/Linux进程和线程添加了什么?

logging - 无法使用基于日志的指标(指标类型 : "Counter")

linux - 如何使用 Bash 脚本发送 Internet 连接警报?