Zabbix Basic -zabbix 使用python脚本调用群企业微信机器人将告警信息发送至“企业微信”群中,并@指定人员(提醒指定人员查看)

申请企业微信(略)

创建企业微信群(略)

添加群机器人(企业微信手机端)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

企业微信官网关于群机器人的配置说明请点击此处跳转查看

  • 机器人创建完成后会生成一个webhook,请保存好,且不要对外泄漏,如下是官网的解释:

    • 在终端某个群组添加机器人之后,可以获取到webhook地址,然后开发者用户按以下说明构造post data向这个地址发起HTTP POST 请求,即可实现给该群组发送消息。

    特别特别要注意:一定要保护好机器人的webhook地址,避免泄漏!不要分享到github、博客等可被公开查阅的地方,否则坏人就可以用你的机器人来发垃圾消息了。

复制以下代码到zabbix报警脚本存放路径

进入到zabbix报警脚本存放路径

[root@whzabbix alertscripts]# cat /etc/zabbix/zabbix_server.conf | grep alertscripts
AlertScriptsPath=/usr/lib/zabbix/alertscripts
[root@whzabbix alertscripts]# pwd
/usr/lib/zabbix/alertscripts

创建python脚本文件

[root@whzabbix alertscripts]# vim zabbix-python-robot.py

按“i”键进入vim编辑器的插入模式,并粘贴以下代码(需要修改机器人的webhook的地址)

脚本可正常使用,但是后续可能会再继续优化

#!/usr/bin/python3.6
#_*_coding:utf-8 _*_
#author:Fei Huang

import requests,sys,json,time
import urllib3
urllib3.disable_warnings()

def SendMessageURL(User,Subject,Messages):
    # 以下URL 引号内的内容替换为你的机器人的webhook的地址
    URL = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxxxxxxxxxxxxxxxxxxx"
    HEADERS = {"Content-Type": "application/json"}
    Data = {
        "msgtype": "text",
        "text": { 
                "content": Subject + "\n" + Messages,
                #下方代码在群里@相应的人员,注意需要使用userid,就是用户名,不是中文名称,是企业微信通讯录中的“帐号”,这里不用修改,只需要知道账号就可以了。
                "mentioned_list" :[User],
                #"mentioned_list" :[User,"@all"],
                #下方代码可使用手机号进行提示,本示例中并未示例
                #"mentioned_mobile_list" : ["13800000000","@all"]
            }
    }
    r = requests.post(url=URL, headers=HEADERS, json=Data, verify=False)
    print(r.json())

if __name__ == "__main__":
    SENDTO = str(sys.argv[1])
    SUBJECT = str(sys.argv[2])
    MESSAGE = str(sys.argv[3])
    Status = str(SendMessageURL(SENDTO,SUBJECT,MESSAGE))
    print (Status)

修改脚本的执行权限

[root@whzabbix alertscripts]# chmod +x zabbix-python-robot.py

测试发送消息

脚本执行的格式

[root@whzabbix alertscripts]# ./zabbix-python-robot.py userid  object  message

如上所示,脚本执行需要携带3个参数:

参数1:需要提醒的用户名的“账号”
参数2:发送消息的主题
参数3:发送消息的内容

开始测试(测试过程可省略)

[root@whzabbix alertscripts]# ./zabbix-python-robot.py 1 2 3
{'errcode': 0, 'errmsg': 'ok'}
None

结果如下

在这里插入图片描述

提醒某人查看(本例中需要提醒用户的账号为:test)

[root@whzabbix alertscripts]# ./zabbix-python-robot.py test 告警测试  这是一条比较简短的告警发送测试
{'errcode': 0, 'errmsg': 'ok'}
None

结果如下

在这里插入图片描述
被提示的人员的企业微信会红色特别提示,其它人不会有特别的提示,在将群消息设置成免打扰的时候会特别醒眼

在这里插入图片描述
账号:test,中文名字叫:测试账号,这里会直接显示中文账号。

zabbix 添加告警源(本示例中为zabbix-5.0.2的版本)

在这里插入图片描述在这里插入图片描述三个参数如下:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}

在这里插入图片描述

zabbix的测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

其它zabbix内容配置不在本博客范围内,如有需要交流可留言

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Zabbix是一个广泛使用的网络监控和告警系统,企业微信机器人Zabbix提供的一种告警方式。通过Zabbix企业微信机器人可以将监控告警信息发送到企业微信中,方便及时获取告警信息并进行处理。的代码中,我们可以看到通过调用企业微信机器人接口实现发送消息的功能。该代码使用Python编写,通过传递参数实现将指定的用户、主题和消息内容发送给企业微信机器人。在发送消息的过程中,可以使用Markdown语法来格式化消息的样式,如引用中的效果图所示。 通过在Zabbix配置中设置相应的触发器和动作,可以将Zabbix监控系统中的告警信息与该Python脚本进行关联,从而实现将告警信息发送到企业微信的功能。 需要注意的是,为了能够正常使用企业微信机器人,需要在企业微信开发者中心申请机器人的key,并将其替换在代码中的对应位置。123 #### 引用[.reference_title] - *1* [zabbix监控-企业微信webhook告警并使用markdown格式](https://blog.csdn.net/stars_moon1024/article/details/123042369)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] - *2* [Zabbix-企微Bot告警机器人(markdown)](https://blog.csdn.net/qq_45194089/article/details/127742251)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] - *3* [Zabbix 6.4 版本企业微信机器人报警配置](https://blog.csdn.net/qq_42725261/article/details/130510337)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值