Zabbix服务器:192.168.1.36;
被控端:192.168.1.37
#在被控端:192.168.1.37安装agent
yum install zabbix40-agent -y
#修改zabbix-agent配置文件:
[root@localhost ~]# vim /etc/zabbix_agent.conf
PidFile=/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.1.36
Hostname=192.168.1.36
UserParameter=nginx.status[*],bash /data/sh/nginx_status.sh $1 # 指定监控项及获取值的方式
#创建脚本
vim /data/sh/nginx_status.sh
#!/bin/bash
#######################
function active {
curl 192.168.1.37/status 2>/dev/null |awk 'NR==1{print $NF}'
}
function accepts {
curl 192.168.1.37/status 2>/dev/null | awk 'NR==3{print $1}'
}
function handled {
curl 192.168.1.37/status 2>/dev/null | awk 'NR==3{print $2}'
}
function requests {
curl 192.168.1.37/status 2>/dev/null | awk 'NR==3{print $3}'
}
function reading {
curl 192.168.1.37/status 2>/dev/null | awk 'NR==4{print $2}'
}
function writing {
curl 192.168.1.37/status 2>/dev/null | awk 'NR==4{print $4}'
}
function waiting {
curl 192.168.1.37/status 2>/dev/null | awk 'NR==4{print $NF}'
}
$1
#启动agent服务
systemctl start zabbix-agent
#在web界面添加agent主机
#添加监控项
创建触发器:
在192.168.1.37关闭nginx服务,zabbix就会报问题了
自动邮件报警:
#添加接收报警的邮箱:
#设置发送报警邮件的邮箱:
#添加动作:(发送邮件和自动重启 nginx服务)
测试:在agent192.168.1.37关闭ngnix:
systemctl stop nginx
可以看到监听端口变成0了,问题中也出现信息了。
邮件也收到了。
Zabbix自动发送了邮件,并重启了服务。在被控端查看,nginx服务已经启动:
[root@localhost sh]# netstat -tnlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 16419/nginx: master
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 900/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 988/master
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 10120/zabbix_agentd
tcp6 0 0 :::80 :::* LISTEN 16419/nginx: master
tcp6 0 0 :::22 :::* LISTEN 900/sshd
tcp6 0 0 ::1:25 :::* LISTEN 988/master
tcp6 0 0 :::10050 :::* LISTEN 10120/zabbix_agentd