设为首页 收藏本站
查看: 1085|回复: 0

[经验分享] zabbix邮件报警发送至qq邮箱

[复制链接]

尚未签到

发表于 2019-1-23 06:44:30 | 显示全部楼层 |阅读模式
zabbix邮件报警设置
第一、安装邮件发送工具mailx
  这里我选择的是mailx,所以的关闭其他的邮件发送工具
   service sendmail  start #开启,因为发送邮件需要开启25端口
   chkconfig sendmail  off #禁止开机启动
   service postfix  stop
   chkconfig postfix  off
   执行安装mailx的命令:yum install mailx
  第二、配置Zabbix服务端外部邮箱
   打开文件vi /etc/mail.rc 如果mail.rc文件没有,就手动创建 内容如下:
    set sendcharsets=iso-8859-1,utf-8
     set from=xxx@qq.com
     set smtp=smtp.qq.com
     set smtp-auth-user=xxx@qq.com
     set smtp-auth-password=********
     set smtp-auth=login
     set ssl-verify=ignore
     set nss-config-dir=/etc/pki/nssdb

  第三、测试邮件是否可以发出
  echo"zabbix test mail" |mail -s "zabbix" yyy@qq.com
  #这时候,邮箱yyy@qq.com会收到来自xxx@163.com的测试邮件
  第四、编写发送邮件脚本
  进入下面路径:/usr/local/zabbix/share/zabbix/alertscripts
创建sendmail.sh文件,内容如下
  #!/bin/bash
to=$1
subject=$2
file="/tmp/mail$RANDOM"
echo $3 > $file

sed -i -e 's/ //g' -e 's/\r/\n/g' $file
date "+%F %T" >> /usr/local/zabbix/share/zabbix/alertscripts/sendmail.log
echo "$to" "$subject" >> /usr/local/zabbix/share/zabbix/alertscripts/sendmail.log
cat "$file" >> /usr/local/zabbix/share/zabbix/alertscripts/sendmail.log
cat "$file" | /bin/mail -s "$subject" "$to"
rm -f $file
   上面的这个三个参数是接收从web页面中传递过来的,$1:收件人邮箱地址;$2:邮件标题;$3:邮件内容
   为什么我们会在这个路径下面创建这个脚本呢,这是在我们的zabbix_server.conf文件中配置的
  AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
   所以你不想将这个脚本放在这个目录下面,需要修改服务端的配置文件中的AlertScriptsPath的值
  第四、配置web页面
  4.1、创建媒体类型


  点击创建媒体类型

  添加以下3个参数,分别对应sendmail.sh脚本需要的3个参数:收件人地址、主题、详细内容
      {ALERT.SENDTO}
      {ALERT.SUBJECT}
      {ALERT.MESSAGE}
如果在3.0中不添加这三个参数会报错,因为在3.0以后zabbix允许自定义参数了,所以不会默认传递参数,在2.0的时候会默认传递三个参数,所以在3.0如果不写这三个参数会报错。
  4.2、给用户添加报警媒介
  在这以Admin用户为例 管理—》用户—》点击Admin


点击Admin


4.3、创建动作


  填写动作选项


  除了自己填写一个名称以外,其余的都默认就好了。当然也可以修改成中文:参考如下
默认接收人:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生:{TRIGGER.NAME}故障!
默认信息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE}{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
恢复信息:打钩
恢复主旨:恢复{TRIGGER.STATUS},服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
恢复信息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE}{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
已启用:打钩

  填写条件选项



  填写操作详细信息


解释:默认的步骤是1-1,也即是从1开始到1结束。一旦故障发生,就是执行sendEmail.sh脚本发生报警邮件给Admin用户和zabbix administrator组。假如故障持续了1个小时,它也只发送一次。如果改成1-0,0是表示不限制.无限发送 间隔就是默认持续时间60秒。那么一个小时,就会发送60封邮件。
  到这我们的邮件报警配置就完成了,这是只要我们设置的触发器触发,就会自动给我发送报警邮件。
测试邮件报警
我将zabbix自带的模板中的对可用内存的监控中的触发器的临界值改为大于0,进入模板列表

点击触发器

点击修改


  保存以后 我将每一分钟收到一份报警邮件 内容如下:
  

  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-666447-1-1.html 上篇帖子: zabbix3.2.7之图形集中展示插件Graphtree 下篇帖子: Zabbix告警集成 实时接收Zabbix告警,提供微信、移动APP、短信邮件提醒。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表