zabbix系列之郵件告警(三)

設置郵件告警有兩種方式:

1)、通過Linux自帶的mail發送告警郵件

2)、通過第三方郵箱發送(如QQ郵箱、163郵箱等)告警郵件


1、修改 zabbx_server.conf 文件,指定腳本路徑,沒有則添加

[root@centos1 ~]# vim /usr/local/zabbix/etc/zabbix_server.conf 
AlertScriptsPath=/usr/local/zabbix/alertscripts


2、在/usr/local/zabbix/alertscripts 下創建發送郵件腳本 

(1)、通過Linux自帶的mail發送郵件的腳本

[root@centos1 alertscripts]# cat mailx.sh 
#!/bin/bash
#to=$1
#subject=$2
#Dbody=$3
#export.UTF-8
echo "$3" | sed s/'\r'//g | mail -s "$2" $1


(2)、通過第三方郵箱(QQ郵箱)發送郵件的腳本

[root@centos1 alertscripts]# cat e-mail.py 
#!/usr/bin/python
#coding: utf-8
import smtplib
import sys
from email.mime.text import MIMEText
_user = "QQ郵箱"
_pwd  = "QQ郵箱中POP3/SMTP的服務密碼"
_to   = "發送到哪個郵箱"
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])

注:

記得給腳本執行權限和重啓zabbix相關服務,同時還要先測試一下腳本是否能夠成功發送郵件(這裏就不做測試了)。


3、在zabbix頁面配置(注:)

(1)、創建報警媒介,如圖1所示

blob.png

                                              圖1

注:

名稱:zabbix_mail (名稱可以隨意指定,後期調用) 

類型:腳本 

腳本名稱:e-mail.py 

添加腳本參數(在 3.0 版本之前默認傳值不用添加): 

     {ALERT.SENDTO}  ####發送地址 

     {ALERT.SUBJECT}  ###主題 

     {ALERT.MESSAGE}  ###發送內容

##這裏只配置第三方郵箱發送郵件,使用Linux自帶的mail也是一樣的配置


(2)、添加用戶操作命令,什麼時候發送郵件,發送給誰,如圖2所示

blob.png

                                                    圖2

注:類型選擇剛剛創建的報警媒介的名稱


(3)、創建動作操作,如圖3和圖4所示,配置恢復操作,如圖5所示

blob.png

                                                     圖3

blob.png

                                                     圖4

blob.png

                                                   圖5

注:默認信息裏的主機和ip地址是自己添加的,因爲如果某臺被監控的服務器出現問題了,默認發送的告警信息是沒有主機名和ip地址的,需要我們自己登陸到zabbix監控頁面查看究竟是哪臺服務器出現問題。


(4)、創建觸發器,如圖6所示

這裏以被監控的主機centos2爲例,如果主機centos2的登陸用戶數超過3個就發送郵件告警

blob.png

圖6


(5)、創建圖形,如圖7所示

blob.png

                                                                      圖7


(6)、查看監控頁面,如圖8所示

blob.png

                       圖8


(7)、測試,當用戶登錄數大於設定值時,會發送告警郵件

查看用戶登錄數,如圖9所示

blob.png

圖9

查看動作日誌,如圖10所示

blob.png

                                                                              圖10


查看郵件,如圖11所示

blob.png

                            圖11


(8)、當用戶登陸數減少到設定的值以下時,會發送恢復通知

查看監控頁面,如圖12所示

blob.png

圖12

注:由於之前忘了重啓zabbix相關服務,導致一開始郵件發送失敗,試了好幾次才發現,所以


查看動作日誌,如圖13所示

blob.png

圖13

查看郵件,如圖14所示

blob.png

                                        圖14

至此,zabbix郵件告警就配置完成了。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章