首页 > 其他分享 >飞书官方| Zabbix告警信息发送飞书卡片消息,让消息飞来

飞书官方| Zabbix告警信息发送飞书卡片消息,让消息飞来

时间:2023-11-14 10:04:33浏览次数:34  
标签:凭证 卡片 配置 用户 告警信息 Zabbix 消息

飞书官方| Zabbix告警信息发送飞书卡片消息,让消息飞来_开发文档

概述



告警通知对企业至关重要,直接影响网络稳定性。借助飞书集成平台,可以轻松将Zabbix与飞书进行对接,灵活地配置各种告警通知。


在日常工作中,IT 运维人员需要及时收到和处理各种 IT 系统的告警信息,以保证系统稳定运行。在 Zabbix 监控系统中,用户可以通过配置将告警信息发送到飞书群中,以便快速处理。在本文中,我们将介绍如何将 Zabbix 告警信息处理成消息卡片,并发送到聊天消息中。


飞书官方| Zabbix告警信息发送飞书卡片消息,让消息飞来_开发文档_02

这个流程有如下步骤

01


Zabbix触发器:接收Zabbix的回调信息,触发工作流运行。

02


解析回调信息:解析Zabbix回调的信息,包括转换数据格式、信息拼接等。

03


分支:判断当前消息的类型。

04


组装告警卡片:组装发送消息卡片的数据。

05


发送告警消息:发送告警消息卡片到指定的群中。

06


组装恢复卡片:组装发送消息卡片的数据。

07


发送恢复消息:发送恢复消息卡片到指定的群中。


操作步骤





前置准备


一、在Zabbix系统中配置飞书媒介类型并关联用户与动作


1.下载飞书的Zabbix媒介类型


下载地址:zbx_export_mediatype_feishu.xml


2. 在Zabbix中导入该媒介类型


在Zabbix控制台,选择管理 > 报警媒介,然后导入该媒介类型。导入规则选择“更新现有的”和“创建新的”。


飞书官方| Zabbix告警信息发送飞书卡片消息,让消息飞来_开放平台_03




3.配置支持飞书媒介类型的用户


在Zabbix系统中每个用户支持的媒介类型需要单独配置,因此必须要配置支持飞书媒介类型的用户。我们建议每一个接收告警信息的群都和Zabbix系统中的用户一一对应。


在管理 》 用户页面, 选择已有用户编辑或者新建用户页面,选择报警媒介页面,类型选择“Feishu”,收件人填入飞书的回调地址。


注意:所选用户必须有告警主机的权限, 否则告警信息是无法发送给该用户的。权限可以在用户群组中进行管理。


飞书官方| Zabbix告警信息发送飞书卡片消息,让消息飞来_x系统_04




回调地址可以点击工作流中的 Zabbix 节点,在右侧 设置 页面可见回调地址。


飞书官方| Zabbix告警信息发送飞书卡片消息,让消息飞来_x系统_05




4.修改Action配置


在配置 》 动作中选择需要发送给目标群的action进行修改,选择action,在操作页面添加发送对象(操作、恢复操作、更新操作都可以配置,可以按照实际情况及需求进行配置)。发送的用户选择上一步创建的用户,“仅送到” 选择飞书。


注意:动作需要是启用状态且条件不能为空。


飞书官方| Zabbix告警信息发送飞书卡片消息,让消息飞来_开发文档_06




注意:zabbix 版本需要是5.0及以上 才支持导入媒介类型。


二、在群聊中添加发送消息的机器人


前往待发送同步信息的飞书群,添加自建机器人应用(如果还没有创建机器人,则可以完成下面的“逐步细分”后再进行此步骤操作),并在群管理设置中“谁可以在此群发言”设置为“所有群成员”(需群管理员权限)。


飞书官方| Zabbix告警信息发送飞书卡片消息,让消息飞来_开发文档_07




逐步细分


一、配置Zabbix应用凭证


点击工作流中的 Zabbix 节点,在右侧 凭证 页面配置新建/选择已有的“Zabbix应用授权”凭证,下文以“新建”为例:


飞书官方| Zabbix告警信息发送飞书卡片消息,让消息飞来_开放平台_08




新建应用凭证时,填入必填项后,点击 创建并连接。


飞书官方| Zabbix告警信息发送飞书卡片消息,让消息飞来_x系统_09




注意:如果仅使用该模版,ApiToken和Zabbix域名可以设置为任意值并创建连接都可以生效。


其中ApiToken是在Zabbix控制台 》用户设置》 API Token创建,如下图:


