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

业务背景

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

选择

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

MaxCompute

我们以前用过 MaxCompute 作周期性的业务数据计算,缺点非常明显,就是延迟性太高,这对于实时监控来说是致命的直接被PASS。

流计算

参加深圳云栖大会的时候了解到流计算如获至宝,也回来尝试使用过一段时间,在实时监控的功能节点上是很重要的一环没错,但太过于细节,导致整条线过程冗长且繁杂,最后也放弃了。

业务实时监控服务 ARMS

一套组合拳,在数据分析、实时计算、报警、API、持久化存储等方面给我们节省了不少时间,也提供了更多的可能性。所以,最终我们选择了 ARMS。

架构

数据源

IIS日志

WindowsECS安装Logtail 对 IIS 产生的日志进行实时抓取

业务日志

使用日志服务 SDK提交日志

实时数据分析

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

日志切分

根据规则对日志进行切分、类型转换、字段重组等

数据集

将符合条件的数据进行汇总保存(留待后续分析和监控使用),按需设置报警(邮件、短信)

数据使用

对接 API

通过对接 API,可以对数据集内的数据进行查询,以便后续的业务分析和问题复查

业务分析

实时查询数据集内的结果,根据业务在内存中进行二次计算形成报表

监控

我们做了个 Monitoring 的项目,对接 Grafana 的 Datasource,这样便可以在 Grafana 实时看到数据集内的数据。

使用案例

供应商酒店请求分析 监控

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

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

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

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

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

- 生成报表

调用第三方接口的 Status Code 监控

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

- 通过 Logtail 实时抓取 IIS 日志

- 在 ARMS 后台配置好数据集

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

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

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

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

点击了解业务实时监控服务 ARMS:[url]https://www.aliyun.com/product/arms[/url]

原文链接

你可能感兴趣的:(道旅鬼谷子分享:如何打好业务监控的组合拳)