天天看点

道旅鬼谷子分享:如何打好业务监控的组合拳

来自 道旅旅游科技股份有限公司 鬼谷子 的撰稿

公司由于业务迅速扩展,需要针对业务方面进行定制监控。通过选型最终采用了 ARMS 方案。以下篇幅简单介绍了方案的大致概要以及最终效果,以供读者参考。

以下是几个产品方案的对比。需要解释的是,以下三个产品在我们的架构中都有大量使用,但是只是在本监控方案中,由于一些业务场景的特殊性,我们使用了业务实时监控服务 ARMS,虽然这并不代表 ARMS 是一个银弹。

我们以前用过 MaxCompute 作周期性的业务数据计算,缺点非常明显,就是延迟性太高,这对于实时监控来说是致命的直接被PASS。
参加深圳云栖大会的时候了解到流计算如获至宝,也回来尝试使用过一段时间,在实时监控的功能节点上是很重要的一环没错,但太过于细节,导致整条线过程冗长且繁杂,最后也放弃了。
一套组合拳,在数据分析、实时计算、报警、API、持久化存储等方面给我们节省了不少时间,也提供了更多的可能性。所以,最终我们选择了 ARMS。
道旅鬼谷子分享:如何打好业务监控的组合拳
Windows ECS 安装 Logtail 对 IIS 产生的日志进行实时抓取
使用日志服务 SDK 提交日志

ARMS 的配置分为以下几个部分,由于篇幅原因,仅列出重点,详细内容不赘述。

根据规则对日志进行切分、类型转换、字段重组等
将符合条件的数据进行汇总保存(留待后续分析和监控使用),按需设置报警(邮件、短信)
通过对接 API,可以对数据集内的数据进行查询,以便后续的业务分析和问题复查
实时查询数据集内的结果,根据业务在内存中进行二次计算形成报表
我们做了个 Monitoring 的项目,对接 Grafana 的 Datasource,这样便可以在 Grafana 实时看到数据集内的数据。

该场景用于我们对供应商酒店请求数的业务监控和事后分析,主要使用方是业务人员。介绍如下:

通过日志服务 SDK 在酒店请求接口中埋点日志

在 ARMS 后台根据供应商 Id,酒店 Id,请求维度等参数配置数据集

对接 ARMS 接口,通过下钻的方式获取到数据。

在内存中根据业务进行二次计算

生成报表

道旅鬼谷子分享:如何打好业务监控的组合拳

该场景用于我们对供应商酒店请求的状态码分析,主要使用方是运维和开发。本方案实现了 ARMS 对 Grafana 的对接,基本介绍如下:

通过 Logtail 实时抓取 IIS 日志

在 ARMS 后台配置好数据集

在 Monitoring 项目中对接 ARMS 接口,并根据 simpleJson 接口规则实现 Grafana Data Source 对接。

道旅鬼谷子分享:如何打好业务监控的组合拳

为 SimpleJson 的 Search 接口定义 target 规则,并生成 target 与配置对应关系

使用 ARMS 的下钻功能为 SimpleJson 的 Search 接口支持 Templating 功能

道旅鬼谷子分享:如何打好业务监控的组合拳

在 Grafana 中使用 Moniroing 提供的 simpleJson 接口实现展示数据

道旅鬼谷子分享:如何打好业务监控的组合拳

<a href="https://www.aliyun.com/product/arms">点击了解 业务实时监控服务 ARMS</a>