保证你的邮箱smtp已开启
mkdir -p /usr/local/zabbix/alertscripts #存放脚本的文件夹
zabbix 告警脚本位置,一定要和配置文件里面写的一样
1、编写python脚本
#!/usr/bin/python # -*- coding: utf-8 -*- from email.mime.text import MIMEText from email.header import Header from smtplib import SMTP_SSL import sys smtpaddr = 'smtp.qq.com' myemail='361589194@qq.com' password='mypassword' recvmail=sys.argv[1] subject=sys.argv[2] content=sys.argv[3] msg = MIMEText("""%s"""%(content), "plain", "utf-8") msg['Subject'] = Header(subject, 'utf-8').encode() msg['From'] = myemail msg['To'] = recvmail try: smtp = SMTP_SSL( smtpaddr ) smtp.login(myemail, password) smtp.sendmail(myemail, recvmail.split(','), msg.as_string()) smtp.quit() print("success") except Exception as e: print("fail: "+str(e))
++++++++++++++++++++++
chmod +x /usr/local/zabbix/alertscripts/zabbix_sendmail.py
测试邮件发送:
/usr/local/zabbix/alertscripts/zabbix_sendmail.py 361589194@qq.com ‘zabbix disk’ ‘content: disk > 90%’
2、创建报警媒体
3、用户设置报警媒介
4、创建触发器,并添加动作。
配置–>模板–>选择创建的模版(port_check)—>触发器
创建动作:
++++++++++++++
Host: {HOST.NAME} 主机名
IP: {HOST.IP} IP地址
++++++++++++++++++++++++++++++++++++
五、测试
将web01(测试机)上面的nginx 80端口改掉
/usr/local/nginx/sbin/nginx -s reload
这里的触发器名称写错了,应该80,这样更好记一些。但是不影响实验测试。
把web01(测试机) nginx 端口改回 80