日志服务提供下探分析功能,用于对多维时序进行自动化、智能化的根因定位。您可以根据根因定位的结果,判断是时序数据的哪些维度(单个维度和若干维度的组合)异常导致的问题,缩小问题排查范围。本文介绍下探分析的背景信息、功能、调度与执行场景、使用建议等信息。
背景信息
服务运行过程中会产生各种各样的时序数据,通过监控这些时序数据是否存在异常(例如监控KPI指标异常突变),及时获知服务运行是否异常,异常时可以及时进行故障定位与恢复。时序数据往往是由多个维度的时序数据聚合而成的。下探分析用于多维时序数据的根因定位,当监控的时序指标出现异常时,分析这个时序指标的各个维度,检测是哪个维度或者哪些维度的组合导致了指标异常。通过指标的各个维度进行根因定位,便于运维人员在服务异常时快速定位异常根因。
例如网站访问流量时序数据可以按照不同的维度进行划分。如果按照访问用户的城市划分,可以分为来自上海的访问流量和来自北京的访问流量等;如果按照访问渠道划分,可以分为来自移动端的流量和来自PC端的流量等。网络流量异常可能是由于某个城市机房故障造成的,也可能是由某个渠道的网页显示异常造成的,甚至是某个城市的某个渠道的网页没有及时更新造成的。
功能介绍
下探分析作业接收如下两类时序数据,这两类时序数据都是通过SQL方式抽取或聚合得到的。
事件时序数据:下探分析作业观察事件时序数据,获知是否有异常事件产生。有异常事件产生时,立即触发多维指标下探分析,确定根因。
多维指标时序数据:下探分析作业读取各个维度的时序指标,在观测到异常事件时,检测哪些维度的时序指标与期望值偏差较大,并将这些维度作为异常事件的候选根因。
下探分析结果会被写到目标日志库(internal-ml-log)中,并且在仪表盘中进行可视化展示,帮助您快速查看根因定位结果。整体流程如下图所示。
基本概念
日志服务下探分析涉及的基本概念如下表所示。
术语 | 说明 |
作业 | 下探分析作业。 |
实例 | 一个下探分析作业按照作业配置生成执行实例。每一个实例针对作业配置定时拉取数据,运行算法模型,生成下探分析结果。关于不同操作对实例的调度与执行的影响,请参见调度和执行场景。
|
实例ID | 执行实例的唯一标识。 |
创建时间 | 实例创建的时间。一般是按照您配置的作业规则生成,在补运行或追赶延迟时会立即生成实例。 |
执行时间 | 实例开始执行的时间。如果重试作业,则表示最后一次开始执行的时间。 |
结束时间 | 实例执行结束的时间。如果重试任务,则表示最后一次执行结束的时间。 |
执行状态 | 实例的执行状态。取值:
|
数据配置 | 数据配置中包含查询分析语句、时间、维度、指标等参数。更多信息,请参见创建作业。 |
算法配置 | 算法配置中包含观测长度、置信度、时间范围等参数。更多信息,请参见算法说明。 |
下探分析结果 | 通过内置仪表盘展示下探分析结果。 |
调度和执行场景
一个作业可生成一个或多个实例,无论是正常被调度还是您触发异常实例重试的情况,同时只有一个实例处于运行中,不存在多个实例并发执行的情况。
主要的调度与执行场景如下表所示。
场景 | 说明 |
场景一:从当前时间开始执行下探分析作业 | 从当前时间发起作业,作业根据您所配置的观测长度读取历史数据,然后下探分析未来一段时间的时序数据。 |
场景二:从某个历史时间点开始执行下探分析作业 | 在指定的时间点创建下探分析作业后,按照作业规则对历史数据进行处理,算法模型会快速消费历史数据,并逐渐追上当前时间。 |
场景三:修改调度配置 | 修改调度配置后,下一个实例按照新配置生成。算法模型会记忆当前消费的时间位置,进而对新来的数据继续巡检。 |
场景四:重试失败的实例 | 如果实例执行失败(例如权限不足、源库不存在、目标库不存在、配置不合法等),系统支持自动重试。若您的状态一直显示启动中,可能是配置失败。错误日志会发送到您的internal-etl-log下,您可以检查下配置并重新发起。调度执行完成后,系统会根据实际执行情况变更实例状态为成功或失败。 |
使用建议
建议您在使用下探分析功能时,根据业务场景将时序指标合理的划分成若干维度,从而实现快速、准确的根因定位。具体说明如下:
确保观测的异常事件与待分析的多维指标有关联关系,即维多指标的异常可能导致异常事件的产生。
合理划分维度,多维指标的各个维度尽量相互独立,且每个维度的候选值的数量不会特别多。
在用于多维指标时序数据抽取的SQL中按照合适的粒度对于时序数据进行聚合,如按照5分钟、10分钟等。