Amazon OpenSearch Service 中的异常检测 - Amazon Opensearch Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

Amazon OpenSearch Service 中的异常检测

Amazon OpenSearch Service 中的异常检测通过使用 Random Cut Forest (RCF) 算法,几乎实时地自动检测 OpenSearch 数据中的异常。RCF 是一种无监督的机器学习算法,可对传入数据流的草图进行建模。该算法用于计算每个传入数据点的 anomaly gradeconfidence score 值。异常检测使用这些值来区分数据中的异常与正常变化。

您可以将异常检测插件与 在 Amazon OpenSearch Service 中配置警报 插件配对使用,以便在检测到异常后立即通知您。

异常检测可用于运行任何 OpenSearch 版本、Elasticsearch 7.4 或更高版本的域。除了 t2.microt2.small 以外的所有实例类型都支持异常检测。OpenSearch 文档中提供了该异常检测的完整文档,包括详细步骤和 API 说明。

先决条件

异常检测具有以下先决条件:

  • 异常检测需要 Opensearch 或 Elasticsearch 7.4 或更高版本。

  • 异常检测仅支持在 Elasticsearch 版本 7.9 和更高版本以及所有版本的 OpenSearch 中的访问权限的精细控制。在 Elasticsearch 7.9 之前,只有管理员用户可以创建、查看和管理检测器。

  • 如果您的域使用精细访问控制,则非管理员用户必须映射anomaly_read_access 角色,以查看检测器,或 anomaly_full_access 以便创建和管理探测器.

异常检测入门

要开始使用该功能,请选择 OpenSearch 控制面板中的异常检测

步骤 1:创建检测器

检测器即单个异常检测任务。您可以创建多个检测器,并且所有检测器可以同时运行,每个检测器分析来自不同来源的数据。

步骤 2:向检测器添加特征

特征就是检查是否存在异常的索引中的字段。检测器可以发现跨一个或多个特征的异常。必须为每个特征选择以下聚合之一:average()sum()count()min()max()

注意

count() 聚合方法仅在 OpenSearch 和 Elasticsearch 7.7 或更高版本中可用。对于 Elasticsearch 7.4,请使用如下所示的自定义表达式:

{ "aggregation_name": { "value_count": { "field": "field_name" } } }

聚合方法决定了是什么构成异常。例如,如果选择 min(),则检测器将着重根据特征的最小值查找异常。如果选择 average(),则检测器将根据特征的平均值查找异常。每个检测器最多可以添加五个特征。

您可以配置以下可选设置(在 Elasticsearch 7.7 及更高版本中可用):

  • 类别字段-使用 IP 地址、产品 ID、国家/地区代码等维度对数据进行分类或切片。

  • 窗口大小-设置要在检测窗口中考虑的数据流聚合间隔的数量。

设置要素后,预览样本异常并根据需要调整功能设置。

步骤 3:观察结果


                    异常检测仪表板上提供了以下可视化效果:
  • Live anomalies(实时异常)- 显示了过去 60 个间隔的实时异常结果。例如,如果间隔设置为 10,则显示过去 600 分钟的结果。此图表每 30 秒刷新一次。

  • Anomaly history(异常历史记录)- 图表采用相应的置信度绘制异常等级。

  • Feature breakdown(特征细分) - 根据聚合方法绘制特征。您可以更改检测器的日期和时间范围。

  • Anomaly occurrence(异常发生)- 显示了检测到的每个异常的 Start timeEnd timeData confidenceAnomaly grade

    如果您设置了类别字段,您会看到一个额外的热图图表,该图表将异常实体的结果相关联。选择填充的矩形可查看更详细的异常视图。

步骤 4:设置警报

要创建监视器以便在检测到任何异常情况时向您发送通知,请选择 Set up alerts (设置警报)。插件将您重定向到 Add monitor(添加监视器)页面,您可以在其中配置警报。