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

2021-09-26 09:00:17 字數 2396 閱讀 8627

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

上傳應用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')

agentid=應用的id

#獲取accesstoken

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 型別選...