1、概述及環境要求python
一、概述web
zabbix監控也起到重要做用,如下是使用python腳本發送告警郵件配置方法。以前使用過sendemail郵件報警可是發現郵件主題爲中文時候會出現亂碼的問題。vim
二、環境安裝要求服務器
Zabbix軟件版本:zabbix3.2.6app
操做系統:CentOS release 6.8 (Final)ide
2、腳本建立及測試post
一、查看配置zabbix_server.conf ,找到AlertScriptsPath,查看路徑位置,如被註釋,將註釋打開,把send.py 文件保存到該目錄下。測試
grep -n '^[a-Z]' /usr/local/etc/zabbix_server.conf操作系統
38:LogFile=/tmp/zabbix_server.log3d
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
二、若有修改配置,需重啓zabbix-server服務。
/etc/init.d/zabbix_server restart
三、進入Zabbix發郵件腳本目錄
cd /usr/local/share/zabbix/alertscripts
四、建立腳本及配置
vim zabbix-mail.py
#!/usr/bin/python
#coding:utf-8
import smtplib
from email.mime.text import MIMEText
import sys
mail_host = 'smtp.qq.com'
mail_user = '10880347'
mail_pass = '**********'
mail_postfix = 'qq.com'
def send_mail(to_list,subject,content):
me = "zabbix3.2監控告警平臺"+"<"+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.增長可執行權限
chmod +x zabbix-mail.py
chown -R zabbix.zabbix zabbix-mail.py
6.測試郵件
python zabbix-mail.py 10880347@qq.com test test
3、ZABBIX服務器報警媒介類型
一、web界面設置
http://172.16.8.200/zabbix/
添加三個參數
{ALERT.SENDTO}收件人地址
{ALERT.SUBJECT}主題
{ALERT.MESSAGE}詳細內容
二、建立報警用戶
三、配置報警媒介
四、配置權限
如今測試環境因此配置超級管理的權限,若是是生產環境建議使用用戶權限
4、配置報警動做
一、建立新的觸發動做
二、配置動做
三、配置操做
故障{TRIGGER.STATUS},服務器:{HOSTNAME1}發生: {TRIGGER.NAME}故障!
告警主機:{HOSTNAME1}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
四、配置恢復操做
恢復{TRIGGER.STATUS}, 服務器:{HOSTNAME1}: {TRIGGER.NAME}已恢復!
告警主機:{HOSTNAME1}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
五、郵件告警測試結果