前言
zabbix是個非常強大的監控工具,可以監控linux和windows的伺服器數據,也可以透過自訂key來擴展預設的監控項,但是自帶的郵件警報提供的資訊卻不太友善。本文想透過自定腳本的方式,實現在警報郵件的同時發送對應的圖像和url連接。
步驟如下:
1、編輯zabbix_server.conf文件,修改AlertScriptsPath參數,此參數用於指定外部腳本的絕對路徑。
vim /etc/zabbix/zabbix_server.conf AlertScriptsPath=/usr/lib/zabbix/alertscripts
2、上傳新增py腳本至AlertScriptsPath參數指定的絕對路徑下,py檔案如下:
#! /usr/bin/env python # coding:utf-8 ''' [INFORMATION] Zabbix Send Email With Python AUTHOR : Wing GitHub : https://github.com/wing324 Email : wing324@126.com ''' from email import encoders from email.header import Header from email.mime.text import MIMEText from email.utils import parseaddr, formataddr import smtplib import sys def send_mail(_to_email,_subject,_message): # 定义邮件发送 smtp_host = 'smtp.xxx.xx' from_email = 'xxx@xxx.xx' 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.py chmod 755 zabbix_send_email.py
4、zabbix web配置types –> Create media type
建立一個測試使用者Administration –> Users –> Create user
為新建立的用戶指定
建立action實作郵件警報Configuration –> Actions –> Create action
5、zabbix 。再將其恢復,查看是否收到恢復後的郵件。如果一切如預期所想,那麼至此就完成了使用python腳本完成zabbix的警報郵件了。如果沒有如預期所想。
TIPS:
如果你用的zabbix3.0,請注意Administration –> Media types –> Create media type這一步的配置如下:
,希望本文的內容對大家的學習或工作能帶來一定的幫助,如果有疑問大家可以留言交流。
更多zabbix利用python腳本發送警報郵件的方法相關文章請關注PHP中文網!