zabbix邮件报警发送至qq邮箱

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zabbix邮件报警发送至qq邮箱相关的知识,希望对你有一定的参考价值。

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 [email protected]

     set smtp=smtp.qq.com

     set sm[email protected]
     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" [email protected]

  #这时候,邮箱[email protected]会收到来自[email protected]的测试邮件

  第四、编写发送邮件脚本

  进入下面路径:/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,进入模板列表

技术分享

 点击触发器

技术分享

 点击修改

 

技术分享

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

  技术分享

  


本文出自 “zpp” 博客,请务必保留此出处http://1439337369.blog.51cto.com/10270624/1979146

以上是关于zabbix邮件报警发送至qq邮箱的主要内容,如果未能解决你的问题,请参考以下文章

zabbix设置邮件发送报警

zabbix报警邮件qq邮箱收不到的问题

Zabbix5.0版本 配置QQ邮箱邮件报警

使用Zabbix服务端本地邮箱账号发送报警邮件的部署记录

zabbix邮件报警 465

Python通过smtp服务发送电子邮件给指定用户(适用于Zabbix邮件报警)