成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用企業微信發送Zabbix告警信息

運維 系統運維
企業微信在很多公司都有使用,得益于它強大的消息推送API,我們可以自己實現使用企業微信作為告警媒介,本文就從零開始介紹如何使用企業微信發送Zabbix告警。

Zabbix作為一款傳統的監控軟件一直保持穩定的迭代,到目前為止穩定版已經更新到5.4了。Zabbix內置非常多現成的監控項,從操作系統到常用的軟件Redis、MySQL等,幾乎都可以找到對應的監控項,差不多可以做到零配置就實現操作系統三大件:CPU、硬盤、內存的監控。此外Linux和Windows,Zabbix都支持。

Zabbix內置豐富的告警媒介,但很遺憾沒有內置企業微信告警。企業微信在很多公司都有使用,得益于它強大的消息推送API,我們可以自己實現使用企業微信作為告警媒介,本文就從零開始介紹如何使用企業微信發送Zabbix告警。

一、企業微信配置相關

瀏覽器登錄企業微信管理后臺,在“應用管理”中創建自建應用,如下圖:

自建應用

得到三個重要的參數:“AgentId”、“Secret”和“企業ID”,前兩個參數在自建的應用里面可以看到,“企業ID”需要到“我的企業”->“企業信息”底部查看。

這里有一點要注意,在自建應用中有個“可見范圍”需要填寫正確,如下面公司架構,

通訊錄

如果接受告警的人在dev組,那么要將“自建應用”中的“可見范圍”設為“dev”或者直接設置為“念一顧問”,如果設置錯了,要接受告警的人是收不到告警信息的,因為他看不到這個自建應用。

可見范圍配置

二,告警通道腳本編寫

Zabbix的告警媒介類型可以選擇腳本,其由系統管理員提供,這就是zabbix強大的地方。依賴自定義腳本POST告警消息到企業微信的API,具體可以查看企業微信相關文檔,這里直接上腳本(支持發送markdown格式的內容):

#!/bin/python3.7
import requests
import json
import sys
import os
from dotenv import load_dotenv
def get_token(corpid, secret):
url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken"
data = {
"corpid": corpid,
"corpsecret": secret
}
response = requests.get(url=url, params=data)
if response.json()['errcode'] != 0:
return False
else:
token = response.json()["access_token"]
# 保存token,方便下次使用
with open('/usr/lib/zabbix/alertscripts/.zabbix_wechat_config.json', 'w') as file:
file.write(response.text)
return token
def send_message(user, subject, content, partyid="", agentid=1000002):
load_dotenv()
try:
with open('/usr/lib/zabbix/alertscripts/.zabbix_wechat_config.json', 'r') as file:
token = json.load(file)["access_token"]
except:
token = get_token(os.environ.get('corpid'),
os.environ.get('secret'))
url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s" % token
data = {
"touser": user,
#"totag": Tagid,
"toparty": partyid,
"msgtype": "markdown",
"agentid": agentid,
"markdown": {
"content": subject + '\n' + content
},
"safe": "0"
}
#企業微信的markdown格式的內容必須使用utf-8編碼
data = json.dumps(data, ensure_ascii=False).encode(encoding="utf-8")
response = requests.post(url=url, data=data)

# 如果發送失敗,重試四次
n = 0
while response.json()['errcode'] != 0 and n < 4:
n += 1
token = get_token(os.environ.get('corpid'), os.environ.get('secret'))
if token:
url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s" % token
data = json.dumps(data, ensure_ascii=False).encode(encoding="utf-8")
response = requests.post(url=url, data=data)
print(response.json())
return response.json()
if __name__ == "__main__":
user = sys.argv[1]
subject = str(sys.argv[2])
content = str(sys.argv[3])
status = send_message(user, subject, content)
print(status)

運行腳本的三個參數通過zabbix傳入。(關于模塊dotenv的用法可參考Python開發中如何正確處理憑據)

查看zabbix server的配置文件:

/etc/zabbix/zabbix_server.conf,查找參數“AlertScriptsPath”的值,將腳本放到其指定的目錄中。(本文使用的操作系統是CentOS 7)

