• 使用python脚本配置zabbix发送报警邮件


    #前提得在zabbix_server配置文件中配置触发脚本的目录,例如,我配置的在/usr/local/zabbix/server/scripts目录下

    编写python脚本如下

    因为我的服务器在腾讯云,无法使用25端口,故使用465端口,因此脚本中需配置ssl,就是这一行 smtp_server = smtplib.SMTP_SSL(smtp_host,465)

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    from email import encoders
    from email.header import Header
    from email.mime.text import MIMEText
    from email.utils import parseaddr, formataddr
    import smtplib
    import sys
    def send_mail(_to_email,_subject,_message):
    # 定义邮件发送
        smtp_host = '邮箱服务器'
        from_email = '邮箱'
        passwd = '邮箱密码'
        msg = MIMEText(_message,'plain','utf-8')
        msg['Subject'] = _subject
        smtp_server = smtplib.SMTP_SSL(smtp_host,465)
        smtp_server.login(from_email,passwd)
        smtp_server.sendmail(from_email,[_to_email],msg.as_string())
        smtp_server.quit()
    if __name__ == '__main__':
        send_mail(sys.argv[1],sys.argv[2],sys.argv[3])

    然后把脚本传到/usr/local/zabbix/server/scripts目录,并更改属性为zabbix

    chown zabbix.zabbix sendmail.py && chmod 755 sendmail.py

    zabbix中配置

    依次点击管理-->报警媒介类型-->创建媒体类型

     

    新建媒体类型为send_mail,并设置如下

     设置动作

     

     

     确保我们默认的发件是python脚本,并且已启用

     设置收件人

     邮件测试

     把cpu负载的表达式改成截图所示即可

    报警邮件展示

  • 相关阅读:
    记录一次线上优化流程
    php ignite 使用问题记录
    invalid contrller specified 错误分析及解决
    koa 2 的 async 和 await 语法
    koa 2 的安装
    vue 自定义组件 v-model双向绑定、 父子组件同步通信的多种写法
    VS2019专业版和企业版激活密钥
    RE:ゼロから始める PKU 生活 episode 2
    CSP-S 2020 游记
    ioi2021集训队作业
  • 原文地址:https://www.cnblogs.com/uglyliu/p/8596401.html
Copyright © 2020-2023  润新知