监控器
使用告警和异常检测中提供的功能,在 OpenSearch 中主动监控您的数据。例如,您可以将异常检测与告警配对,以确保在检测到异常时立即收到通知。您可以通过设置检测器来自动检测流数据中的异常值,并设置监控器在数据超出特定阈值时通过通知提醒您。
监控器类型
告警插件提供以下监控器类型:
- 按查询:运行查询并根据匹配条件生成告警通知。有关创建和使用此监控器类型的信息,请参阅按查询监控器。
- 按桶:运行查询,根据数据集中的聚合值评估触发器条件。有关创建和使用此监控器类型的信息,请参阅按桶监控器。
- 按集群指标:在集群上运行 API 请求以监控其健康状况。有关创建和使用此监控器类型的信息,请参阅按集群指标监控器。
- 按文档:运行查询(或通过标签组合的多个查询),返回与告警通知触发条件匹配的单个文档。有关创建和使用此监控器类型的信息,请参阅按文档监控器。
- 复合监控器:在一个工作流中运行多个监控器,并根据多个触发条件生成单个告警。有关创建和使用此监控器类型的信息,请参阅复合监控器。
您可以创建的监控器最大数量为 1,000。您可以通过使用集群设置 API 更新 plugins.alerting.monitor.max_monitors
设置来更改集群的默认最大告警数量。
监控器变量
下表列出了可用于自定义监控器的变量。
变量 | 数据类型 | 描述 |
---|---|---|
ctx.monitor | 对象 | 包含 ctx.monitor.name 、ctx.monitor.type 、ctx.monitor.enabled 、ctx.monitor.enabled_time 、ctx.monitor.schedule 、ctx.monitor.inputs 、triggers 和 ctx.monitor.last_update_time 。 |
ctx.monitor.user | 对象 | 包含创建监控器的用户信息。包括 ctx.monitor.user.backend_roles 和 ctx.monitor.user.roles ,它们是包含分配给用户的后端角色和角色的数组。有关更多信息,请参阅告警安全。 |
ctx.monitor.enabled | 布尔型 | 监控器是否启用。 |
ctx.monitor.enabled_time | 毫秒 | 监控器上次启用的 Unix 纪元时间。 |
ctx.monitor.schedule | 对象 | 包含监控器应运行的频率或时间表。 |
ctx.monitor.schedule.period.interval | 整数 | 监控器运行的间隔。 |
ctx.monitor.schedule.period.unit | 字符串 | 间隔的时间单位。 |
ctx.monitor.inputs | 数组 | 包含用于创建监控器的索引和定义的数组。 |
ctx.monitor.inputs.search.indices | 数组 | 包含监控器观察的索引的数组。 |
ctx.monitor.inputs.search.query | 不适用 | 用于定义监控器的定义。 |
下表列出了可用于监控器的其他变量。
变量 | 数据类型 | 描述 |
---|---|---|
ctx.results | 数组 | 一个包含一个元素的数组,例如 ctx.results[0] 。包含查询结果。如果触发器无法检索结果,此变量为空。请参阅 ctx.error 。 |
ctx.last_update_time | 毫秒 | 监控器上次更新的 Unix 纪元时间。 |
ctx.periodStart | 字符串 | 告警触发时段开始的 Unix 时间戳。例如,如果监控器每 10 分钟运行一次,则一个时段可能从 10:40 开始,到 10:50 结束。 |
ctx.periodEnd | 字符串 | 告警触发时段的结束时间。 |
ctx.error | 字符串 | 如果触发器无法检索结果或无法评估触发器(通常是由于编译错误或空指针异常),则显示错误消息。否则为 null。 |
ctx.alert | 对象 | 当前活动的告警(如果存在)。包括 ctx.alert.id 、ctx.alert.version 和 ctx.alert.isAcknowledged 。如果没有活动的告警,则为 null。仅适用于查询级别监控器。 |
ctx.dedupedAlerts | 对象 | 已触发的告警。OpenSearch 保留现有告警,以防止插件创建无限量的相同告警。仅适用于桶级别监控器。 |
ctx.newAlerts | 对象 | 新创建的告警。仅适用于桶级别监控器。 |
ctx.completedAlerts | 对象 | 不再持续的告警。仅适用于桶级别监控器。 |
bucket_keys | 字符串 | 监控器桶键值的逗号分隔列表。仅适用于 ctx.dedupedAlerts 、ctx.newAlerts 和 ctx.completedAlerts 。通过 ctx.dedupedAlerts[0].bucket_keys 访问。 |
parent_bucket_path | 字符串 | 触发告警的桶的父桶路径。通过 ctx.dedupedAlerts[0].parent_bucket_path 访问。 |