Zabbix监控服务状态有多种方式,比如:
1,ps aux |grep nginx|grep -v grep |wc -l,依据返回值来判断是否正常;
2,利用zabbix自带函数proc.num[]来判断是否正常;
上面两种都需要指定对象,但通常不适用于生产环境。生产环境中,不同主机启动的服务不同,规模小了还好办,最多辛苦一点,挨个添加,规模大了就不适用了。这个时候就要使用lld来自动发现服务并监控服务状态。
脚本如下:
[root@seo1 process]# cat proc.discovery.sh
#!/bin/bash
# get the list service if running in the server
printf '{\n'
printf '\t"data":[\n'
getservice() {
ps axu | grep -v grep | grep $1 &> /dev/null
if [ $? == 0 ];then
if [ $1 != 'sshd' ]; then
printf '\t {\n'
echo '"{#PROCNAME}":' \"$1
使用Zabbix LLD自动发现监控服务状态

本文介绍了如何使用Zabbix的低级别发现(LLD)功能来自动发现并监控服务状态,以适应不同主机和服务规模。通过编写shell脚本`proc.discovery.sh`并配置Zabbix Agent,实现对httpd、mysqld、haproxy和sshd等服务的运行状态监控。在Zabbix Web端创建模板、自动发现规则和监控原型,从而完成服务状态的自动化监控设置。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



