通过使用SNMP监视Zabbix的进程/服务

我尝试使用Zabbix 2.2和SNMP监视大约60台服务器。 我能够监视很多值,但是我正面临一个与linux服务器上进程的识别状态有关的问题。

当服务启动并运行时,我可以使用OID通过SNMP收集数据:

HOST-RESOURCES-MIB::hrSWRunStatus [ "index", "HOST-RESOURCES-MIB::hrSWRunPath", "name_of_the_service_or_process" ] 

问题是服务何时closures。 Zabbix不承认,只是显示最后的价值。 可以确定图中的故障,其中的行甚至不在级别1或级别0上。它只是缺less(因为没有数据)。

有没有可能,如何通过使用SNMP监视服务/进程? 有没有人有这方面的经验?

非常感谢 …

所以我在这方面做了一些细致的阐述,并决定自己开发一些东西。 这是在这样的事情脚本

 #!/bin/bash # Arguments: # hostname # service name # please review community string when you debug any issue with this script SNMP_COMM_STRING="public" HOST_NAME=$1 SERVICE_NAME=$2 case $SERVICE_NAME in test) echo "For testing purposes only ..." echo $HOST_NAME echo $SERVICE_NAME ;; *) RESULT=$(snmpwalk -v2c -c $SNMP_COMM_STRING $HOST_NAME HOST-RESOURCES-MIB::hrSWRunPath | grep $SERVICE_NAME ) #if the variable is null then the service is down (or the host is unreachable) if [ -z "$RESULT" ]; then echo 0 else echo 1 fi esac exit 0 
  1. 在正确的externalscript目录下创build.sh脚本。
  2. 在脚本中设置variables。
  3. 使用以下参数在Zabbix WebUI中创build项目:

    • 名称根据您的需要填写
    • types :外部检查
    • script.sh [“{HOST.HOST}”,“ process_name ”]
    • 信息types :Numberic(无符号)
    • 数据types :十进制

希望这可以帮助。 任何其他意见,欢迎… Ch。