需求说明
添加一个监控80端口状态的监控,并当80端口down掉的时候发送邮件到邮箱然后自动重启。
操作环境
zabbix监控服务器端已经配置完成并可以正常访问。
zabbix部署
操作步骤
软件包版本需要跟服务端的server版本相同,我这里安装的是4.0版本
[root@lizihan ~]# wget http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.0-2.el7.x86_64.rpm
[root@lizihan ~]# rpm -ivh zabbix-agent-4.0.0-2.el7.x86_64.rpm
②.修改配置文件,然后启动服务
[root@lizihan ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=172.16.11.11 //修改地址为服务端ip
ServerActive=172.16.11.11 //修改为服务端ip
Hostname=172.16.11.12 //后面接的名称要与web界面配置的名字相同
[root@lizihan ~]# zabbix_agentd
③.在zabbix_server服务端安装mailx并配置
[root@zabbix ~]# yum -y install mailx
[root@zabbix ~]# vim /etc/mail.rc
set [email protected] //发送邮件地址
set smtp=smtp.sina.com //邮箱服务器地址
set [email protected] //发送邮件的用户
set smtp-auth-password=********* //发送邮件的密码
set smtp-auth-login //允许登陆//
//测试邮件能不能发送
[root@zabbix ~]# echo 'hello' | mail -s 'yes' [email protected]
默认接收人:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
默认信息:告警主机IP地址:{HOST.CONN}
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
再添加一个恢复端口的动作
这里需要修改agent客户端的配置文件
[root@lizihan ~]# vim /etc/zabbix/zabbix_agentd.conf
EnableRemoteCommands=1 //允许执行命令
[root@lizihan ~]# visudo
zabbix ALL=(ALL) NOPASSWD: ALL //设置免密
好了,到这里我们就配置完成了,然后开始测试一下是否生效
先关闭客户端的80端口,我使用的是httpd服务
[root@lizihan ~]# apachectl stop
[root@lizihan ~]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 *:10050 *:*
LISTEN 0 128 :::22 :::*
LISTEN 0 100 ::1:25 :::*
LISTEN 0 128 :::10050 :::*
客户端的80端口也是自己又启动了
[root@lizihan ~]# apachectl stop
[root@lizihan ~]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 *:10050 *:*
LISTEN 0 128 :::80 :::*
LISTEN 0 128 :::22 :::*
LISTEN 0 100 ::1:25 :::*
LISTEN 0 128 :::10050 :::*
配置过程报错解决
①.使用163邮箱的时候发送报错
[root@zabbix ~]# echo 'b' | mail -s 'a' [email protected]
[root@zabbix ~]# smtp-server: 535 Error: authentication failed
"/root/dead.letter" 11/292
. . . message not sent.
②.使用新浪邮箱的时候发送邮件报错
[root@zabbix ~]# echo 'b' | mail -s 'a' [email protected]
[root@zabbix ~]# smtp-server: 535 5.7.12 SMTP access disabled
"/root/dead.letter" 11/296
. . . message not sent.