监控器
通过 Alerting(告警)和 Anomaly Detection(异常检测)中提供的功能,主动监控您在 UDB-SX 中的数据。例如,您可以将异常检测与告警配对,以确保在检测到异常时立即收到通知。您可以通过设置检测器来自动检测流式数据中的异常值,并设置监控器在数据超过特定阈值时通过通知提醒您。
监控器类型
Alerting 插件提供以下监控器类型:
per query(按查询):运行查询并根据匹配条件生成告警通知。有关创建和使用此监控器类型的信息,请参阅 按查询监控器。
per bucket(按桶):运行基于数据集中聚合值评估触发条件的查询。有关创建和使用此监控器类型的信息,请参阅 按桶监控器。
per cluster metrics(按集群指标):在集群上运行 API 请求以监控其健康状况。有关创建和使用此监控器类型的信息,请参阅 按集群指标监控器。
per document(按文档):运行查询(或由标签组合的多个查询),返回与告警通知触发条件匹配的单个文档。有关创建和使用此监控器类型的信息,请参阅 按文档监控器。
composite monitor(组合监控器):在单个工作流中运行多个监控器,并基于多个触发条件生成单个告警。有关创建和使用此监控器类型的信息,请参阅 组合监控器。
您可以创建的监控器的最大数量是 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 |
对象 | 已触发的告警。UDB-SX 保留现有告警以防止插件创建无限数量的相同告警。仅适用于桶级别的监控器。 |
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 访问。 |