1. 程式人生 > >Zabbix郵件告警

Zabbix郵件告警

zabbix郵件告警

1、Zabbix郵件告警

說明:

Zabbix監控服務端、客戶端都已經部署完成,被監控主機已經添加,Zabiix監控運行正常。

實現目的:

Zabbix服務端設置郵件報警,當被監控主機宕機或者達到觸發器預設值時,會自動發送報警郵件到指定郵箱

首先在配置文件裏修改AlertScriptsPath

[[email protected] alertscripts]# vim /usr/local/zabbix/etc/zabbix_server.conf

AlertScriptsPath=/usr/local/zabbix/alertscripts

qq郵箱裏面生成一個授權碼作為給腳本授權幫你發郵件使用

技術分享

編寫一個發郵件的Python腳本

[[email protected] alertscripts]# cd /usr/local/zabbix/alertscripts/

[[email protected] alertscripts]# ls

linkedsee.sh weixin.py zabbix_mail.py

[[email protected] alertscripts]# cat zabbix_mail.py

#!/usr/bin/python

#coding: utf-8

import smtplib

import sys

from email.mime.text import MIMEText

_user = "[email protected]" ##填寫作為郵件報警發送端

_pwd = "zpys" ###填寫剛剛郵箱裏面生成的授權碼

#_to = "[email protected]"

def send_mail(to,subject,contain):

msg = MIMEText(contain)

msg["Subject"] = subject

msg["From"] = _user

msg["To"] = to

try:

s = smtplib.SMTP_SSL("smtp.qq.com", 465)

s.login(_user, _pwd)

s.sendmail(_user, to, msg.as_string())

s.quit()

with open(‘/tmp/zabbix.log‘, ‘w‘) as f:

f.write("%s\n%s\n%s\n"%(to,subject,contain))

# print "Success!"

except smtplib.SMTPException,e:

print "Falied,%s"%e

if __name__ == "__main__":

send_mail(sys.argv[1], sys.argv[2], sys.argv[3])

[[email protected] alertscripts]#

zabbix配置 管理-->報警媒介類型-->創建報警媒介類型(類型需要選擇腳本,腳本名稱與編寫的腳本名字一樣,下面三個參數代表發送給那個郵件、標題是什麽、內容是什麽。 )

技術分享

在用戶配置報警媒介 需要填寫收件人的郵箱和類型

技術分享技術分享

然後配置-->動作-->創建動作--操作-->恢復操作

技術分享技術分享技術分享

技術分享

觸發報警:

技術分享

解決報警後

技術分享

成功演示了服務器報警後自動發生郵件給我的郵箱


本文出自 “第一個legehappy51cto博客” 博客,請務必保留此出處http://legehappy.blog.51cto.com/13251607/1966057

Zabbix郵件告警