前言
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端配置
Administration ?C> Media types ?C> Create media type
創建一個測試用戶Administration ?C> Users ?C> Create user
為新創建的user指定media:Administration ?C> Users ?C> Create user ?C> Media
創建action實現郵件報警Configuration ?C> Actions ?C> Create action
5、zabbix測試發送郵件
找一個test的zabbix_agentd,kill掉,查看是否收到報警郵件。再將其恢復,查看是否收到恢復后的郵件。如果一切如預期所想,那么至此就完成了使用python腳本完成zabbix的報警郵件了。如果沒有如預期所想。
TIPS:
如果你用的zabbix3.0,請注意Administration ?C> Media types ?C> Create media type這一步的配置如下:
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
