[日期:2017-11-08] | 來源:Linux社區 做者:wzlinux | [字體:大 中 小] |
1、企業微信註冊php
微信的報警方式可讓咱們隨時隨地接收到信息,加快問題的處理,比傳統郵件更加方便,首先咱們先打開企業微信的地址 https://work.weixin.qq.compython
一、填寫申請信息linux
二、下一步apache
根據註冊流程步驟進行後面的操做,直到註冊成功。json
2、企業微信配置vim
一、建立部門c#
首先咱們要建立部門,相似於組,把相關的人員放到這個部門裏面,建立部門以後,咱們會用到部門id,報警消息根據部門id發到部門的相關人員。api
根據本身的需求填寫,所屬部門也能夠是現有部門的子部門,具備層級所屬關係。服務器
查看部門id,咱們之後會用到,我這裏部門id是2。微信
二、給部門增長人員
點擊添加成員,而後讓用戶關注就能夠了。
三、添加應用
用於消息發送的接口,這裏咱們須要記住應用的id以及secret,用於發送token的獲取,按照咱們的設定,目前只有運維部的人員能夠看到此應用,便可以經過此應用獲取到報警信息。
記住這裏的Agentid和Secret。
四、獲取企業ID
3、測試微信消息發送接口
調用微信接口須要一個調用接口的憑證:access_token,經過CropID 、Secret才能獲取到access_token,可是獲取到的token有效期爲7200秒。
咱們能夠經過下面的接口調試工具以及接口說明文檔進行測試。
接口調試工具:http://work.weixin.qq.com/api/devtools/devtool.php
接口說明文檔:https://work.weixin.qq.com/api/doc#10167
調試成功頁面以下。
4、報警腳本
一、編寫python腳本
腳本使用的python版本爲2.7以上,因此請安裝CentOS 7。
vim /usr/local/zabbix/alertscripts/wechat.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
# zabbix notification confirmation script
# python2.7 or above
import
requests
import
json
import
os
import
sys
Toparty
=
"2"
#部門id
AgentID
=
4
#應用id
#修改成企業CropID和Secret
CropID
=
'wx8d46d3xxxxx993'
Secret
=
'QCjzy2lH2ZB7MUG6uowChyChPsOxxxxxxxxxxxxxxTVR4saIw3Ezznh'
#獲取Token
Gtoken
=
"https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid="
+
CropID
+
"&corpsecret="
+
Secret
headers
=
{
'Content-Type'
:
'application/json'
}
json_data
=
json.loads(requests.get(Gtoken).content.decode())
token
=
json_data[
"access_token"
]
#消息發送接口
Purl
=
"https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token="
+
token
#消息發送函數
def
msg(title,message):
weixin_msg
=
{
"toparty"
: Toparty,
"msgtype"
:
"textcard"
,
"agentid"
: AgentID,
"textcard"
: {
"title"
: title,
"description"
: message,
"url"
:
"www.wzlinux.com"
,
"btntxt"
:
"更多"
}
}
print
requests.post(Purl,json.dumps(weixin_msg),headers
=
headers)
if
__name__
=
=
'__main__'
:
title
=
sys.argv[
1
]
#獲取第一個參數
message
=
sys.argv[
2
]
#獲取第二個參數
msg(title,message)
chmod
+x
/usr/local/zabbix/alertscripts/wechat
.py
二、測試腳本
微信已經能夠接收到消息,那腳本已經沒有什麼問題了。
5、Zabbix配置
一、添加Media types
首先須要在zabbix server的配置文件開啓上面腳本的目錄,而後纔可使用,咱們添加兩個參數,一個是報警的標題,一個是報警信息的內容,用於傳給腳本的兩個參數。
二、給用戶添加報警媒介
三、建立Action
服務器:{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}
}
服務器:{HOST.NAME}: {TRIGGER.NAME}已恢復!
{
告警主機:{HOST.NAME}
告警地址:{HOST.IP}
監控項目:{ITEM.NAME}
監控取值:{ITEM.LASTVALUE}
告警等級:{TRIGGER.SEVERITY}
當前狀態:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警時間:{EVENT.DATE} {EVENT.TIME}
恢復時間:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
持續時間:{EVENT.AGE}
事件ID:{EVENT.ID}
}
服務器:{HOST.NAME}: 報警確認
{
確認人:{USER.FULLNAME}
時間:{ACK.DATE} {ACK.TIME}
確認信息以下:
"{ACK.MESSAGE}"
問題服務器IP:{HOSTNAME1}
問題ID:{EVENT.ID}
當前的問題是: {TRIGGER.NAME}
}
6、報警測試
關掉zabbix agent。
更多Zabbix相關教程集合:
在Ubuntu 16.04服務器上安裝Zabbix 3.2 http://www.linuxidc.com/Linux/2017-07/145519.htm
CentOS 7 LNMP環境搭建Zabbix3.0 http://www.linuxidc.com/Linux/2017-02/140134.htm
Ubuntu 16.04安裝部署監控系統Zabbix2.4 http://www.linuxidc.com/Linux/2017-03/141436.htm
Zabbix監控安裝部署及警報配置 http://www.linuxidc.com/Linux/2017-03/141611.htm
Zabbix觸發器表達式詳解 http://www.linuxidc.com/Linux/2017-03/141921.htm
Ubuntu 16.04下安裝部署Zabbix3.0 http://www.linuxidc.com/Linux/2017-02/140395.htm
CentOS 6.3下Zabbix監控apache server-status http://www.linuxidc.com/Linux/2013-05/84740.htm
CentOS 7 下 Zabbix 3.0安裝詳解 http://www.linuxidc.com/Linux/2017-03/141716.htm
CentOS 7.4 安裝Zabbix 3.4 http://www.linuxidc.com/Linux/2017-09/147202.htm
64位CentOS 6.2下安裝Zabbix 2.0.6 http://www.linuxidc.com/Linux/2014-11/109541.htm