博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
zabbix配置发送报警邮件
阅读量:6441 次
发布时间:2019-06-23

本文共 2357 字,大约阅读时间需要 7 分钟。

配置邮件分为两种情况:

第一种:使用远端邮件服务器发送报警邮件
Linux系统版本:CentOS6.5-64

下载mailx:

安装邮件发送软件mailx(CentOS6.5自带mailx软件包为12.4,故无需下载源码安装)
[  ~]# rpm -qa |grep mailx
mailx-12.4-8.el6_6.x86_64
查看mailx软件版本
[  ~]# mailx -V
12.4 7/29/08
配置zabbix服务端邮件地址
[  ~]# tail -3 /etc/mail.rc 
set from=  smtp=smtp.sina.net
set smtp-auth-user=  smtp-auth-password=123456
set smtp-auth=login
使用mailx测试发送邮件
echo "zabbix test mail" | mailx -s "Test-mail"   ---查看自己126邮箱是否有此封测试邮件。
创建media类型
设置用户报警邮箱
在web界面配置zabbix动作Action选项
故障:{TRIGGER.STATUS},服务器:{HOSTNAME1}发生:{TRIGGER.NAME}故障!
告警主机:{HOSTNAME1},IP地址:{HOST.CONN}
告警时间:{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} ,IP地址:{HOST.CONN}
告警时间:{EVENT.DATE}{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
 
接着配置Operations选项
编写sendmail.sh脚本
[  ~]# cd /yc/usr/local/zabbix/share/zabbix/alertscripts/
[  alertscripts]# cat sendmail.sh 
#!/bin/bash
echo "$3" |mailx -"$2" $1
*注释:其中$3为报警邮件内容,$2为报警邮件主题,$1为用户接收邮箱
[  alertscripts]# chown -R zabbix.zabbix sendmail.sh
[  alertscripts]# chmod +x sendmail.sh
测试,停掉任意一台机器的zabbix_agentd,过几分钟查看126邮箱中是否存在报警邮件。
附:python邮件发送脚本。
[root@GXB-CTRLCENTER alertscripts]# cat sendmail.py #!/usr/bin/python#coding:utf-8  import smtplibfrom email.mime.text import MIMETextimport sys reload(sys)sys.setdefaultencoding('utf8')#邮箱服务器地址mail_host = 'smtp.exmail.qq.com'#邮箱用户名mail_user = 'zabbix@xkops.com'#邮箱密码mail_pass = 'Z123456'mail_postfix = 'xkops.com'def send_mail(to_list,subject,content):    me = mail_user+"<"+mail_user+"@"+mail_postfix+">"    msg = MIMEText(content,_charset='utf-8')    if not isinstance(subject,unicode):        subject = unicode(subject)    msg['Subject'] = subject    msg['From'] = me    msg['to'] = to_list      try:        s = smtplib.SMTP()        s.connect(mail_host)        s.login(mail_user,mail_pass)        s.sendmail(me,to_list,msg.as_string())        s.close()        return True    except Exception,e:        print str(e)        return False if __name__ == "__main__":    send_mail(sys.argv[1], sys.argv[2], sys.argv[3])

 

 
第二种:使用zabbix服务器本地邮件服务器发送报警邮件(待完善)

转载于:https://www.cnblogs.com/xkops/p/5457443.html

你可能感兴趣的文章
IIS_右键点击浏览网站没有反应
查看>>
POJ训练计划1035_Spell checker(串处理/暴力)
查看>>
Makefile 使用总结【转】
查看>>
一起学微软Power BI系列-官方文档-入门指南(4)Power BI的可视化
查看>>
Android.util.Log 关于Android开发中打印log
查看>>
转:Python yield 使用浅析 from IBM Developer
查看>>
仪表板颜色
查看>>
NodeJS、NPM安装配置步骤(windows版本)
查看>>
mysql oom之后的page 447 log sequence number 292344272 is in the future
查看>>
chrome禁用某个网站js脚本的执行
查看>>
数组排序 和 二分法查找
查看>>
MongoDB C Driver Building on Windows
查看>>
备忘zookeeper(单机+伪集群+集群)
查看>>
无需编译、快速生成 Vue 风格的文档网站
查看>>
AtomicBoolean介绍与使用
查看>>
Elasticsearch之curl删除
查看>>
Apache Spark 内存管理详解(转载)
查看>>
JS隐藏号码中间4位
查看>>
windows下安装Rabbitmq详解
查看>>
HTTP协议中POST、GET、HEAD、PUT等请求方法以及一些常见错误
查看>>