全部产品
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
业务实时监控服务 ARMS

监控任务故障诊断最佳实践

更新时间:2018-01-22 00:28:59

在日常运维中,监控任务可能会由于各种各样的原因出现异常。本文介绍了出现问题的各种场景、原因和处理方法,旨在帮助用户快速解决问题。

ARMS 的任务处理环节介绍

ARMS 的监控任务主要由三个环节组成:

  1. 数据拉取:ARMS 计算集群朝数据源,如 Loghub、ECS Log,进行数据抓取。

  2. 数据清洗:ARMS 在抓取数据后,成功清洗(或者说切分)了多少条数据。

  3. 数据聚合:ARMS 在清洗数据后,在内存中成功进行了多少次数据聚合以及数据持久化操作。

在以上每个步骤中,创建和启动任务以后,ARMS 都有监控显示运行详情。在监控任务管理页面单击目标任务,即可展示任务运行详情,如下图所示。

数据详情图

此页面上各图表展示的是对应系统时间内,ARMS 处理的数据行数。

当任务出现异常时,可以从该页面进行异常诊断。以下详细介绍各种情况。

任务异常诊断的一般过程

任务运行详情页所有图表显示“暂无数据”

此时可以检查以下几点:

  1. 如果监控任务是刚刚启动的,那么请稍等 1-2 分钟,等待数据拉取完毕。
  2. 可能这段时间确实没有数据。单击面板上的时钟图标,拉长时间范围,查看一下是否有历史数据。

图表有红色异常线条

正常情况下,三个图表都只会有一条蓝色线条。如果出现异常状况,相应图表里会多出一条红色线条。任务运行的三个环节都有可能出现异常。单击感叹号图标可以查看异常的抽样详情,用于判断异常原因。以下以数据清洗和数据聚合为例,展示如何诊断异常。

示例 1:数据清洗异常诊断

症状

数据切分异常线条

出现红色曲线之后,请先单击面板上的感叹号图标,查看异常类型。如下图, code 为 SG10100 的字段出现了类型转换异常

SG10100错误

分析

在此例中,产生问题的原因通常是,使用智能切分时,提供的字段值被判定为 long 型,而实际产生数据的时候,出现了不能转换为 long 的 string 类型。

解决

暂停监控任务后,编辑监控任务,在第 2 步日志清洗页面,选择自定义切分,将 LongKey 的 code 换成 StringKey ,保存后恢复监控任务。

切分器

重新运行之后,可以发现后续的红色线条数值变为 0,切分异常得到解决。

数据切分恢复

示例 2:数据聚合异常诊断

症状

紧接上一个例子,通过调整切分模型,切分异常消失了,但是出现了数据聚合异常。

聚合错误曲线

单击感叹号图标,可以看到一个 String 无法转换为 Number 类型的异常,如下图:

聚合异常

分析

此时需要回忆一下,在建立数据集时是否对刚才 LongKey 的 code 做过一些算术运算。经过排查,发现在某个数据集中,我们对 code 这个字段进行了 SUM 。当时进行 SUM 运算只是为了试验 SUM 的效果。

编辑数据集

解决

将 SUM 去除,异常消失。

本文导读目录