Grafana 发布异常检测功能
Grafana 在其机器学习工具包中发布了异常检测(Outlier Detection)功能,该功能可用于监控一组相似对象,并在其中某些对象的行为偏离正常范围时发出警报。
异常检测算法
Grafana 提供了两种异常检测算法:DBSCAN 和 MAD。
DBSCAN 算法
- 适用场景:适用于随时间一起移动或具有强烈趋势的数据序列。
- 工作原理:基于数据点的密度和距离进行聚类,如果序列中的数据点位于最重要的聚类之外,则会标记为异常。
- 特点:使用滚动窗口,正常行为的范围会随数据移动。
MAD 算法
- 适用场景:适用于所有组成员在一个稳定的正常行为范围内移动的情况。
- 工作原理:将每个时间戳的数据点与滚动24小时中位数进行比较,如果序列中的数据点超出选定的敏感度阈值,则会标记为异常。
- 特点:较少受到不同步事件(如实例在不同时间重启)的影响。
异常检测查询
- 功能:确定要比较的序列和基线组。
- 支持:支持任何包含三个或更多序列的指标查询。
- 设置:创建查询后,选择算法并设置敏感度。较高的敏感度将导致更多的异常和潜在警报。
警报功能
- 支持:通过 Grafana Alerting 发送警报。
- 默认行为:默认情况下,如果任何一个 pod 行为异常,警报将通知。
- 自定义规则:可以调整警报为基于聚合的异常规则。例如,可以设置规则,仅在超过10%的组行为异常时触发警报。
支持的数据源
Grafana 机器学习目前支持以下数据源:Prometheus、Graphite、Loki(仅限指标查询)、Postgres、InfluxDB、BigQuery、Snowflake、Splunk 和 Datadog。
使用限制
- 默认限制:每个异常检测器最多支持1000个序列,每个实例最多支持10个异常检测器。
- 扩展:Grafana 表示可以根据请求增加这些限制。
适用计划
异常检测功能对 Grafana Cloud 的 Pro、Advanced 或 Custom 计划用户免费提供。
支持渠道
用户可以在 Grafana Labs Slack 工作区的 #machine-learning 频道提出相关问题。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。