Zabbix集成Python脚本实现告警邮件发送配置指南

顾言
顾言
发布时间:2026-10-13| 6人浏览过
原创

本文详细介绍如何在Zabbix监控系统中通过Python脚本实现告警邮件发送。涵盖创建send.py脚本、配置发件人信息、设置AlertScriptsPath路径、重启服务以及在Zabbix前端配置报警媒介类型、用户报警媒介及动作操作等完整步骤,帮助管理员快速实现自定义邮件告警功能。

Python脚本在敏捷开发流程中扮演重要角色,同时在Zabbix监控系统里也发挥着关键作用。下面介绍使用Python脚本配置发送告警邮件的具体方法。

具体脚本代码如下:

#!/usr/bin/python
#coding:utf-8
import smtplib
from email.mime.text import MIMEText
import sys
mail_host = 'smtp.126.com' 
mail_user = 'username'
mail_pass = 'passwd'
mail_postfix = '126.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的文件,将上述代码复制并编辑,同时设置发件用户的用户名和密码。

随后验证脚本是否能正常发送邮件,运行命令 ./send.py xxx@139.com hello test。这里三个参数分别代表:收件人邮箱地址、邮件主题以及邮件正文内容。

登录Zabbix主机,查看配置文件zabbix_server.conf,找到AlertScriptsPath项以确认路径位置。如果该项被注释,请取消注释,并将send.py文件保存至该指定目录下。

如果修改了配置文件,需要重启zabbix-server服务使更改生效。

在Zabbix管理界面中添加报警媒介类型。注意parameter中的值必须正确填写,script name中的脚本文件名需与之前编写的Python文件名保持一致。

新增参数:{ALERT.SENDTO}{ALERT.SUBJECT}{ALERT.MESSAGE},依次加入后更新并保存配置。


配置用户,修改其报警媒介,填写收件人邮箱地址,并选择刚才创建的发送邮件告警类型。


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


完成以上步骤后,Python脚本发送邮件告警的配置即告完成。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。