前言
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元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

