教程:使用异常检测功能检测高 CPU 使用率 - 亚马逊 OpenSearch 服务
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

教程:使用异常检测功能检测高 CPU 使用率

本教程演示如何在 Amazon OpenSearch Service 中创建异常检测器,以检测高 CPU 使用率。您将使用 OpenSearch 控制面板配置检测器以监控 CPU 使用率,并在 CPU 使用率超过指定阈值时生成警报。

注意

这些步骤适用于最新版本的 OpenSearch,与适用于过去版本的步骤可能略有不同。

先决条件

  • 您的 OpenSearch Service 域必须运行 Elasticsearch 7.4 或更高版本,或者任何 OpenSearch 版本。

  • 您必须将应用程序日志文件提取到包含 CPU 使用率数据的集群中。

步骤 1:创建检测器

首先,创建一个检测器,用于识别 CPU 使用率数据中的异常情况。

  1. 在 OpenSearch 控制面板中,打开左侧面板菜单,然后依次选择 Anomaly Detection(异常检测)、Create detector(创建检测器)。

  2. 将检测器命名为 high-cpu-usage

  3. 对于数据来源,选择包含要识别其中异常情况的 CPU 使用率日志文件的索引。

  4. 在您的数据中,选择 Timestamp field(时间戳字段)。您可以选择添加数据筛选条件。此数据筛选条件仅分析数据来源的子集,并减少不相关数据产生的噪音。

  5. 设置 Detector interval(检测器间隔)为 2 分钟。此间隔定义检测器收集数据的时间(按分钟间隔)。

  6. Window delay(窗口延迟)中,添加 1-minute 延迟。此延迟会增加额外的处理时间,以确保窗口中的所有数据都存在。

  7. 选择下一步。在异常检测控制面板的检测器名称下,选择 Configure model(配置模型)。

  8. 对于 Feature name(功能名称),请输入 max_cpu_usage。对于 Feature state(功能状态),请选择 Enable feature(启用功能)。

  9. 对于 Find anomalies based on(查找异常情况的依据),请选择 Field value(字段值)。

  10. 对于 Aggregation method(聚合方法),请选择 max()

  11. 对于 Field(字段),请选择数据中的字段,以检查是否存在异常情况。例如,其可能称为 cpu_usage_percentage

  12. 所有其他设置保留为默认值,然后选择 Next(下一步)。

  13. 忽略检测器任务设置并选择 Next(下一步)。

  14. 在弹出窗口中,选择启动检测器(自动或手动)的时间,然后选择 Confirm(确认)。

现在,检测器已配置完毕,在其初始化之后,您可以在检测器面板的 Real-time results(实时结果)部分查看 CPU 使用率的实时结果。Live anomalies(实时异常情况)部分会显示实时提取数据时发生的任何异常情况。

步骤 2:配置警报

现在,您已创建检测器,请创建监视器,该监视器会在检测到满足检测器设置中指定条件的 CPU 使用率时,调用警报以向 Slack 发送消息。当来自一个或多个索引的数据满足调用警报的条件时,您将收到 Slack 通知。

  1. 在 OpenSearch 控制面板中,打开左侧面板菜单,然后依次选择 Alerting(警报)、Create monitor(创建监视器)。

  2. 提供监视器名称。

  3. 对于 Monitor type(监视器类型),请选择 Per-query monitor(每个查询监视器)。每个查询监视器运行指定的查询并定义触发器。

  4. 对于 Monitor defining method(监视器定义方法),请选择 Anomaly detector(异常检测器),然后从 Detector(检测器)下拉菜单中选择您在之前部分中创建的检测器。

  5. 对于 Schedule(计划),请选择监视器收集数据的频率以及您接收警报的频率。在本教程中,请将计划设置为每 7 分钟运行。

  6. Triggers(触发器)部分中,选择 Add trigger(添加触发器)。对于 Trigger name(触发器名称),请输入 High CPU usage。在本教程中,对于 Severity level(严重性级别),请选择 1,这是最高的严重性级别。

  7. 对于 Anomaly grade threshold(异常等级阈值),请选择 IS ABOVE(超过)。在该菜单下的菜单中,选择要应用的等级阈值。在本教程中,请将 Anomaly grade(异常等级)设置为 0.7

  8. 对于 Anomaly confidence threshold(异常置信阈值),请选择 IS ABOVE(超过)。在该菜单下的菜单中,输入与您的异常等级相同的数字。在本教程中,请将 Anomaly confidence threshold(异常置信阈值)设置为 0.7

  9. Actions(操作)部分中,选择 Destination(目标)。在 Name(名称)字段中,选择目标名称。在 Type(类型)菜单中,选择 Slack。在 Webhook URL 字段中,输入要接收警报的 Webhook URL。有关更多信息,请参阅 Sending messages using incoming webhooks(使用传入 Webhook 发送消息)。

  10. 选择创建

相关资源