Zabbix系统邮件告警Python脚本

Zabbix系统邮件告警配置有很多方式,如系统自带的mail,还有zabbix+msmtp+mutt,但是使用Python脚本应该来说还是一个非常简捷有效的方式。

主要有如下步骤;

1、设置zabbix_server.conf文件

AlterScript = /usr/local/zabbix/share/zabbix/alterscript

2、建立告警脚本

cd /usr/local/zabbix/share/zabbix/alterscript/

sudo vim sendEmail.sh

#!/usr/bin/env python
#coding:utf-8
import time
import smtplib
import logging
from email.mime.text import MIMEText
import sys
LOG_FILENAME="/var/log/email_python.log"
mail_host = 'mstp.163.com'
mail_user = '[email protected]'
mail_pass = 'xxxxx'
mail_postfix = 'xxxxx'
def send_mail(to_list,subject,content,format='html'):
 try:
  me=mail_user+"<"+mail_user+"@"+mail_postfix+">"
  msg=MIMEText(content,format,'utf-8')
  msg["Accept-Language"]="zh-CN"
  msg["Accept-Charset"]="ISO-8859-1,utf-8"
  msg['Subject']=subject
  msg['From']=me
  msg['to']=to_list
  s=smtplib.SMTP()
  s.connect(mail_host,"25")
  s.login(mail_user,mail_pass)
  s.sendmail(me,to_list,msg.as_string())
  s.close()
 except Exception,e:
  logging.basicConfig(filename = LOG_FILENAME, level = logging.DEBUG)
  logging.error(time.strftime('%Y-%m-%d %H:%I:%M',time.localtime(time.time()))+e)
if __name__ == "__main__":
 send_mail(sys.argv[1],sys.argv[2],sys.argv[3])

3、设置告警脚本的权限

sudo chmod zabbix:zabbix sendEmail.sh

sudo chown 755 sendEmail.sh

4、最后只需要在zabbix前端进行相应的配置即可。

一些Zabbix相关教程集合

ZABBIX 的详细介绍请点这里
ZABBIX 的下载地址请点这里

猜你喜欢

转载自www.linuxidc.com/Linux/2015-05/117655.htm