首頁 >後端開發 >Python教學 >zabbix利用python腳本發送警報郵件的方法

zabbix利用python腳本發送警報郵件的方法

高洛峰
高洛峰原創
2017-01-17 09:59:381459瀏覽

前言

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

zabbix利用python腳本發送警報郵件的方法建立一個測試使用者Administration –> Users –> Create user

zabbix利用python腳本發送警報郵件的方法為新建立的用戶指定

建立action實作郵件警報Configuration –> Actions –> Create action

zabbix利用python腳本發送警報郵件的方法

zabbix利用python腳本發送警報郵件的方法

zabbix利用python腳本發送警報郵件的方法5、zabbix 。再將其恢復,查看是否收到恢復後的郵件。如果一切如預期所想,那麼至此就完成了使用python腳本完成zabbix的警報郵件了。如果沒有如預期所想。

TIPS:zabbix利用python腳本發送警報郵件的方法

如果你用的zabbix3.0,請注意Administration –> Media types –> Create media type這一步的配置如下:


,希望本文的內容對大家的學習或工作能帶來一定的幫助,如果有疑問大家可以留言交流。

更多zabbix利用python腳本發送警報郵件的方法相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn