Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警

Zabbix能夠經過多種方式將告警信息發送到指定人,經常使用的報警方式有郵件、微信、釘釘等。本次博文主要介紹這三種報警方式。html

1、配置網易郵箱實現報警

本篇博文采用網易郵箱的方式實現報警!操做以下:
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警python

zabbix server需進行如下配置:linux

[root@zabbix ~]# yum -y install perl-Net-SSLeay perl-IO-Socket-SSL 
//安裝所需依賴
[root@zabbix ~]# wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
//下載sendEmail軟件包
[root@zabbix ~]# tar zxf sendEmail-v1.56.tar.gz -C /usr/src
[root@zabbix ~]# cd /usr/src/sendEmail-v1.56/
[root@zabbix sendEmail-v1.56]# cp -a sendEmail /usr/local/bin/
[root@zabbix sendEmail-v1.56]# chmod +x /usr/local/bin/sendEmail 
[root@zabbix ~]# cd /usr/local/zabbix/share/zabbix/alertscripts
[root@zabbix alertscripts]# vim sendEmail.sh         //編寫測試腳本
#!/bin/bash
to=$1
subject=$2
body=$3
/usr/local/bin/sendEmail -o tls=no -f zhen18732036806@163.com -t "$to" -s smtp.163.com -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu zhen18732036806@163.com -xp abcd1234 -m "$body"

郵件內容各項解釋:
-f from@163.com :發件人郵箱
-t to@163.com :收件人郵箱
-s smtp.163.com :發件人郵箱的 smtp 服務器
-u "我是郵件主題" :郵件的標題
-o message-content-type=html:郵件內容的格式爲html 格式
-o message-charset=utf8:郵件內容編碼
-xu from@163.com:發件人郵箱的用戶名
-xp abcd1234:發件人郵箱受權碼(就是我剛剛生成的那個受權碼)
-m "我是郵件內容" :郵件的具體內容web

[root@zabbix alertscripts]# chmod +x sendEmail.sh 
[root@zabbix alertscripts]# chown zabbix.zabbix sendEmail.sh 
//賦予腳本權限
[root@zabbix alertscripts]# sh sendEmail.sh zhen18732036806@163.com test 123
Jan 30 16:40:04 zabbix sendEmail[2584]: Email was sent successfully!
//出現此消息代表發送成功

收到的郵件以下:
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警json

1)建立報警媒介

選擇」管理→報警媒介→建立報警媒介「以下:
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
圖中填寫的三個參數:vim

{ALERT.SENDTO}            //收件人地址
{ALERT.SUBJECT}          //主題
{ALERT.MESSAGE}         //詳細內容

2)將報警媒介關聯到用戶

選擇「管理→用戶→Admin→報警媒介」以下:
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
建立完成後,進行如下操做:
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警api

3)建立動做

Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
添加的代碼以下:bash

故障消息<br/>
主機:{HOSTNAME}<br/>
IP:{IPADDRESS}<br/>
監控項:{ITEM.NAME}<br/>
觸發器:{TRIGGER.NAME}<br/>
鍵值:{ITEM.KEY}:{ITEM.VALUE}<br/>
時間:{DATE} {TIME}<br/>

Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警

4)配置觸發器

Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警

5)測試郵件告警

[root@agent ~]# systemctl stop zabbix-agent
//agent端將agent進程關閉

收到的郵件以下:
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警服務器

[root@agent ~]# systemctl start zabbix-agent
//agent端將agent進程啓動

收到的郵件以下:
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
實現郵件報警成功!微信

2、配置企業微信實現報警

要想實現企業微信報警,需本身註冊一個企業微信,因爲其過程過於簡單,這裏就略過了!

1)企業微信web頁面設置

註冊完成以後,進行如下操做:
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
能夠向企業微信添加用戶,這裏就不添加了,以一個用戶爲例,查看用戶的詳細信息:
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
建立應用,如圖:
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
到此爲止,企業微信的註冊和配置的內容已經介紹完畢了!

2)獲取微信告警腳本

要想將告警信息發送到微信,就須要使用一個發送腳本,操做以下:

[root@zabbix ~]# wget https://www.ixdba.net/zabbix/weixin_linux_amd64
[root@zabbix ~]# mv weixin_linux_amd64 /usr/local/zabbix/share/zabbix/alertscripts/weixin
//腳本所在路徑很是重要
[root@zabbix ~]# chmod 755 /usr/local/zabbix/share/zabbix/alertscripts/weixin
[root@zabbix ~]# chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/weixin
[root@zabbix ~]# vim /usr/local/zabbix/etc/zabbix_server.conf
//確認如下內容
AlertScriptsPath=usr/local/zabbix/share/zabbix/alertscripts
[root@zabbix ~]# cd /usr/local/zabbix/share/zabbix/alertscripts/
[root@zabbix alertscripts]#  ./weixin --corpid=ww35e57441212e7560 --corpsecret=t10UEVBtSuW-00CJMYFnz5xxBhTvf6XCz2vcUY3xS8M --msg="test" --user=LvZhenJiang --agentid=1000007
{"errcode":0,"errmsg":"ok","invaliduser":""}
//測試微信腳本,出現此信息表示測試成功!

各配置項含義:
--corpid=:企業號裏面的企業ID;
--corpsecret=:自建應用中的Secret的ID;
--msg=:發送消息的內容;
--use=:指定用戶的名稱,查看用戶詳情時能夠查看到;
--agentid=:自建應用中的Agentid;

企業微信收到的消息以下:
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警

3)zabbix web頁面的配置

1)建立報警媒介

如圖:
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警

兩個變量內容以下(圖中的變量有誤):

