4.1:邮件通知
本次实践的目的是掌握zabbix电子邮件报警媒介的添加、如何设置允许zabbix调用QQ邮箱来发送邮件,以及创建操作类型为发送信息的动作。
产生zabbix邮件通知的条件为:
- 有可用的相关报警媒介;
- 正确设置了被调用邮箱的授权;
- 触发的相应动作调用了该报警媒介。
这里使用QQ邮箱作为zabbix调用的邮箱,即邮件通知的发件人是设置的QQ邮箱帐户。
4.1.1:QQ 邮箱授权
4.1.1.1:开启 POP3/SMTP 服务
使用zabbix调用QQ邮箱时,需要开启POP3/SMTP服务。
登录自己的QQ邮箱(即准备作为zabbix邮件通知发件人的邮箱),设置-帐户,找到“POP3/SMTP服务”,点击开启:
开启时会要求验证密保,按照提示进行相关验证操作。
4.1.1.2:记录授权码
验证成功后,会开启POP3/SMTP服务,并提供授权码,用于第三方(这里就是zabbix)的登录认证。
如果需要更改授权码,可以点击“生成授权码”,重新生成。
重新生成授权码同样需要验证密保,和开启服务时的操作相同。
4.1.2:Zabbix Server 创建报警媒介
管理-报警媒介类型-创建媒体类型:
填写报警媒介相关信息:
QQ邮箱所需的信息在帮助中心的常用邮件客户端软件设置中都能找到:https://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=371
4.1.3:为 Zabbix 的用户添加报警媒介
4.1.3.1:创建用户
假如公司有一个员工为yanqinchuan,为其添加创建好的邮件报警媒介,在相关报警产生时,向他发送邮件进行通知。
该员工邮箱为:yanqinchuan@aliyun.com
管理-用户-创建用户:
填写用户信息:
4.1.3.2:为用户添加报警媒介
报警媒介-添加:
填写报警媒介信息:
4.1.4:实现 Zabbix 告警的邮件通知
实现:当被监控主机node111的Nginx服务80端口监听故障时,通过邮件通知到yanqinchuan用户。
最多进行3次通知,每次通知间隔60s。
4.1.4.1:创建动作
4.1.4.1.1:动作
基于触发器“Nginx监听80端口异常”,当触发器告警时,则激活动作。
4.1.4.1.2:操作
操作中配置的是告警发生时的相关操作信息,这里就是发送告警通知邮件给指定用户。
4.1.4.1.3:恢复操作
恢复操作中配置的是告警恢复时的相关操作信息。这里就是发送恢复通知邮件给用户。
最后点击添加,完成动作的添加。
4.1.4.2:验证邮件通知
以node111(192.168.1.111)的Nginx服务为监控对象,当Nginx的80端口不监听时,则触发严重告警,并通过邮件通知yanqinchuan用户。
4.1.4.2.1:确认被监控主机已关联相关触发器
相应的触发器如下,当80端口不监听时,触发器告警。
4.1.4.2.2:验证告警邮件的发送
关闭node111的Nginx,触发告警:
root@node111:~# systemctl stop nginx
zabbix出现告警,并在3分钟后,发送完3封通知邮件。
经过多长时间、发送几封邮件,取决于动作中的持续时间和步骤。
前边配置的持续时间为60s,步骤为1-3,所以就是告警发生时发送第1封邮件,经过60s告警仍然存在时发送第2封邮件,再经过60s告警还存在时,发送第3封邮件。
邮箱已经收到3封邮件:
邮件内容:
4.1.4.2.3:验证恢复邮件的发送
开启node111的Nginx:
root@node111:~# systemctl start nginx
收到故障恢复的邮件通知: