zqwby-0708

创建Python脚本

Zabbix默认报警脚本路径,可以自行修改

1 vim /etc/zabbix/zabbix_server.conf
2 AlertScriptsPath=/usr/lib/zabbix/alertscripts #默认路径

在/usr/lib/zabbix/alertscripts目录下创建python脚本。

 1 #!/usr/bin/env python
 2 #coding:utf-8
 3 import smtplib
 4 from email.mime.text import MIMEText
 5 import sys
 6 LOG_FILENAME="/var/log/email_python.log"
 7 mail_host = \'smtp.qq.com\'                  #定义smtp服务器
 8 mail_user = \'45xxxx6@qq.com\'               #发件人邮箱
 9 mail_pass = \'xxxxx\'                        #发件人邮箱密码
10 mail_port = 465                            #smtp服务器的端口号,不同的邮箱服务器端口号不同
11 def send_mail(to_list,subject,content):
12     me="Zabbix Monitor"+"<"+mail_user+">"  #定义发件人显示名称为Zabbix Monitor
13     msg=MIMEText(content,_subtype=\'plain\',_charset=\'gb2312\')
14     msg[\'Subject\']=subject                 #定义邮件主题
15     msg[\'From\']=me                         #发送方
16     msg[\'to\']=to_list                      #接收方
17     try:
18         s=smtplib.SMTP_SSL()               #创建一个smtp对象                     
19         s.connect(mail_host,mail_port)     #通过connect方法连接smtp主机
20         s.login(mail_user,mail_pass)       #邮箱账户登录认证
21         s.sendmail(me,to_list,msg.as_string()) #发送邮件
22         s.close()                             #断开smtp连接
23         return True
24     except Exception,e:
25         print str(e)
26         return False
27 if __name__ == "__main__":
28     send_mail(sys.argv[1],sys.argv[2],sys.argv[3])

 

修改脚本文件的权限和属主属组

1 chown zabbix:zabbix mail.py
2 chmod +x mail.py

设置以root用户启动

1 vim /etc/zabbix/zabbix_server.conf
2 AllowRoot=1

测试脚本邮件是否成功发送

1 cd  /usr/lib/zabbix/alertscripts
2 ./mail.py xxxxx@xx.com "Subject" "Content"

 

创建Media

Administrator -> Media Type -> Create media type

 

添加邮件接收用户

Administrator -> Users -> Media

 

 

 

 

 

 

分类:

技术点:

相关文章: