可观测监控 Prometheus 版可以通过智能检测算子算法自动地发现KPI时间序列数据中的异常波动,实现时间序列的异常检测,为后续的告警、自动止损、根因分析等提供决策依据,本文介绍使用智能检测算子发现异常数据波动的操作方法。
检测Prometheus实例的异常数据波动
在左侧导航栏单击实例列表,进入可观测监控 Prometheus 版的实例列表页面。
在单击目标实例名称对应的grafana工作区。
在左侧导航栏单击图标(Explore),然后在左上角的Explore右侧下拉列表选择对应的数据源。
在Metrics下拉列表中选择目标指标,可查看当前指标正常的时序数据,例如目标指标为:
arms_cms_collector_duration_seconds
在Metrics右侧文本框输入以下PromQL查询语句示例,即异常检测算子。可检测出当前指标在某些时段的数据异常波动情况。
anomaly_detect(arms_cms_collector_duration_seconds[180m],3)
说明arms_cms_collector_duration_seconds:为上一步骤中的目标指标名称,请根据实际情况替换。
输入的PromQL查询语句数据类型必须是Range vector类型,因此需要在指标名称后增加时间范围“[180m]”,其中时间范围默认选择“[180m]”,参数默认选择“3”。如果提前执行了其他聚合函数操作,则需要将默认的时间范围选择变更为“[180m:]”,使其数据类型变为Range vector类型,例如:anomaly_detect(sum(node_memory_free_bytes)[180m:],3)。