飞书官方| Zabbix告警信息发送飞书卡片消息,让消息飞来_x系统_10




Zabbix域名填入的是不需要携带页面路径参数,且 公网可以访问 的URL地址。例如仪表盘地址为https://example.com/zabbix/zabbix.php?action=dashboard.view,那么填入的地址为: https://example.com/zabbix/


二、配置Zabbix URL


点击 解析回调信息 节点右侧的 入参 ,在zabbix_url 中填入Zabbix系统基础的URL,具体获取方法见上一步的描述。


飞书官方| Zabbix告警信息发送飞书卡片消息,让消息飞来_开发文档_11




三、配置飞书系应用的凭证


点击  发送告警信息 节点右侧的 凭证,新建/选择已有的“飞书应用授权”凭证,下文以“新建”为例:


a. 点击 新建应用凭证,并在凭证创建页面点击 新建飞书应用


注:通过集成平台创建的飞书应用会自动提交发布申请,应用发布审核未通过时工作流运行会报错。


飞书官方| Zabbix告警信息发送飞书卡片消息,让消息飞来_开放平台_12

飞书官方| Zabbix告警信息发送飞书卡片消息,让消息飞来_x系统_13




b.将创建的“飞书应用授权”凭证,批量更新到剩余的“飞书系”连接器节点。


飞书官方| Zabbix告警信息发送飞书卡片消息,让消息飞来_x系统_14




c. 选择好凭证后,如果该凭证需要额外申请权限,可在下提示信息中点击 配置应用凭证 ,一键提交配置申请。


飞书官方| Zabbix告警信息发送飞书卡片消息,让消息飞来_开放平台_15




四、配置飞书群ID


分别点击 发送告警信息/发送恢复消息 节点右侧的 入参,在 接收者id 字段填入需要接收信息的群id(群id的获取方式参考群 ID 说明 - 服务端 API - 开发文档 - 飞书开放平台)


飞书官方| Zabbix告警信息发送飞书卡片消息,让消息飞来_开发文档_16




五、发布集成流


完成工作流编辑后,点击 发布,该工作流则变为生效状态。


常见问题


一、如何将不同的告警发送到不同的飞书群中?


方式一:在飞书集成平台创建多个集成流, 每个集成流的回调地址都不同。然后在Zabbix系统中创建多个用户,每个用户指定一个不同的回调地址即可。


方式二:在飞书集成平台中引入判断逻辑,通过入参不同进行判断,发送到不同的消息群中。


二、如何在消息卡片中增加交互式操作?


如果需要增加交互式操作,首先需要新建一个交互式卡片,并增加交互操作(卡片介绍参考 消息卡片概述 - 开发指南 - 开发文档 - 飞书开放平台及交互模块 - 开发指南 - 开发文档 - 飞书开放平台)。


完成交互卡片开发后,把当前工作流中的消息卡片替换掉。


三、如何把消息卡片中的操作记录到多维表格中?


可以参考模版 消息卡片交互触发更新卡片内容 处理消息卡片的回调逻辑并做适当的调整。


四、如何定制告警卡片中的告警信息内容?


方式一:当前告警卡片中的告警信息取自Zabbix预置的宏{ALTER.MESSAGE},该信息支持用户在Zabbix的媒介及Action中进行定制。


在Feishu的媒介类型进入Message templates中编辑消息内容,如下图所示。


飞书官方| Zabbix告警信息发送飞书卡片消息,让消息飞来_开发文档_17




在action配置中选择具体的配置,选定操作,在操作细节中选择自定义消息内容,可以按照需求进行定制。


飞书官方| Zabbix告警信息发送飞书卡片消息,让消息飞来_开发文档_18




方式二:通过工作流中的JavaScript脚本能力进行定制化处理,可以在工作流中选择 解析回调信息 节点,在入参页面,选择 编辑JavaScript Code进入编辑,按照自己的逻辑进行处理。


飞书官方| Zabbix告警信息发送飞书卡片消息,让消息飞来_开发文档_19




五、为什么告警消息没有发送到飞书


首先可以在zabbix的控制台的报表》动作日志中查看是否有相关发送给飞书的日志(如下图)。


如果没有任何相关的日志,则大概率是配置不正确。首先检查告警的人员或者群组是否有对应的主机和主机组的权限、其次按照上面的步骤再检查一遍。



飞书官方| Zabbix告警信息发送飞书卡片消息,让消息飞来_x系统_20


如果存在日志,并显示错误则可以按照错误提示原因进行排查,常见的问题有:Zabbix主机无法访问公网等。


