Zabbix3.4 python指令碼郵件告警
一、概述及環境要求
1、概述
zabbix監控也起到重要作用,以下是使用python指令碼傳送告警郵件配置方法。之前使用過sendemail郵件報警但是發現郵件主題為中文時候會出現亂碼的問題。
2、環境安裝要求
Zabbix軟體版本:zabbix3.4
作業系統:CentOS release 7.4 (Final)
二、指令碼建立及測試
1、檢視配置zabbix_server.conf ,找到AlertScriptsPath,檢視路徑位置,如被註釋,將註釋開啟,把send.py 檔案儲存到該目錄下。
grep -n ‘1’ /usr/local/etc/zabbix_server.conf
38:LogFile=/tmp/zabbix_server.log
87:DBName=zabbix
103:DBUser=zabbix
111:DBPassword=zabbix
126:DBPort=3306
239:StartVMwareCollectors=10
247:VMwareFrequency=60
255:VMwarePerfFrequency=60
265:VMwareCacheSize=80M
273:VMwareTimeout=10
281:SNMPTrapperFile=/tmp/zabbix_traps.tmp
289:StartSNMPTrapper=0
407:Timeout=4
448:AlertScriptsPath=/usr/local/share/zabbix/alertscripts
492:LogSlowQueries=3000
2、如有修改配置,需重啟zabbix-server服務。
/etc/init.d/zabbix_server restart
3、進入Zabbix發郵件指令碼目錄
cd /usr/local/share/zabbix/alertscripts
4、建立指令碼及配置
#!/usr/bin/python
#coding:utf-8
import smtplib
from email.mime.text import MIMEText
import sys
mail_user = ‘540336670’
mail_pass = ‘**********’
mail_postfix = ‘
def send_mail(to_list,subject,content):
me = "zabbix3.4監控告警平臺"+"<"+mail_user+"@"+mail_postfix+">"
msg = MIMEText(content, 'plain', 'utf-8')
msg['Subject'] = subject
msg['From'] = me
msg['to'] = to_list
try:
s = smtplib.SMTP()
s.connect(mail_host)
s.login(mail_user,mail_pass)
s.sendmail(me,to_list,msg.as_string())
s.close()
return True
except Exception,e:
print str(e)
return False
if name == “main”:
send_mail(sys.argv[1], sys.argv[2], sys.argv[3])
5.增加可執行許可權
6.測試郵件
三、ZABBIX伺服器報警媒介型別
1、web介面設定
新增三個引數
{ALERT.SENDTO}收件人地址
{ALERT.SUBJECT}主題
{ALERT.MESSAGE}詳細內容
wKiom1lGZ96RG_FHAAEA-7nYDCg460.jpg
2、建立報警使用者
wKioL1lGaEDAp0ttAAENcIy-O80467.jpg
3、配置報警媒介
wKiom1lGaFCD0OfEAAD2ipf7Xg4525.jpg
4、配置許可權
現在測試環境所以配置超級管理的許可權,如果是生產環境建議使用使用者許可權
wKiom1lGaGiB3gnCAAD2ipf7Xg4378.jpg
四、配置報警動作
1、建立新的觸發動作
wKiom1lGaIfA5K5uAAF8NH2-wJQ257.jpg
2、配置動作
wKioL1lGaQCy0BKwAAEX6Ke2LTQ752.jpg
3、配置操作
故障{TRIGGER.STATUS},伺服器:{HOSTNAME1}發生: {TRIGGER.NAME}故障!
告警主機:{HOSTNAME1}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警專案:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
wKioL1lGaRLR3XIWAAGY4LVWgOA474.jpg
4、配置恢復操作
恢復{TRIGGER.STATUS}, 伺服器:{HOSTNAME1}: {TRIGGER.NAME}已恢復!
告警主機:{HOSTNAME1}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警專案:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
wKiom1lGaSOhK0w1AAFRMtpO6hc436.jpg
5、郵件告警測試結果
wKioL1lGaTOTvnvOAAD-28x7sbE044.png
wKioL1lGaUOwfn6TAABMZG7Q1Qk716.png
a-Z ↩︎