1.修改zabbix server端的配置文件,啓用AlertScriptsPath,使其支持腳本功能python
1.編輯zabbix server端的配置文件,並重啓服務vim
# vim /etc/zabbix/zabbix_server.confbash
AlertScriptsPath=/usr/local/zabbix/alertscripts服務器
# /etc/init.d/zabbix_server restartide
2.在服務端添加郵件報警的python腳本,並給腳本執行權限測試
郵件報警,並記錄日誌
ui
# vim /usr/local/zabbix/alertscripts/zabbix_sendmail.py
spa
#!/usr/bin/env python # -*- coding: utf-8 -*- import pdb import smtplib import string import time import sys reload(sys) sys.setdefaultencoding('utf-8') #pdb.set_trace() #HOST = "mail.gw.com.cn" def S_Mail(): HOST = "smtp.exmail.qq.com" #郵件服務器 SUBJECT = sys.argv[2].decode('utf-8').encode('gbk') #主題 TO =sys.argv[1] #收件郵箱 FROM = "admin@qq.cn" text = sys.argv[3].decode('utf-8').encode('gbk') #發件內容 BODY = string.join(( "FROM: %s" % FROM, "To: %s" % TO, "Subject: %s" %SUBJECT, "", text ),"\r\n") server = smtplib.SMTP() server.connect(HOST,25) #server.starttls() server.login("發件郵箱","密碼") server.sendmail(FROM,[TO],BODY) server.quit() # email log 記錄日誌 with open('/data/logs/zabbix/Email.log', 'a') as f: date=time.strftime("%y-%m-%d %H:%M:%S") str = date + " " + TO +" " + SUBJECT + "\r\n" + "\n" str1 = str.decode('gbk').encode('utf-8') # print("%s" %str1) f.write(str1) if __name__=='__main__': S_Mail()
# chmod +x /usr/local/zabbix/alertscripts/zabbix_sendmail.py3d
3.驗證腳本rest
# ./zabbix_sendmail.py 收件郵箱 主題 測試
4.建立報警媒介,類型選擇腳本
5. 建立用戶,並實現郵件報警
1)
2)選擇媒介
6. 爲方便管理,建立羣組,將用戶添加至羣組中
7.選擇"組態"-->"動做" 建立 「action",實現郵件報警
1)
2)
3)
驗證結果
經過"審計" -->"Action log" 查看日誌
而且已經發送有郵件
故障郵件
恢復後發送的郵件
而且能夠經過日誌查看記錄