Prometheus监控可以通过智能检测算子算法自动地发现KPI时间序列数据中的异常波动,实现时间序列的异常检测,为后续的告警、自动止损、根因分析等提供决策依据,本文提供了Prometheus实例通过在Grafana大盘页面使用智能检测算子发现异常数据波动的操作方法。

检测Prometheus实例的异常数据波动

  1. 登录Prometheus控制台
  2. 在页面左上角选择目标地域,然后在Prometheus实例列表中单击目标实例名称对应的已安装大盘。
  3. 在左侧导航栏单击Explore图标,然后在左上角的Explore右侧下拉列表选择对应的数据源。
  4. Metrics下拉列表中选择目标指标,可查看当前指标正常的时序数据,例如目标指标为:
    arms_cms_collector_duration_seconds
    正常数据
  5. 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)。
    异常波动