三,Zabbix配置

作者使用的zabbix版本為5.0,其他版本可能會有差異。有三個地方需要配置,

“管理”->“報警媒介類型”增加告警類型,如下:

告警媒介配置

其中“腳本參數”與上面python腳本接收參數對應。

在“管理”->“用戶”中為zabbix用戶配置“報警媒介”,可以配置多個,這里僅配置“企業微信”告警媒介,

用戶配置告警媒介

“配置”->“動作”添加動作并指定對應的操作,如下:

動作

配置動作實際的操作

上面兩幅圖用一句話描述:當觸發器的級別是嚴重級別時,通過自定義腳本發送告警給zabbix管理員用戶組。選擇“Custom message”,其中“主題”的內容為

{TRIGGER.STATUS}: {TRIGGER.NAME}

消息的內容為:

<font color="warning">告警等級:嚴重</font>
告警主機:{HOSTNAME1}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警信息:{TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

這里只定義了一個步驟,如果需要加入多個步驟,點擊“添加”即可,比如要實現告警先給普通員工發送,如果一個小時內沒有確認,向更高一級的管理層發送就在這里實現。“恢復操作”和“更新操作”類似,不再贅述。

下圖是實際告警示例,因為告警內容支持markdown格式,將告警級別著重展示,引起收到告警的相關負責人重視。

實際告警

總結

文章對Zabbix使用企業微信作為告警媒介原理進行了介紹。其他類似的應用,實現原理也是相通的,希望這篇文章能幫到正在努力的你。

責任編輯:姜華 來源: 今日頭條
相關推薦

2021-11-06 19:43:34

Python微信服務器

2014-09-25 13:40:52

微信企業號圖解

2022-09-19 08:32:46

AOP系統機器人

2014-09-24 11:32:21

微信企業號開發

2023-11-24 16:57:53

2022-07-28 08:45:40

Web應用監控與告警

2014-09-28 22:22:25

微信企業號

2013-01-30 13:46:09

微信企業移動信息化

2013-04-09 23:02:34

微信公眾平臺圖文消息

2015-08-07 15:39:26

仿微信語音界面源碼

2014-10-21 15:42:30

微信企業號企業移動平臺

2014-09-25 15:27:28

微信企業號注冊流程

2014-09-24 13:11:34

信企業號

2014-11-14 09:04:33

云智慧

2013-04-12 01:51:08

微信公眾平臺接口開發

2024-12-19 10:00:00

Python發送消息編程

2014-09-28 22:38:21

微信企業號

2020-03-16 13:41:09

企業微信騰訊張小龍

2014-09-25 15:51:07

微信企業號認證審核

2014-09-25 15:48:51

微信企業號申請認證
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产wwwcom | 国产一区二区三区免费 | 欧美日韩免费在线 | 一区二区三区在线免费观看 | 91欧美精品成人综合在线观看 | 日韩www | 日韩在线| 久久精品成人 | 97精品国产一区二区三区 | 久久久久久久久国产精品 | 狠狠躁18三区二区一区 | 狠狠操av | 久久精品色欧美aⅴ一区二区 | 国产精品高清一区二区 | 欧美日韩在线高清 | 国产精品亚洲一区二区三区在线 | 久久精品免费观看 | 午夜看看 | 91免费看片| 欧美性大战xxxxx久久久 | 日韩精品在线视频 | 日韩免费 | 国产精品高 | 一区二区视频在线观看 | 一区二区三区回区在观看免费视频 | 欧美成人手机在线 | 成人黄色在线视频 | 国产一区二区三区亚洲 | 四虎影视一区二区 | 日韩欧美久久精品 | 九九热这里只有精品在线观看 | 精品亚洲91| 免费看国产一级特黄aaaa大片 | 中文字幕av一区 | 午夜影院普通用户体验区 | 欧美精品黄 | 亚洲成人久久久 | 欧美一区二区免费 | 久久久做 | 欧美日韩国产欧美 | 中文字幕一区二区三区四区五区 |