6、Zabbix邮件告警
2016-06-12 11:13
225 查看
1、创建邮件告警的脚本,内容如下:
2、脚本文件路径先确认下zabbix_server.conf文件中定义的告警脚本路径
3、测试脚本文件发送邮件是否成功,这一步很重要 # cd /usr/lib/zabbix/alertscripts #./mail.py 451345726@qq.com “subject” “content” 如果能收到邮件,表示脚本没有问题。
4、创建Media types
5、添加邮件邮件接收用户
6、创建Action
Action选项卡中只要填一个Name,其余默认
Conditions选项卡中添加告警条件,将主机组加入进来。
注意添加主机组这里如果你选择了多个主机组,则表示属于这多个组的主机才满足告警条件。
如果条件选择AND/OR 就可以避免这一问题
创建Operations
到这里配置完成了。
邮件告警内容
本文出自 “zengestudy” 博客,请务必保留此出处http://zengestudy.blog.51cto.com/1702365/1788119
#!/usr/bin/env python #coding:utf-8 import smtplib from email.mime.text import MIMEText import sys LOG_FILENAME="/var/log/email_python.log" mail_host = 'smtp.qq.com' #定义smtp服务器 mail_user = '45xxxx6@qq.com' #发件人邮箱 mail_pass = 'xxxxx' #发件人邮箱密码 mail_port = 465 #smtp服务器的端口号,不同的邮箱服务器端口号不同 def send_mail(to_list,subject,content): me="Zabbix Monitor"+"<"+mail_user+">" #定义发件人显示名称为Zabbix Monitor msg=MIMEText(content,_subtype='plain',_charset='gb2312') msg['Subject']=subject #定义邮件主题 msg['From']=me #发送方 msg['to']=to_list #接收方 try: s=smtplib.SMTP_SSL() #创建一个smtp对象 s.connect(mail_host,mail_port) #通过connect方法连接smtp主机 s.login(mail_user,mail_pass) #邮箱账户登录认证 s.sendmail(me,to_list,msg.as_string()) #发送邮件 s.close() #断开smtp连接 return True except Exception,e: print str(e) return False if __name__ == "__main__": send_mail(sys.argv[1],sys.argv[2],sys.argv[3])
2、脚本文件路径先确认下zabbix_server.conf文件中定义的告警脚本路径
#AlertScriptsPath=/usr/lib/zabbix/alertscripts AlertScriptsPath=/etc/zabbix/alertscripts然后将准备好的python脚本存放到该路径下,并更改脚本文件的权限和属主属组#chown zabbix:zabbix mail.py#chmod +x mail.py注意:如果在zabbix_server.conf文件中没有设置Allow root=1,则表示zabbix是以zabbix用户启动而不是root,所以脚本的属主属组都应该设置为zabbix用户。设置为root用户启动的配置如下。
### Option: AllowRoot # Allow the server to run as 'root'. If disabled and the server is started by 'root', the server # will try to switch to user 'zabbix' instead. Has no effect if started under a regular user. # 0 - do not allow # 1 - allow # # Mandatory: no # Default: AllowRoot=1
3、测试脚本文件发送邮件是否成功,这一步很重要 # cd /usr/lib/zabbix/alertscripts #./mail.py 451345726@qq.com “subject” “content” 如果能收到邮件,表示脚本没有问题。
4、创建Media types
5、添加邮件邮件接收用户
6、创建Action
Action选项卡中只要填一个Name,其余默认
Conditions选项卡中添加告警条件,将主机组加入进来。
注意添加主机组这里如果你选择了多个主机组,则表示属于这多个组的主机才满足告警条件。
如果条件选择AND/OR 就可以避免这一问题
创建Operations
到这里配置完成了。
邮件告警内容
本文出自 “zengestudy” 博客,请务必保留此出处http://zengestudy.blog.51cto.com/1702365/1788119
相关文章推荐
- 网站开发进阶(三十三)中文字符编码问题
- 网站开发进阶(三十三)中文字符编码问题
- 1003
- UIView 中的控件事件穿透 Passthrough 的实现
- 1. Two Sum
- 使用mingw-get 更新 mingw中的gcc
- ZooKeeper完全分布式安装与配置
- [转]MVC3缓存之一:使用页面缓存
- [团队项目]典型用户 - 场景(用户故事) - 任务 - 具体工作流程
- Windows下搭建PHP环境:Apache+PHP+MySQL
- C++运算符重载详解
- Android Studio的快捷键以及设置方式
- Eclipse中将一个android项目当做另外一个android项目的library
- javax.persistence.PersistenceException: [PersistenceUnit: cmf.server] Unable to build EntityManagerF
- 基于Netty4的HttpServer和HttpClient的简单实现
- 剑指offer—编程题14(调整数组顺序使奇数位于偶数前面)
- (十三)Linux基础之软件安装―yum、rpm
- CSS3边框
- jquery中如何防止冒泡事件
- 合理利用手机网站生成工具