zabbix 通過指令碼傳送微信告警

2021-10-05 09:12:09 字數 2566 閱讀 2394

申請方法不多說,如果已申請請忽略

上傳應用logo,填寫應用名稱,應用介紹等

應用建立完之後檢視並啟用應用,同時會生成應用的agentid以及secret,這個在後面步驟會有用

3、介面呼叫測試

corpid為建立的企業號生成的corpid

4、關於指令碼

[root@zabbix alertscripts]

# cat weixin.py

#!/usr/bin/env python

#-*- coding: utf-8 -*-

import requests

import sys

import os

import json

import logging

logging.basicconfig(level = logging.debug, format =

'%(asctime)s, %(filename)s, %(levelname)s, %(message)s',

datefmt =

'%a, %d %b %y %h:%m:%s',

filename = os.path.join(

'/tmp',

'weixin.log'),

filemode =

'a')

corpid=

'應用的secret'

agentid=應用的id

#獲取accesstoken

token_url=

'' + corpid +

req=requests.get(token_url)

accesstoken=req.json()[

'access_token']

#傳送訊息

msgsend_url=

'' + accesstoken

touser=sys.ar**[1]

subject=sys.ar**[2]

#toparty='3|4|5|6'

message=sys.ar**[2] +

"\n\n" +sys.ar**[3]

params=,

"safe":0

}req=requests.post(msgsend_url, data=json.dumps(params))

logging.info(

'sendto:' + touser +

';;subject:' + subject +

';;message:' + message)

指令碼編寫完成之後需要為指令碼新增執行許可權

5、web介面新增報警媒介型別

6、配置使用者報警媒介資訊

7、測試

命令列測試指令碼能否成功執行

[root@zabbix alertscripts]# ./weixin.py har452330261 "測試" 'test'

測試引數為三個,分別為部門成員賬號,報警標題,報警內容

測試的時候如果出現錯誤提示缺少requests,解決方法為使用pip進行安裝:pip install smtplib

命令列測試完成後,如果想要通過zabbix進行觸發報警,還需要做的就是將上面生成的日誌檔案的所屬修改為zabbix使用者且具有寫許可權

[root@zabbix alertscripts]# ll /tmp/weixin.log

-rwxr-xr-x 1 zabbix zabbix 35329 6月 13 07:47 /tmp/weixin.log

收到的報警提示如下

附加內容:

zabbix 通過指令碼傳送微信告警

申請方法不多說,如果已申請請忽略 上傳應用logo,填寫應用名稱,應用介紹等 應用建立完之後檢視並啟用應用,同時會生成應用的agentid以及secret,這個在後面步驟會有用 3 介面呼叫測試 corpid為建立的企業號生成的corpid 4 關於指令碼 root zabbix alertscri...

zabbix通過企業微信傳送報警

新增指令碼並將指令碼放在alertscripts目錄下 我的yum安裝的,目錄在 usr lib zabbix alertscripts usr bin python coding utf 8 import requests import sys def send text url headers ...

zabbix通過指令碼傳送簡訊

和zabbix電子郵件是一樣的,他們是action內部配置,司的api來完畢。當然網上有不少利用139郵箱來發的,這個事實上算呼叫email的一種,這裡複述的是呼叫script的方法。編寫發簡訊的指令碼。加上可執行許可權。administration medis types 裡面create 型別選...