Zabbix3.0邮件告警配置
来源:互联网 发布:windows 2012装snmp 编辑:程序博客网 时间:2024/06/07 14:05
- 概述
- 安装环境
- 编写脚本
- 修改配置文件
- 新建媒体类型
- 添加收件人
- 配置报警动作
- 测试
概述
最近在部署调试zabbix3.0监控系统,邮件告警是监控系统中必不可少的一部分,下面就来谈谈通过自定义脚本的方式来给zabbix3.0配置邮件告警。
安装环境
- zabbix server版本为3.0.3,使用rpm包方式安装
- 使用官方rpm包方式安装的zabbix server本身不支持SMTP authentication1
- 系统版本
$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.3 (Santiago)
编写脚本
在这里我们使用一个简单的python脚本来实现发送邮件的功能。
脚本如下:sendmail.py2
#!/usr/bin/python#coding:utf-8import smtplibfrom email.mime.text import MIMETextimport sys# configure your own parameters heremail_host = 'smtp.xxxx.com' mail_user = 'xxx@xxxx.com'mail_pass = 'xxxxx'mail_postfix = 'xxxx.com'def send_mail(to_list,subject,content): me = mail_user+"<"+mail_user+"@"+mail_postfix+">" msg = MIMEText(content, 'plain', 'utf-8') # 必须使用'utf-8'参数,否则默认为us-ascii, 在部分邮件客户端中文会显示为乱码 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 Falseif __name__ == "__main__": send_mail(sys.argv[1], sys.argv[2], sys.argv[3])
注意:
- s.sendmail(me,to_list,msg.as_string())中的me变量需为一个username@company.com格式的完整邮箱地址,否则我公司smtp服务器会退信,报错:
DELIVERY FAILURE: Error transferring to 132.228.xxx.xxx; SMTP Protocol Returned a Permanent Error 555 Syntax error
- 类似的python3脚本4还有许多,也有用linux系统下的mutt5和mail6程序实现的shell脚本
修改配置文件
- 修改zabbix_server.conf 中的这一行:
AlertScriptsPath=/etc/zabbix/alertscripts
该目录应为发邮件脚本所在目录 - 重启zabbix server使配置生效
service zabbix-server restart
新建媒体类型
- 在Zabbix Web页面下,Administration -> Media Type -> Create media type
- 输入脚本名称,类型选择Script
- Zabbix3.0新加了脚本参数功能,因此Script Parameter栏目必须填写,一般为:
{ALERT.SENDTO}, {ALERT.SUBJECT}, {ALERT.MESSAGE}
分别为脚本需要的3个参数:收件人地址、主题、详细内容 - 很多人安Zzabbix3.0之后,写的脚本一直发信不成功,手动执行时可以的。这是因为Zabbix3.0之后,可以自定义参数了。所以不写参数,它是不会传参数的。在2.x版本不存在这个问题,默认会传3个参数。
添加收件人
Administration -> User -> 选择用户 -> Media -> Add
type选择新建的脚本媒体名称,recipient填写收件人邮箱地址
配置报警动作
Configuration -> Action -> Create action
测试
停掉client节点的zabbix-agent服务,等待邮件报警。默认agent发邮件是5分钟,即5次没有获取到数据则报警。
- https://www.zabbix.com/documentation/3.0/manual/config/notifications/media/email ↩
- http://www.cnblogs.com/Eivll0m/p/5446993.html ↩
- https://gist.github.com/superdaigo/3754055 ↩
- https://github.com/itnihao/zabbix-book/blob/master/06-chapter/zabbix_sendmail_v2.py ↩
- https://karp.id.au/a/2014/12/31/sending-authenticated-smtp-alerts-from-zabbix ↩
- https://www.zabbix.com/documentation/3.0/manual/config/notifications/media/script ↩
1 0
- Zabbix3.0邮件告警配置
- zabbix3.0.4 邮件告警详细配置
- zabbix3.0 自定义告警邮件内容
- zabbix3邮件告警
- zabbix3.0配置服务器流量告警
- zabbix3.2使用sendEmail发送告警邮件
- centos7.2+zabbix3.2+sedmail邮件告警
- Zabbix3.2邮件告警python脚本
- zabbix3.2.0触发邮件告警流程
- Django 邮件告警配置
- Ambari告警邮件配置
- ambari邮件告警配置
- Zabbix 配置邮件告警
- zabbix-邮件告警配置
- zabbix3.0邮件报警
- zabbix3.0.4邮件报警配置
- zabbix3.2邮件报警配置
- zabbix3.X配置邮件监控
- HashTable和HashMap的区别
- 关于GOPATH
- 关于 gcc / g++ getline() 读入换行符的总结
- 修复grub开机引导
- mui框架如何实现页面间传值
- Zabbix3.0邮件告警配置
- ajax封装练习
- DOM4J生成xml文件
- RHEL 软件包管理 rpm yum 源码编译
- 用Java在网页上保存小说
- chrome浏览器安装失败,已解决
- 1>LINK : fatal error LNK1561: 必须定义入口点
- Android组件----RelativeLayout相对布局的属性详解
- 成员函数及this指针的意义