Zabbix对接飞书告警

这篇具有很好参考价值的文章主要介绍了Zabbix对接飞书告警。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

利用服务器和飞书API给飞书账号发消息,在很多实际的场景中会有作用,比如应用程序的报警通知,或者数据报表的通知等等,这里就简单总结一下步骤。

有两种方式可以实现往飞书发送告警消息

一.通过群组机器人在同一个群组内发送告警消息(只能发给同一个群里,无法发送到群外的个人消息)

1.新建一个群聊天、点击设置,并点击群机器人,添加一个群机器人
Zabbix对接飞书告警
Zabbix对接飞书告警Zabbix对接飞书告警

2.配置机器人信息,这里可自行配置,我这边演示,默认即可,这里有个关键信息是 webhook地址
Zabbix对接飞书告警Zabbix对接飞书告警
3.编辑服务器上的发送脚本,并测试

#!/usr/bin/python3
# -*- coding: utf-8 -*-

import requests
import json
import sys
import os
import datetime

# 你复制的webhook地址粘贴进url内
url = "https://open.feishu.cn/open-apis/bot/v2/hook/d61e7b5b-2c40-4de9-a263-10x1a0f6e037"


def send_message(message):
    payload_message = {
        "msg_type": "text",
        "content": {
            "text": message
        }
    }
    headers = {
        'Content-Type': 'application/json'
    }

    response = requests.request("POST", url, headers=headers, data=json.dumps(payload_message))
    return response


if __name__ == '__main__':
    text = sys.argv[1]
    send_message(text)

Zabbix对接飞书告警Zabbix对接飞书告警
这里注意一下,服务器上的脚本要提前确认好有执行权限,python环境正常。

二.通过自建应用发送告警消息(可以发给群组也可以发给个人)

1.先自己建立一个飞书测试的企业,信息随便填,这里不赘述;第一步是中建应用,在开发者后台自建Zabbix对接飞书告警

2.配置自建应用,这里只配置关键的功能,其他的可以自行配置,主要2个,机器人启用和权限开通;发送消息和通过手机号获取用户ID的权限

Zabbix对接飞书告警Zabbix对接飞书告警
Zabbix对接飞书告警

3.先将机器人拉到任意一个群内获取chatid,这一步一定要做;然后再复制App ID及App Secret到脚本内,并测试。
Zabbix对接飞书告警

#!/usr/bin/python3
#conding=utf-8
import requests,json,sys
mobiles=sys.argv[1]
subject=sys.argv[2]
messages=sys.argv[3]
def gettenant_access_token():
    tokenurl="https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal/"
    headers={"Content-Type":"application/json"}
    data={
        "app_id":"XXXXX",
        "app_secret":"XXXXXXX"

    }
    request=requests.post(url=tokenurl,headers=headers,json=data)
    response=json.loads(request.content)['tenant_access_token']
    return response
def getuserid(tenant_access_token):
    mobiles="17317452675"
    userurl="https://open.feishu.cn/open-apis/user/v1/batch_get_id?mobiles=%s" % mobiles
    headers={"Authorization":"Bearer %s" % tenant_access_token}
    request=requests.get(url=userurl,headers=headers)
    response=json.loads(request.content)['data']['mobile_users'][mobiles][0]['user_id']
    return response
def getchatid(tenant_access_token):
    #获取chatid
    chaturl="https://open.feishu.cn/open-apis/chat/v4/list?page_size=20"
    headers={"Authorization":"Bearer %s"%tenant_access_token,"Content-Type":"application/json"}
    request=requests.get(url=chaturl,headers=headers)
    response=json.loads(request.content)['data']['groups'][0]['chat_id']
    return response
def sendmes(user_id,chat_id,tenant_access_token):
    #向群里发送消息
    sendurl="https://open.feishu.cn/open-apis/message/v4/send/"
    headers={"Authorization":"Bearer %s"%tenant_access_token,"Content-Type":"application/json"}
    data={"chat_id":chat_id,
        "msg_type":"text",
        "content":{
            "text":"%s<at user_id=\"%s\">test</at>"%(messages,user_id)
        }
    }
    #给个人发送消息
    data={"user_id":user_id,
          "msg_type":"text",
          "content":{
              "text":"%s<at user_id=\"%s\">test</at>"%(messages,user_id)
         }
    }
    request=requests.post(url=sendurl,headers=headers,json=data)
    print(request.content)


tenant_access_token=gettenant_access_token()
user_id=getuserid(tenant_access_token)
chat_id=getchatid(tenant_access_token)
sendmes(user_id,chat_id,tenant_access_token)

Zabbix对接飞书告警

测试正常!

附一些报错的原因及解决办法:

1.应用权限不足,无法通过手机号获取用户id


Traceback (most recent call last):
  File "./feishuapp.py", line 55, in <module>
    user_id=getuserid(tenant_access_token)
  File "./feishuapp.py", line 23, in getuserid
    response=json.loads(request.content)['data']['mobile_users'][mobiles][0]['user_id']

2.没有把机器人加入或者创建群聊,无法获取chatid

