使用python脚本配置zabbix发送报警邮件
2024-08-24 11:39:43
#前提得在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负载的表达式改成截图所示即可
报警邮件展示
最新文章
- vs2013在使用ReportView11时遇到的问题
- Good Bye 2016 - A
- jquery基本选择器(.class选择器)
- Spring中的事务
- STM32的PWM输出极性的问题
- Python之MySql操作
- Object-C 点语法 -- 笔记
- zookeeper 同步
- x86中的页表结构和页表项格式
- spell checking
- Spring内部bean无法通过id获取
- http自动跳转https小记
- EntityFramework Core映射关系详解
- Video clip 视频剪辑:入门级
- PS电商产品banner设计
- SSL及其加密通信过程
- 【Python】使用hashlib进行MD5和sha1摘要计算
- oracle +plsql装完省略号不能点
- chkconfig命令具体介绍
- 对IT行业的看法和对软件工程的理解