#前提得在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负载的表达式改成截图所示即可