我知道Zabbix可以通过两个选项监控Linux机器上的任何服务:
proc.num[]
这完全是违反直觉的,因为我可以生成具有相同可执行文件名称的进程,而它们会欺骗Zabbix。我更喜欢使用标准的service status
或者systemctl status name.service
工具。但是在Zabbix中没有使用它的标准方法,除了system.run[cmd]
您可以帮助我编写用于监控特定服务状态的模板吗?我们希望使用不同的OSes,比如CentOS7和Ubuntu14.04和16.04发行版。很遗憾,但是service status
在列出的操作系统中是完全不同的。
发布于 2020-07-02 12:06:06
对于centos 6,可以这样做:
UserParameter=check_service_status_asterisk,sudo service asterisk status 2> /dev/null | grep -q "is running";echo $?
对于centos 7或类似版本,可以使用以下命令创建:
UserParameter=check_service_status_grafana,systemctl status grafana-server 2> /dev/null |sed -n 3p |grep -q "running";echo $?
或者
UserParameter=check_service_status[*],systemctl status $1 2> /dev/null |sed -n 3p |grep -q "running";echo $?
https://stackoverflow.com/questions/43628225
复制相似问题