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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 Amazon Elasticsearch Service 中检测异常

Amazon Elasticsearch Service (Amazon ES) 中的异常检测使用随机森林砍伐 (RCF) 算法,可以近乎实时地自动检测 Elasticsearch 数据中的异常。RCF 是一种无监督的机器学习算法,可对传入数据流的草图进行建模。算法计算anomaly gradeconfidence score值。异常检测使用这些值来区分数据中的异常与正常变化。

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

异常检测的完整文档,包括详细步骤和 API 说明,请参阅Open Distro to Elasticsearch 文档.

Prerequisites

异常检测包含以下先决条件:

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

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

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

异常检测入门

要开始使用该功能,请在 Kibana 中选择 Anomaly Detection (异常检测)

第 1 步:创建检测器

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

第 2 步:为您的探测器添加功能

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

注意

这些区域有:count()聚合方法仅适用于 Elasticsearch 版本 7.7 及更高版本。对于 7.4 版本,请使用如下所示的自定义表达式:

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

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

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

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

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

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

第 3 步:观察结果


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

  • 异常历史记录-绘制具有相应置信度的异常等级。

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

  • 异常发生-显示Start timeEnd timeData confidence, 和Anomaly grade检测到的每个异常。

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

第 4 步:设置提醒

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