zabbix 布署實踐【5 使用郵箱SMTP SSL推送告警郵件】


由於傳統的郵件推送腳本使用smtp 25端口,在各大郵箱提供商已不適用,已經向SSL過渡,這里以QQ郵箱為例,使用SSL 465端口

登錄zabbix-server 進入

cd /usr/lib/zabbix/alertscripts

創建一個動作腳本。

vi send_mail.py
#!/usr/bin/python
# coding=utf-8
 
import smtplib
import sys
from email.mime.text import MIMEText
 
class send_mail():
    mail_host="smtp.qq.com"
    mail_user="你的QQ郵箱帳號"
    mail_pass="你的QQ郵箱密碼"
    mail_postfix="qq.com"
    def __init__(self,sub,content):
        self.me="Zabbix-Alter"+"<"+self.mail_user+"@"+self.mail_postfix+">"
        self.msg = MIMEText(content,_subtype='html',_charset='utf-8')
        self.msg['From'] = self.me
        self.msg['Subject'] = sub
 
    def sendMessage(self,user):
        self.msg['To'] = ";".join(user)
        try:
            s = smtplib.SMTP_SSL(host=self.mail_host,port=465)
            s.login(self.mail_user,self.mail_pass)
            s.sendmail(self.me, user, self.msg.as_string())  #發送郵件
            s.close()
        except Exception, e:
            print str(e)
 
 
if __name__ == '__main__':
    mailto_list=[]
    mailto_list.append(sys.argv[1])
    s = send_mail(sys.argv[2],sys.argv[3])
    s.sendMessage(mailto_list)
 
保存退出
chmod +x send_mail.py
 
測試,發送給某人,帶上以下3個粉字的傳參(以空格隔開)
python /usr/lib/zabbix/alertscripts/send_mail.py  某人的郵箱地址 test test
 
正常,則進入zabbix的web頁面加以配置
創建新的告警媒介
 

 

保存后如下圖所示,默認我手工停用了其它告警媒介

 

確保你在動作里有發送告警,並且是啟用狀態

 

在你的Admin用戶中,設置告警媒介


保存退出,
 
試着關掉一台agent的服務,等5分鍾,zabbix-agent需要等5分鍾才會彈出告警,等其在儀表盤里顯示有告警的同時,郵件告警是否有發給你

 


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM