天天看點

ZABBIX告警腳本——python發送郵件

自定義Zabbix告警,首先需要編寫告警腳本,告警腳本需要支援3個參數:

1.告警接收人

2.主題

3.内容

生産建議使用Shell腳本作為告警腳本,同時需要日志記錄,也可以在Shell腳本中完成,然後可以再使用Shell腳本調用其它的腳本。這樣可以随時更換告警媒體,也可以做好日志記錄。

1.最簡單的告警腳本

[ root @ linux-node1 alertscripts] #cat pymail.sh

#!/ bin / bash

echo $ 1 $ 2 $ 3 >> /tmp/alter.txt

2.編寫告警腳本

#!/ usr / bin / python

#coding:utf-8              

從email.mime.text

導入smtplib

import sys 從email.header導入MIMEText導入

來自email.Utils的頭

檔案導入COMMASPACE

receiver = sys.argv [ 1]

subject = sys。的argv [ 2]

mailbody = sys.argv中[ 3]

SMTPSERVER = 'smtp.qq.com'

的使用者名= '使用者名'

密碼= 'passwd的'

發送者的使用者名=

味精= MimeText用于(mailbody, 'HTML', 'UTF-8')

msg [ 'Subject'] = Header(subject,'utf-8')

msg [ 'From'] = username

msg [ 'To'] =接收者

smtp = smtplib.SMTP()

smtp.connect(smtpserver)

smtp.login(使用者名,密碼)

smtp.starttls()

smtp.sendmail(msg [ 'From'],msg [ 'To'],msg.as_string())

smtp.quit()

測試郵件發送

[ root @ linux-node1 alertscripts] #python pymail.py [email protected] testmail test

加入到告警腳本中

/ usr / local / bin / python /usr/lib/zabbix/alertscripts/pymail.py“$ 1”“$ 2”“$ 3”