Traceback (most recent call last):
  File "./feishuapp.py", line 55, in <module>
    chat_id=getchatid(tenant_access_token)
  File "./feishuapp.py", line 30, in getchatid
    response=json.loads(request.content)['data']['groups'][0]['chat_id']
IndexError: list index out of range


三.补充zabbix端的配置

告警媒介:feishu.py是脚本名
Zabbix对接飞书告警用户配置
Zabbix对接飞书告警

动作配置
Zabbix对接飞书告警文章来源地址https://www.toymoban.com/news/detail-401487.html

到了这里,关于Zabbix对接飞书告警的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 利用数据分析告警机制,实现鸿鹄与飞书双向集成

    需求描述 实现鸿鹄与飞书的双向集成,依赖鸿鹄的告警机制,可以发送用户关心的信息到飞书。同时依赖飞书强大的卡片消息功能,在飞书消息里面能够通过链接(如下图)返回到鸿鹄以方便用户进一步排查和分析问题。 解决方案 1. 第一步创建告警 依据文档鸿鹄如何与飞书

    2024年02月17日
    浏览(46)
  • Java项目中利用飞书自定义机器人Webhook向飞书群推送告警通知

    今天来看一下如何在Java项目中利用飞书的自定义机器人Webhook向飞书群推送告警通知         企业存在给 特定群组 自动推送消息的需求,比如:监控报警推送、销售线索推送、运营内容推送等。        你可以在群聊中添加一个 自定义机器人 ,通过服务端调用  webh

    2023年04月14日
    浏览(90)
  • Zabbix自动注册服务器及部署代理服务器

    zabbix 自动注册(对于 agent2 是主动模式) zabbix agent2 会主动上报自己的信息,发给 zabbix server。 缺点是可能因为配置文件配置错误或者网络不通等原因导致 zabbix agent2 可能找不到 zabbix server。 具体安装服务端及客户端请参考:https://blog.csdn.net/Katie_ff/article/details/132171211?spm=10

    2024年02月13日
    浏览(51)
  • 【zabbix 代理服务器】

    分布式监控的作用: ●分担 server 的集中式压力 ●解决多机房之间的网络延时问题 agent -- proxy -- server 在这里插入图片描述 1、配置 Mariadb yum源 2、初始化数据库 1、创建数据库并指定字符集 2、创建 zabbix 数据库用户并授权 #查询 sql 文件的位置 1.在客户端修改 agent2 配置文件

    2024年02月13日
    浏览(57)
  • prometheus 配置服务器监控、服务监控、容器中服务监控与告警

           最近公司有几个服务遇到了瓶颈,也就是数据量增加了,没有人发现,这不是缺少一个监控服务和告警的系统吗?         主要需求是监控每个服务,顺带监控一下服务器和一些中间件,这里采集的2种,zabbix和prometheus,由于我们要监控的是Docker容器中的服务,最终

    2024年02月14日
    浏览(51)
  • 服务器带宽忽然暴增,不停的触发告警

    问题: 线上环境,服务器的外网下行带宽达到某个阈值,触发告警,查了下服务器的带宽监控信息,是从某个时间开始突然串上去的,然后监控图形非常有规律,都是每秒达到顶峰后,又立马下去了,怀疑是不是有测试人员定时压测 追踪: 1、通过nethogs能够查看实时进程网

    2024年02月06日
    浏览(40)
  • Zabbix +Grafana 服务器监控体系

    声明 使用的是zabbix6.0.7版本。Mysql 8.0.26。演示使用的系统镜像为rocky linux 8.6 按照官方文档来会容易出现连接超时等问题。所以尽量使用国内镜像站 1、进入 cd /etc/yum.repo下,手动创建zabbix.repo 清除yum 缓存 !!!!!!注意:如果您是centos 7版本。请使用以下yum 源!!!!!!

    2024年02月09日
    浏览(42)
  • 东莞-戴尔R540服务器故障告警处理方法

    DELL PowerEdge R540服务器故障维修案例:(看到文章就是缘分) 客户名称:东莞市某街道管理中心 故障机型:DELL R540服务器 故障问题:DELL R540服务器无法开机,前面板亮黄灯,工程师通过登陆IDRAC管理口查看到故障日志有如下: 1:CPU 1 MEM012 VPP PG voltage is outside of range 2:Fan 4

    2024年02月16日
    浏览(54)
  • Zabbix监控联想服务器的配置方法

    图片 随着 科技的发展,对于数据的敏感和安全大部分取决于对硬件性能、故障预判的监测,由此可见实时监测保障硬件的安全很重要,从而衍生了很多对硬件的监测软件,Zabbix就一个不错的选择。 开源 开源 开源! zabbix是一个基于WEB界面提供分布式系统监视以及网络监视功

    2024年02月06日
    浏览(54)
  • Zabbix服务器一些常见问题及处理

    如果您的Zabbix服务器无法启动,请首先检查Zabbix服务器的配置文件是否正确,以及Zabbix服务器使用的端口是否被其他进程占用。您可以使用以下命令检查端口是否被占用: 如果端口被占用,请关闭占用该端口的进程或使用其他可用端口。 如果您的Zabbix服务器无法连接到数据

    2024年02月11日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包