Zabbix郵件告警
1、Zabbix郵件告警
說明:
Zabbix監控服務端、客戶端都已經部署完成,被監控主機已經添加,Zabiix監控運行正常。
實現目的:
在Zabbix服務端設置郵件報警,當被監控主機宕機或者達到觸發器預設值時,會自動發送報警郵件到指定郵箱
首先在配置文件裏修改AlertScriptsPath
[[email protected] alertscripts]# vim /usr/local/zabbix/etc/zabbix_server.conf
AlertScriptsPath=/usr/local/zabbix/alertscripts
在qq郵箱裏面生成一個授權碼作為給腳本授權幫你發郵件使用
編寫一個發郵件的Python腳本
[[email protected] alertscripts]# cd /usr/local/zabbix/alertscripts/
[[email protected] alertscripts]# ls
linkedsee.sh weixin.py zabbix_mail.py
[[email protected] alertscripts]# cat zabbix_mail.py
#!/usr/bin/python
#coding: utf-8
import smtplib
import sys
from email.mime.text import MIMEText
_user = "[email protected]" ##填寫作為郵件報警發送端
_pwd = "zpys" ###填寫剛剛郵箱裏面生成的授權碼
#_to = "[email protected]"
def send_mail(to,subject,contain):
msg = MIMEText(contain)
msg["Subject"] = subject
msg["From"] = _user
msg["To"] = to
try:
s = smtplib.SMTP_SSL("smtp.qq.com", 465)
s.login(_user, _pwd)
s.sendmail(_user, to, msg.as_string())
s.quit()
with open(‘/tmp/zabbix.log‘, ‘w‘) as f:
f.write("%s\n%s\n%s\n"%(to,subject,contain))
# print "Success!"
except smtplib.SMTPException,e:
print "Falied,%s"%e
if __name__ == "__main__":
send_mail(sys.argv[1], sys.argv[2], sys.argv[3])
[[email protected] alertscripts]#
在zabbix配置 管理-->報警媒介類型-->創建報警媒介類型(類型需要選擇腳本,腳本名稱與編寫的腳本名字一樣,下面三個參數代表發送給那個郵件、標題是什麽、內容是什麽。 )
在用戶配置報警媒介 需要填寫收件人的郵箱和類型
然後配置-->動作-->創建動作--操作-->恢復操作
觸發報警:
解決報警後
成功演示了服務器報警後自動發生郵件給我的郵箱
本文出自 “第一個legehappy51cto博客” 博客,請務必保留此出處http://legehappy.blog.51cto.com/13251607/1966057
Zabbix郵件告警