如果存在日志并且日志为已送达,则可以在Anycross的运行日志中进行排查,常见的问题有:应用凭证配置错误、群ID配置错误等。如何处理可以参考前面的步骤检查一遍。


六、如何修改通知卡片的标题


进入工作流的编辑模式,在 组装报警卡片组装恢复卡片 找到event_name参数,对该参数进行调整即可。



标签:凭证,卡片,配置,用户,告警信息,Zabbix,消息
From: https://blog.51cto.com/u_15094852/8361740

相关文章

  • Web实时消息推送的解决方案
      什么是消息推送(push) 推送的场景比较多,比如有人关注我的公众号,这时我就会收到一条推送消息,以此来吸引我点击打开应用。 消息推送(push)通常是指网站的运营工作等人员,通过某种工具对用户当前网页或移动设备APP进行的主动消息推送。消息推送一般又分为web端消息推送和移......
  • .NET快速对接极光消息推送
    什么是消息推送?很多手机APP会不定时的给用户推送消息,例如一些新闻APP会给用户推送用户可能感兴趣的新闻,或者APP有更新了,会给用户推送是否选择更新的消息等等,这就是所谓的“消息推送”。更多APP消息推送的介绍可查阅该篇文章:十分钟带你了解APP消息推送(Push)......
  • 基于Electron IM消息列表滚动优化方案?
    在处理大量消息并进行滚动优化时,以下是一些常见的优化思路和技术方案:虚拟列表(VirtualList):使用虚拟列表可以只渲染当前可见的一部分消息,而不是所有的消息。这可以大大减少渲染的元素数量,提高性能。你可以根据滚动位置计算出可见的消息范围,并只渲染这些消息。懒加载(LazyLoading):当用......
  • 编译 Spartacus 6.0 时遇到的错误消息
    错误消息如下:CompilingwithAngularsourcesinIvypartialcompilationmode.projects/storefrontlib/shared/components/generic-link/generic-link.component.html:22:6-errorTS2322:Type'string|null'isnotassignabletotype'string|undefine......
  • 消息幂等(去重)解决方案
    一、场景    程序A接受到这个消息M并完成消费逻辑之后,正想通知消息中间件“我已经消费成功了”的时候,程序就重启了,那么对于消息中间件来说,这个消息并没有成功消费过,所以他还会继续投递。这时候对于应用程序A来说,看起来就是这个消息明明消费成功了,但是消息中间件还在重复投......
  • RocketMQ【消息丢失】
    一、流程图         二、消息丢失场景      2.1、场景1中生产者将消息发送给RocketMQ的时候,如果出现了网络抖动或者通信异常等问题,消息就有可能会丢失。   2.2、场景2中消息需要持久化到磁盘中,这时会有两种情况导致消息丢失:     ......
  • 倒计时2天!和上百位Zabbix用户在武汉Meetup见!
    8位演讲嘉宾认真准备彩排,100+Zabbix用户报名参会, 让我们十分期待本周六!倒计时2天,Zabbix官方将首次来到武汉与大家见面!Meetup邀请到长江证券、中南财经政法大学、某城商行、社区专家、Zabbix大中华区培训师以及Zabbix合作伙伴带来一手干货和实践分享。设置QA环节供各位朋友直接......
  • Zabbix proxy中的数据缓存
    感谢本文作者田川,Zabbix中级认证专家。Zabbixproxy的一个特性是如果与Zabbix服务器的连接丢失时可以缓存收集的监控数据。在这篇文章中,将使用数据包捕获和数据包分析来展示它如何发生。01Zabbix设置和捕获Zabbix代理流量这是本次演示中的设置:·中心站点的一个Zabbix服务器(IPv6地......
  • 3分钟白话RocketMQ系列—— 如何消费消息
    =白话3分钟,快速了解RocketMQ如何消费消息。看完如果不了解,欢迎来打我。我们知道RocketMQ主要分为消息生产、存储(消息堆积)、消费三大块领域。前面已经介绍了生产消息、存储消息两大块内容,那接下来,我们白话一下RocketMQ是如何消费消息的,揭秘消息消费全过程。注意,如果白话中不小......
  • 3分钟白话RocketMQ系列—— 如何存储消息
    白话3分钟,快速了解RocketMQ如何存储消息。看完如果不了解,欢迎来打我。我们知道RocketMQ主要分为消息生产、存储(消息堆积)、消费三大块领域。那接下来,我们白话一下,RocketMQ是如何存储消息的,揭秘消息存储全过程。注意,如果白话中不小心提到相关代码配置与类名,请参考RocketMQ4.9.4......