Bootstrap

Zabbix监控配置(五)——动作详解

之前的几篇文章已经讲了如何定义监控项、触发器等。接下来讲讲如何定义动作。将动作之前我们先了解一下事件(event)。事件(event):即发生了一件值得关注的事情,例如某个触发器状态改变,新的agent或重新上线的agent的自动注册等。而动作是指对于特定事件事先定义的处理方法,包含了操作(如发送通知)和条件(何时执行操作)。由此,可以得知动作是通过事件来触发。

现在讲讲如何创建一个动作,与监控项和触发器结合起来一起使用。打开zabbix控制台“配置>动作>创建动作”,要通过触发器产生事件,所以事件源选择触发器。
在这里插入图片描述
因为要用于发送邮件,所以动作名称这里填“send mail”
在这里插入图片描述
上图中设定了两个条件:条件A“触发器等于131:http trigger” ,条件B:“主机等于131”。具体定义如下图。
条件B:主机–等于—选择—选定主机。
在这里插入图片描述
条件A:触发器–等于–选择–http trigger
在这里插入图片描述
在这里插入图片描述
对操作进行配置
在这里插入图片描述
操作步骤这里需要定义,发送到用户选择Admin,Admin用户之前已经配置了“报警媒介”。仅送到选择“MailScript”,“MailScript”是之前定义好的“报警媒介”。这里只是为了简单展示,所以其他的默认即可
在这里插入图片描述
恢复操作也要定义,用于服务正常后发送邮件通知,因此这里也要指定消息接收用户。
在这里插入图片描述
在这里插入图片描述
到此,一个动作的创建基本完成了。接下来用于测试邮件接收。
步骤如下:
(1)添加被监控主机httpd服务的监控项,定义好触发器,并关联到指定的动作。
(2)模拟故障:关闭httpd服务
(3)查看是否受到报警邮件
(4)模拟故障解除:重启httpd服务
(5)查看是否收到恢复邮件
步骤(1)之前的文章已详细讲解,因此这里不再赘述。这里从第(2)开始讲解。
关闭httpd服务

[root@centos7 ~]# systemctl stop httpd

关闭httpd服务后,监测页面出现告警信息,同时,也可以看到邮件已经发送。
在这里插入图片描述
打开邮箱查看邮件
在这里插入图片描述
重启httpd服务后,邮件也能正常接收到

[root@centos7 ~]# systemctl start httpd

在这里插入图片描述

故障排错:
刚开始发现邮件以附件方式发送,显示不正常,这里需要安装dos2unix转换工具( 解决发出的邮件是附件格式的问题 )
在这里插入图片描述
1、安装dos2unix

yum install dos2unix

2、修改邮件脚本

[root@centos7 alertscripts]# vim /usr/lib/zabbix/alertscripts/mail.sh 

#!/bin/bash 
#export.UTF-8 ###解决发送的中文变成了乱码的问题 
#$1是收件人,$2是邮件主题,$3是邮件内容
FILE=/tmp/mailtmp.txt
echo "$3" >$FILE
dos2unix -k $FILE ###解决了发送的邮件内容变成附件的问题。 
/bin/mail -s "$2" $1 < $FILE

上面的这个三个参数是接收从web页面中传递过来的:

$1:收件人邮箱地址;
$2:邮件标题;
$3:邮件内容
3、创建临时文件并授权

[root@centos7 alertscripts]# touch /tmp/mailtmp.txt
[root@centos7 alertscripts]# chown zabbix.zabbix /tmp/mailtmp.txt

==注意:要给脚本添加权限 ==

chmod 755 /usr/lib/zabbix/alertscripts/mail.sh
;