zabbix利用python腳本發送報警郵件的方法
前言
zabbix是個非常強大的監控工具,可以監控linux和windows的服務器數據,也可以通過自定義key來擴展默認的監控項,但是自帶的郵件報警提供的信息卻不太友善。本文想通過自定腳本的方式,實現在報警郵件的同時發送對應的圖像和url連接。
步驟如下:
1、編輯zabbix_server.conf文件,修改AlertScriptsPath參數,該參數用于指定外部腳本的絕對路徑。
vim /etc/zabbix/zabbix_server.confAlertScriptsPath=/usr/lib/zabbix/alertscripts
2、上傳新增py腳本至AlertScriptsPath參數指定的絕對路徑下,py文件如下:
#! /usr/bin/env python# coding:utf-8"""[INFORMATION]Zabbix Send Email With PythonAUTHOR : WingGitHub : https://github.com/wing324Email : [email protected]"""from email import encodersfrom email.header import Headerfrom email.mime.text import MIMETextfrom email.utils import parseaddr, formataddrimport smtplibimport sysdef send_mail(_to_email,_subject,_message):# 定義郵件發送 smtp_host = "smtp.xxx.xx" from_email = "[email protected]" passwd = "xxxxxx" msg = MIMEText(_message,"plain","utf-8") msg["Subject"] = _subject smtp_server = smtplib.SMTP(smtp_host,25) smtp_server.login(from_email,passwd) smtp_server.sendmail(from_email,[_to_email],msg.as_string()) smtp_server.quit()if __name__ == "__main__": send_mail(sys.argv[1],sys.argv[2],sys.argv[3])
3、修改python腳本的權限
chown -R zabbix:zabbix zabbix_send_email.pychmod 755 zabbix_send_email.py
4、zabbix web端配置
Administration –> Media types –> Create media type
創建一個測試用戶Administration –> Users –> Create user
為新創建的user指定media:Administration –> Users –> Create user –> Media
創建action實現郵件報警Configuration –> Actions –> Create action
5、zabbix測試發送郵件
找一個test的zabbix_agentd,kill掉,查看是否收到報警郵件。再將其恢復,查看是否收到恢復后的郵件。如果一切如預期所想,那么至此就完成了使用python腳本完成zabbix的報警郵件了。如果沒有如預期所想。
TIPS:
如果你用的zabbix3.0,請注意Administration –> Media types –> Create media type這一步的配置如下:
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
相關文章: