shenhp 发表于 2019-1-17 14:18:59

zabbix监控——zabbix邮件报警配置

  前面带着大家从搭建zabbix服务器开始一直到触发器设计完毕,这一系统本身已经可以运作起来了,只是需要有一个便捷的渠道及时告诉我们运维人员去处理一些存在问题,这里就需要我们去配置一下zabbix所提供的报警机制,zabbix的报警支持报警升级机制,这对我们运维人员来说是非常有用的,我们在让zabbix通知我们相关人员的时候就可以做一个简单的规划了,比如说前5次报警直接通知运维工程师,如果5次报警后报警问题没有得到修复,第6次报警就直接通知运维主管;或者我们可以让zabbix第一步执行对应脚本进行一次软修复,如果问题依旧时再次通知运维人员,以实现在出现问题后的第一时间能够恢复为主的思想。

确认zabbix服务器是否已经安装mailx邮件用户代理程序
# rpm -q mailx
mailx-12.5-12.el7_0.x86_64

配置mailx
# rpm -ql mailx
/bin/mail
/bin/mailx
/etc/mail.rc
/usr/bin/Mail
/usr/bin/nail
/usr/share/doc/mailx-12.5
/usr/share/doc/mailx-12.5/AUTHORS
/usr/share/doc/mailx-12.5/COPYING
/usr/share/doc/mailx-12.5/README
/usr/share/man/man1/Mail.1.gz
/usr/share/man/man1/mail.1.gz
/usr/share/man/man1/mailx.1.gz
/usr/share/man/man1/nail.1.gz
# vim /etc/mail.rc
手动添加给zabbix服务器发送报警邮件使用的邮箱帐户信息,如果使用需要验证登录客户端的邮箱需要提前打开客户端授权密码,126,163,QQ邮箱这三家都需要。

126邮箱打开客户端授权密码后如下图所示

http://i2.运维网.com/images/blog/201803/20/d5a5e7b89431ed197b9b6e7761f671db.png

# tail -3 /etc/mail.rc
set from=hehe@126.com smtp=smtp.126.com//根据邮件系统的具体服务器填写
set smtp-auth-user=hehe@126.com//zabbix服务器往外发邮件的邮箱用户名(和from=*保持一致)
set smtp-auth-password=hehemail    //此处必需填写客户端授权码,填写邮箱密码不行
set smtp-auth=login//此行表示是否登录进邮箱后进行发邮件操作
#

手动测试是否能够使用刚才配置的126邮箱进行发出邮件操作

http://i2.运维网.com/images/blog/201803/20/f2b06e4d23d89af0865bbf9c8f8ef2d3.png
以上测试通过后就可以配置zabbix服务器部分了

编写zabbix服务器自动发送邮件的脚本
# vim /data/zabbix/alertscripts/sendmail.sh

http://i2.运维网.com/images/blog/201803/20/24dc0fd74cf1c319109980504f719bb5.png

发送邮件的脚本写之后同样需要手动测试通过才可以
# /data/zabbix/alertscripts/sendmail.sh 183530300@qq.com auto_send "test mail auto send success or fail"

前往邮箱查看是否正常收到测试邮件

http://i2.运维网.com/images/blog/201803/20/8b4f6aaf23cf7839cc5cd001d083942e.png

http://i2.运维网.com/images/blog/201803/20/c9fe0f767496d6049fe52443598c09be.png

确认此步通过后配置zabbix报警媒介页面

http://i2.运维网.com/images/blog/201803/20/5d6ddb9c8ad3e6f74c3a030e645a2fdf.png

定义用户使用刚才定义的mail媒介发送报警信息

http://i2.运维网.com/images/blog/201803/20/0db5ad5eff9ce8d68a7a0842699734d7.png

点击编辑进入操作面板

http://i2.运维网.com/images/blog/201803/20/3034c8c5f69bd455ec324154987c8828.png

如果使用admin用户发送报警邮件的话就不设定权限页面的信息了,如果使用普通zabbix用户的话,是需要进行权限设定的

正式配置触发器的报警动作

http://i2.运维网.com/images/blog/201803/20/7db6632b4f9c8b371d3a8a032dbbef15.png

点击create action进入action添加操作面板

http://i2.运维网.com/images/blog/201803/20/17f93d5686f5d91dc1e213cec5af433c.png

设置好触发动作的条件后就切换到Operation选项卡配置具体执行的操作

http://i2.运维网.com/images/blog/201803/20/ffa951d55bcec3c0de96bc39d59956f9.png

设定好故障触发操作后设定故障恢复操作,不过故障恢复操作大多保持默认即可

http://i2.运维网.com/images/blog/201803/20/2e8cd052e50b8d7f861c207a2a58aac6.png

添加完成之后的action如图所示

http://i2.运维网.com/images/blog/201803/20/a8c758491f99b5c574e2f34630250e30.png

接下来我们看一下报警系统正常工作时的报警效果

http://i2.运维网.com/images/blog/201803/20/f79a209140552acde17ae7d4e07834ab.png

从图中可以看到生产服务器中有两台服务器已经离线,从故障等级上说这已经非常严重了,但对于我来问题不大,原因在于续费操作是由财务直接操作的。财务如果收不到代理商的服务器款项就会直接停服,看上去有点暴力,但我们公司就是这么动作的。

阿里云控制台ECS续费管理页面可以看到zabbix两台已经离线的两台服务器状态为已过期

http://i2.运维网.com/images/blog/201803/20/d2155a244ab49c413ed1cc5878ebefc4.png

接下来我们来看一下刚才配置的邮件报警效果
磁盘使用率高于60%的故障报警邮件

http://i2.运维网.com/images/blog/201803/20/b705f701f00eecdfd22b645bdc835da8.png
http://i2.运维网.com/images/blog/201803/20/7b67e68f044b286210bc9ed740496dd6.png

故障恢复邮件效果
磁盘使用率高于60%的故障恢复邮件

http://i2.运维网.com/images/blog/201803/20/2a1658fbcaca9d9bacbb150fad06cb9d.png

宕机后的主机重新开机后的邮件提醒

http://i2.运维网.com/images/blog/201803/20/89dfd281b8e34377ff6195afc934ce56.png

由于更新维护,没有建立维护期间,所以服务停止后一样侍收到报警邮件

http://i2.运维网.com/images/blog/201803/20/cae1fb6eda9af94dcae2a71d818179bf.png




补充板块:
  
对于已经产生的事件及触发过的动作,我们都可以通过monitor页面的problems板块进行查看

http://i2.运维网.com/images/blog/201803/20/bfc215d2b80ba8cdf3709ea244309e7e.png

查看zabbix事务处理详细过程

http://i2.运维网.com/images/blog/201803/20/77306503687bfc9a8a11c28a679b16bd.png
这里我们可以看到zabbix报警触发后发送邮件具体执行时间以及发送的邮件详情

http://i2.运维网.com/images/blog/201803/20/7cd11e86f49f2d4d33769f0d08624124.png

至此,我们的邮件报警系统已经配置完善,并且实际检验行之有效。
希望对搭建了zabbix服务器,但邮件报警一直苦恼如何实现的同仁有所帮助!



页: [1]
查看完整版本: zabbix监控——zabbix邮件报警配置