本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
教程:使用异常检测功能检测高 CPU 使用率
本教程演示如何在 Amazon OpenSearch Service 中创建异常检测器,以检测高 CPU 使用率。您将使用 OpenSearch 控制面板配置检测器以监控 CPU 使用率,并在 CPU 使用率超过指定阈值时生成警报。
注意
这些步骤适用于最新版本的 OpenSearch,与适用于过去版本的步骤可能略有不同。
先决条件
-
您的 OpenSearch Service 域必须运行 Elasticsearch 7.4 或更高版本,或者任何 OpenSearch 版本。
-
您必须将应用程序日志文件提取到包含 CPU 使用率数据的集群中。
步骤 1:创建检测器
首先,创建一个检测器,用于识别 CPU 使用率数据中的异常情况。
-
在 OpenSearch 控制面板中,打开左侧面板菜单,然后依次选择 Anomaly Detection(异常检测)、Create detector(创建检测器)。
-
将检测器命名为
high-cpu-usage
。 -
对于数据来源,选择包含要识别其中异常情况的 CPU 使用率日志文件的索引。
-
在您的数据中,选择 Timestamp field(时间戳字段)。您可以选择添加数据筛选条件。此数据筛选条件仅分析数据来源的子集,并减少不相关数据产生的噪音。
-
设置 Detector interval(检测器间隔)为 2 分钟。此间隔定义检测器收集数据的时间(按分钟间隔)。
-
在 Window delay(窗口延迟)中,添加 1-minute 延迟。此延迟会增加额外的处理时间,以确保窗口中的所有数据都存在。
-
选择下一步。在异常检测控制面板的检测器名称下,选择 Configure model(配置模型)。
-
对于 Feature name(功能名称),请输入
max_cpu_usage
。对于 Feature state(功能状态),请选择 Enable feature(启用功能)。 -
对于 Find anomalies based on(查找异常情况的依据),请选择 Field value(字段值)。
-
对于 Aggregation method(聚合方法),请选择
max()
。 -
对于 Field(字段),请选择数据中的字段,以检查是否存在异常情况。例如,其可能称为
cpu_usage_percentage
。 -
所有其他设置保留为默认值,然后选择 Next(下一步)。
-
忽略检测器任务设置并选择 Next(下一步)。
-
在弹出窗口中,选择启动检测器(自动或手动)的时间,然后选择 Confirm(确认)。
现在,检测器已配置完毕,在其初始化之后,您可以在检测器面板的 Real-time results(实时结果)部分查看 CPU 使用率的实时结果。Live anomalies(实时异常情况)部分会显示实时提取数据时发生的任何异常情况。
步骤 2:配置警报
现在,您已创建检测器,请创建监视器,该监视器会在检测到满足检测器设置中指定条件的 CPU 使用率时,调用警报以向 Slack 发送消息。当来自一个或多个索引的数据满足调用警报的条件时,您将收到 Slack 通知。
-
在 OpenSearch 控制面板中,打开左侧面板菜单,然后依次选择 Alerting(警报)、Create monitor(创建监视器)。
-
提供监视器名称。
-
对于 Monitor type(监视器类型),请选择 Per-query monitor(每个查询监视器)。每个查询监视器运行指定的查询并定义触发器。
-
对于 Monitor defining method(监视器定义方法),请选择 Anomaly detector(异常检测器),然后从 Detector(检测器)下拉菜单中选择您在之前部分中创建的检测器。
-
对于 Schedule(计划),请选择监视器收集数据的频率以及您接收警报的频率。在本教程中,请将计划设置为每 7 分钟运行。
-
在 Triggers(触发器)部分中,选择 Add trigger(添加触发器)。对于 Trigger name(触发器名称),请输入
High CPU usage
。在本教程中,对于 Severity level(严重性级别),请选择 1,这是最高的严重性级别。 -
对于 Anomaly grade threshold(异常等级阈值),请选择 IS ABOVE(超过)。在该菜单下的菜单中,选择要应用的等级阈值。在本教程中,请将 Anomaly grade(异常等级)设置为 0.7。
-
对于 Anomaly confidence threshold(异常置信阈值),请选择 IS ABOVE(超过)。在该菜单下的菜单中,输入与您的异常等级相同的数字。在本教程中,请将 Anomaly confidence threshold(异常置信阈值)设置为 0.7。
-
在 Actions(操作)部分中,选择 Destination(目标)。在 Name(名称)字段中,选择目标名称。在 Type(类型)菜单中,选择 Slack。在 Webhook URL 字段中,输入要接收警报的 Webhook URL。有关更多信息,请参阅 Sending messages using incoming webhooks
(使用传入 Webhook 发送消息)。 -
选择创建。