美文网首页zabbix
zabbix4.0通过python脚本发邮件告警

zabbix4.0通过python脚本发邮件告警

作者: 肆無忌惮 | 来源:发表于2020-06-16 14:20 被阅读0次

    python脚本为敏捷开发脚本,在zabbix监控也起到重要作用,以下是使用python脚本发邮件告警的配置方法。

    脚本如下:

    #!/usr/bin/python
    #coding:utf-8
    import smtplib
    from email.mime.text import MIMEText
    import sys
    mail_host = 'smtp.qq.com'  
    mail_user = 'username'
    mail_pass = 'passwd'  #生成的授权码
    mail_postfix = 'qq.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])
    

    新建send.py文件,将以上代码复制编辑,设置发件用户、密码。
    保存后输入chmod a+x weixin.py 给weixin.py文件赋予执行权

    然后验证脚本是否可以正常发送邮件 ./send.py xxx@qq.com hello test。三个参数分别是:收件人邮箱、邮箱主题、邮箱内容对应的是{ALERT.SENDTO},{ALERT.SUBJECT},{ALERT.MESSAGE}

    登录zabbix主机,查看配置zabbix_server.conf ,找到AlertScriptsPath,查看路径位置,如被注释,将注释打开,把send.py 文件保存到该目录下。

    如有修改配置,需重启zabbix-server服务。

    在zabbix管理中添加报警媒介类型,注意parameter中的值一定要写入,注意script name中的脚本文件名字,要和刚刚编写的Python文件名一致

    新增参数:{ALERT.SENDTO}{ALERT.SUBJECT}{ALERT.MESSAGE},分别依次加入。然后更新保存。

    20200616143624.png

    配置用户,修改报警媒介,填写收件人邮箱,选择发送邮件告警类型。


    20200616144048.png

    在配置-动作-操作中,send only to 中选择刚刚建立的send.py这个媒介类型


    20200616144350.png
    以上步骤就完成了python脚本的发送邮件告警配置。

    相关文章

      网友评论

        本文标题:zabbix4.0通过python脚本发邮件告警

        本文链接:https://www.haomeiwen.com/subject/ybtrxktx.html