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

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

因为我的服务器在腾讯云,无法使用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中配置

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

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

 

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

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

 

 设置动作

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

 

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

 

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

 

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

 

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

 

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

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

 

 设置收件人

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

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

 

 邮件测试

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

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

报警邮件展示

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

 

相关文章:

  • 2022-12-23
  • 2021-09-29
  • 2022-03-03
  • 2021-04-17
  • 2022-12-23
  • 2021-08-05
  • 2022-12-23
  • 2021-06-24
猜你喜欢
  • 2021-06-03
  • 2021-04-15
  • 2021-06-10
  • 2022-01-13
  • 2022-12-23
  • 2021-11-20
相关资源
相似解决方案