--user={ALERT.SENDTO}
 --msg={ALERT.MESSAGE}

2)將報警媒介關聯到用戶

如圖:
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警

3)建立動做

如圖:
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
圖中添加的代碼以下:

默認標題:
服務器:{HOST.NAME}發生:{TRIGGER.NAME}故障
消息內容:
告警主機:{HOST.NAME}
告警地址:{HOST.IP}
監控項目:{ITEM.NAME}
監控取值:{ITEM.LASTVALUE}
告警等級:{TRIGGER.SEVERITY}
當前狀態:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警時間:{EVENT.DATE} {EVENT.TIME}
事件ID:{EVENT.ID}

Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
這樣故障時發生的警告信息已經配置完成!接下來配置恢復操做發送的信息,以下:
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
圖中的代碼以下:

默認標題:
服務器:{HOST.NAME}:{TRIGGER.NAME}故障已恢復
消息內容:
告警主機:{HOST.NAME}
告警地址:{HOST.IP}
監控項目:{ITEM.NAME}
監控取值:{ITEM.LASTVALUE}
告警等級:{TRIGGER.SEVERITY}
當前狀態:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警時間:{EVENT.DATE} {EVENT.TIME}
事件ID:{EVENT.ID}

Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
至此已經配置完成!細心的朋友可能發現並無建立觸發器,由於剛纔測試進行郵件測試的時候就已經建立了觸發器,它們公用同一個觸發器!

4)測試微信告警

[root@agent ~]# systemctl stop zabbix-agent
//agent端將agent進程關閉

能夠在如下界面查看消息是否發送成功!
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
企業微信收到的消息以下:
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警

[root@agent ~]# systemctl start zabbix-agent
//agent端將agent進程啓動

企業微信收到的信息以下:
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
實現微信報警成功!

3、配置釘釘實現告警

1)關於釘釘機器人告警

釘釘相似於微信,可是偏向於辦公方向,能夠經過釘釘的羣機器人功能,實現將告警信息經過機器人發送到釘釘羣中。

羣機器人時釘釘羣的高級擴展功能。羣機器人能夠將第三方服務的信息聚合到羣聊中,實現自動化的信息同步。

zabbix配置釘釘報警,相比微信,要簡單不少,幾分鐘內便可完成配置,下面詳細介紹!

2)添加釘釘機器人

關於釘釘的註冊很是簡單,這裏就不過多的介紹了,註冊完成登陸到釘釘後,先發起一個羣聊,加入接受釘釘告警信息的人員,以下:
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
注意:定義關鍵字時,必須根據實際狀況來,也就是消息中包含的內容。建議使用定義關鍵字的方式!
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
機器人配置到此結束!

3)獲取釘釘告警腳本

由於腳本中用到了requests,其是python的http客戶端庫,沒有安裝的按照如下方式進行安裝:

[root@zabbix ~]# yum -y install epel-release python-pip
[root@zabbix ~]# pip install --upgrade pip
[root@zabbix ~]# pip install requests
[root@zabbix ~]# vim dingding.py        //自定編寫腳本
#!/usr/bin/python
# -*- coding: utf-8 -*-

import requests
import json
import sys
import os

headers = {'Content-Type': 'application/json;charset=utf-8'}
api_url = "https://oapi.dingtalk.com/robot/send?access_token=df27d0f8ed866576f0d213ededcf8bdc6a0a3d24bf1c904fcd58b14b606ec7c6"
#更改成本身機器人的網址,也就是剛纔複製的內容

def msg(text):
    json_text= {
     "msgtype": "text",
        "text": {
            "content": text
        },
    }
    print requests.post(api_url,json.dumps(json_text),headers=headers).content

if __name__ == '__main__':
    text = sys.argv[1]
    msg(text)
也可經過如下路徑獲取
[root@zabbix ~]# wget https://www.ixdba.net/zabbix/dingding.zip
[root@zabbix ~]# unzip dingding.zip 
[root@zabbix ~]# mv dingding.py /usr/local/zabbix/share/zabbix/alertscripts/
//保證腳本所在的路徑
[root@zabbix ~]# cd /usr/local/zabbix/share/zabbix/alertscripts/
[root@zabbix alertscripts]# chmod 755 dingding.py 
[root@zabbix alertscripts]# chown zabbix.zabbix dingding.py 
/usr/local/zabbix/share/zabbix/alertscripts/weixin
[root@zabbix ~]# vim /usr/local/zabbix/etc/zabbix_server.conf
//確認如下內容
AlertScriptsPath=usr/local/zabbix/share/zabbix/alertscripts
[root@zabbix alertscripts]# ./dingding.py 監控報警 https://oapi.dingtalk.com/robot/send?access_token=df27d0f8ed866576f0d213ededcf8bdc6a0a3d24bf1c904fcd58b14b606ec7c6
{"errcode":0,"errmsg":"ok"}

釘釘收到的信息以下:
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
釘釘報警腳本配置完成!

4)zabbix web上配置釘釘報警

1)添加報警媒介

Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警

2)將報警媒介關聯到用戶


Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警

3)配置動做

如圖:
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
因爲照片中的代碼與微信測試中的代碼一致,這裏就不復製出來了,有須要自行復制!

4)測試釘釘報警

[root@agent ~]# systemctl stop zabbix-agent
//agent端將agent進程關閉

釘釘收到的信息以下:
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警

[root@agent ~]# systemctl start zabbix-agent
//agent端將agent進程開啓

釘釘收到的信息以下:
Zabbix經過網易郵箱、企業微信、釘釘整合實現實時告警
實現釘釘報警完成!

————————本次博文到此爲止,感謝閱讀——————————

相關文章
相關標籤/搜索