我这个有一个小问题, "touser":user, "toparty":"3",这两个值,怎么调试我zabbix告警才能按群组或者名字去发送信息
时间: 2023-11-21 17:38:15 浏览: 88
这两个值是企业微信消息推送API中的参数,其中"touser"表示发送消息的用户账号,可以是企业内部用户的userid或者手机号码;"toparty"表示发送消息的部门id列表,多个部门用逗号分隔,若发送给整个企业可设置为1。
关于如何在Zabbix告警中按群组或者名字去发送信息,你可以在Zabbix中设置一个Media Type为"Script",并编写一个脚本来实现该功能。在脚本中,你可以通过调用企业微信API来实现按群组或者名字发送信息。具体的实现方式可以参考企业微信API文档。
相关问题
zabbix的微信告警脚本怎么写
Zabbix的微信告警脚本可以使用微信企业号(企业微信)的接口发送信息。首先需要在企业微信中配置应用和接收消息的用户或群组。然后,可以使用Python或其他语言编写脚本,调用企业微信的接口发送消息。
示例代码(Python):
```
import requests
import json
# 企业微信应用的CorpID和Secret
corp_id = 'xxxx'
secret = 'yyyy'
# 获取access_token
url = f'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={corp_id}&corpsecret={secret}'
res = requests.get(url)
access_token = res.json()['access_token']
# 消息发送接口
url = f'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={access_token}'
# 消息内容
data = {
"touser": "user1|user2",
"toparty": "PartyID1|PartyID2",
"totag": "TagID1 | TagID2",
"msgtype": "text",
"agentid": 1000003,
"text": {
"content": "消息内容"
},
"safe":0
}
# 发送消息
res = requests.post(url, json=data)
print(res.json())
```
其中,touser、toparty和totag表示接收消息的用户或群组,content表示消息内容。
更多细节参考官方文档:https://work.weixin.qq.com/api/doc/90000/90135/90236
zabbix 微信报警python脚本
以下是一个基于 Python 实现的 Zabbix 微信报警脚本,需要先安装 WeixinBot 和 requests 库:
```python
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import requests
import json
import sys
class WeChat(object):
def __init__(self, corpid, corpsecret):
self.url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken'
self.corpid = corpid
self.corpsecret = corpsecret
self.params = {
'corpid': self.corpid,
'corpsecret': self.corpsecret
}
self.access_token = self.get_access_token()
def get_access_token(self):
r = requests.get(self.url, params=self.params)
return r.json()['access_token']
def send_message(self, message, agentid, touser=None, toparty=None):
url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send'
data = {
"touser": touser,
"toparty": toparty,
"msgtype": "text",
"agentid": agentid,
"text": {
"content": message
},
"safe": 0
}
params = {
'access_token': self.access_token
}
headers = {'Content-Type': 'application/json;charset=utf-8'}
r = requests.post(url, params=params, data=json.dumps(data), headers=headers)
return r.json()
if __name__ == "__main__":
corpid = 'YOUR_CORPID'
corpsecret = 'YOUR_CORPSECRET'
agentid = 'YOUR_AGENTID'
touser = sys.argv[1]
subject = sys.argv[2]
content = sys.argv[3]
message = u"收件人:%s\n主题:%s\n内容:%s" % (touser, subject, content)
wechat = WeChat(corpid, corpsecret)
response = wechat.send_message(message, agentid, touser=touser)
print(response)
```
使用方法:
1. 用企业微信扫描二维码,加入企业;
2. 创建一个应用,并记录下应用的 `corpid`、`corpsecret`和 `agentid`;
3. 安装 WeixinBot 和 requests 库;
4. 将上述代码保存到文件 `wechat.py` 中;
5. 在 Zabbix 中配置告警媒介,将 `wechat.py` 的路径作为脚本名,并在参数中依次填入收件人、主题和内容。例如:`/usr/bin/python /path/to/wechat.py {ALERT.SENDTO} "{ALERT.SUBJECT}" "{ALERT.MESSAGE}"`;
6. 测试告警是否正常发送。
阅读全文