zoukankan      html  css  js  c++  java
  • 使用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负载的表达式改成截图所示即可

    报警邮件展示

  • 相关阅读:
    使用Ansible安装部署nginx+php+mysql之安装php(2)
    使用Ansible安装部署nginx+php+mysql之安装nginx(1)
    Ansible常见问题处理
    4.2、Ansible常用模块
    3.2、Ansible单命令测试
    2、Ansible配置文件详解
    4.1、Ansible模块
    3.3、Ansible命令参数详解
    3.1、Ansible命令简要说明及初步使用
    1、Ansible初识简要介绍及安装
  • 原文地址:https://www.cnblogs.com/uglyliu/p/8596401.html
Copyright © 2011-2022 走看看