Zabbix-server 3.4.2 邮件告警 06

1.配置zabbix_server.conf文件,然后重启服务

grep -Ev "^#|^$" /usr/local/zabbix/etc/zabbix_server.conf
LogFile=/usr/local/zabbix/logs/zabbix_server.log
PidFile=/usr/local/zabbix/logs/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBPort=3306
StartPreprocessors=3
Timeout=4
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts      # 开启脚本路径
LogSlowQueries=3000
Include=/usr/local/zabbix/etc/zabbix_server.conf.d/

/etc/init.d/zabbix-server restart       # 重启服务

 2.编辑mail的python脚本

cd /usr/local/zabbix/share/zabbix/alertscripts/
vim zabbix-mail.py
#!/usr/bin/python  
#coding:utf-8  
import smtplib
from email.mime.text import MIMEText
import sys
mail_host = 'smtp.163.com'            # 邮箱smtp配置
mail_user = 'xxxx002'                    # 邮箱账号
mail_pass = 'xxxxxx163'                # 邮箱密码
mail_postfix = '163.com'
def send_mail(to_list,subject,content):
    me = "zabbix监控告警平台"+"<"+mail_user+"@"+mail_postfix+">"
    msg = MIMEText(content, 'plain', 'utf-8')
    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])

 

3.配置脚本执行权限及zabbix属主,及测试邮件

chmod +x zabbix-mail.py
chown -R zabbix.zabbix zabbix-mail.py
python zabbix-mail.py 85071075@qq.com test test

 

4.zabbix服务器报警媒介类型

# 脚本名称为在zabbix服务器里的python脚本
增加三个参数
{ALERT.SENDTO}    收件人地址
{ALERT.SUBJECT}    主题
{ALERT.MESSAGE}    详细内容

5.创建报警用户

6.配置报警媒介

7.配置报警动作,创建新的触发动作

# 配置操作
故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

告警主机:{HOSTNAME1}
告警时间:{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}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

 

8.告警邮件通知

 

 

 

参考文档:http://10880347.blog.51cto.com/346720/1939532

posted @ 2017-10-23 17:14  sunmmi  阅读(970)  评论(0)    收藏  举报