Uptime Kuma实现业务接口自定义逻辑监控
背景
在现代分布式架构中,业务系统通常由多个微服务组成,微服务之间通过接口进行数据交互。为了确保业务的正常运行,我们需要对这些接口进行监控,及时发现并处理异常情况。然而,由于业务数据接口的复杂性,通用的监控方式往往难以满足需求,需要自定义逻辑来判断接口数据是否异常。
具体来说,我们面临以下挑战:
- 监控的值依赖接口的 JSON 结构
- JSON 中的值具有独特的业务含义
因此,我们需要在定义期望结果时抽取接口的 JSON 值,以实现精准的业务监控。
© ivwdcwso (ID: u012172506)
实现方式
为了实现业务接口的自定义逻辑监控,我们选择使用开源的站点监控平台 Uptime Kuma。Uptime Kuma 支持 HTTP(s)-JSON 查询,并允许我们设置预期值为 true 或 false,从而实现自定义的监控逻辑。
JSON 抽取语法
在 Uptime Kuma 中,我们可以使用 JSONata 语法来抽取和操作 JSON 数据。JSONata 是一种专门用于查询和转换 JSON 数据的查询语言,它提供了丰富的操作符和函数,使我们能够方便地处理复杂的 JSON 结构。
JSONata 的语法参考可以在官方文档中找到:
https://docs.jsonata.org/comparison-operators
下面是一些常用的