本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
异常检测
Amazon Prometheus 托管服务提供异常检测功能,该功能使用机器学习算法自动识别指标数据中的异常模式。此功能可帮助您主动检测潜在问题,减少警报疲劳,并通过关注真正的异常行为而不是静态阈值来提高监控效率。
Amazon Prometheus 托管服务中的异常检测使用随机砍伐森林 (RCF) 算法,该算法会分析您的时间序列数据以建立正常行为模式并识别与这些模式的偏差。该算法可适应季节性趋势,优雅地处理缺失的数据,并为检测到的异常提供置信度分数。
异常检测的工作原理
适用于 Prometheus 的 Amazon 托管服务异常检测使用机器学习来识别指标数据中的异常模式,无需手动配置阈值。该系统可以学习正常行为模式和季节性变化,从而减少误报并实现早期问题检测。它会不断适应应用程序的变化,使其适用于动态云环境。
异常检测监控应用程序性能指标,例如响应时间和错误率,通过 CPU 和内存使用情况跟踪基础架构运行状况,检测异常用户行为,通过流量分析确定容量规划需求,并监控业务指标以了解意外变化。它最适合可预测的模式、季节性变化或渐进的增长趋势。
随机砍伐森林 (RCF) 算法用于分析时间序列数据。RCF 创建决策树,用于划分数据空间并识别远离正态分布的孤立点。该算法从传入的数据中学习,为每个指标建立正常行为的动态模型。
启用后,它会分析历史数据以确定基线模式和季节性趋势,然后生成预期值的预测并识别偏差。该算法产生四个关键输出:
-
upper_band-预期正态值的上限
-
lower_band-预期正态值的下边界
-
s@@ c ore-表示数据点有多不寻常的数值异常分数
-
value-实际观察到的指标值
异常检测入门
要开始在 Prometheus 指标中使用异常检测,您需要足够的历史数据让算法学习正常模式。我们建议在启用异常检测之前至少保持 14 天的一致指标数据,以获得最佳结果。
您可以使用 PreviewAnomalyDetector API 预览异常检测将如何处理您的指标。用于PreviewAnomalyDetector根据历史数据测试算法并评估其有效性,然后再将其实施到生产监控中。有关更多信息,请参阅 PreviewAnomalyDetector API。
在实施异常检测时,请考虑以下最佳实践:
-
从稳定的指标开始 — 从具有一致模式的指标开始,一开始就避免数据高度不稳定或稀疏的数据。
-
使用聚合数据-将异常检测应用于聚合指标(例如平均值或总和),而不是原始的高基数数据,以提高性能和准确性。
-
调整灵敏度-根据您的特定用例以及误报与漏报异常的容忍度调整算法参数。
-
监控算法性能-定期检查检测到的异常,以确保算法随着系统的发展继续提供有价值的见解。