Watcher
编辑Watcher
编辑Kibana 告警提供了一组内置的操作和警报,这些操作和警报与 APM、指标、安全和正常运行时间等应用程序集成。您可以使用 Kibana 告警来检测不同 Kibana 应用程序中的复杂条件,并在满足这些条件时触发操作。有关更多信息,请参阅 告警和操作。
您可以使用 Watcher 来监视数据中的更改或异常,并执行必要的操作作为响应。例如,您可能希望
- 监视社交媒体,作为检测面向用户的自动化系统(如 ATM 或售票系统)故障的另一种方法。当某个区域的推文和帖子数量超过显着阈值时,通知服务技术人员。
- 监视您的基础设施,跟踪一段时间内的磁盘使用情况。当任何服务器在未来几天内可能耗尽可用空间时,打开一个帮助台工单。
- 跟踪网络活动以检测恶意活动,并主动更改防火墙配置以拒绝恶意用户。
- 监视 Elasticsearch,如果节点离开集群或查询吞吐量超过预期范围,则立即向系统管理员发送通知。
- 跟踪应用程序响应时间,如果页面加载时间超过 SLA 超过 5 分钟,则打开一个帮助台工单。如果 SLA 超出一个小时,则呼叫值班管理员。
所有这些用例都具有一些关键属性
- 相关数据或数据中的更改可以通过定期 Elasticsearch 查询来识别。
- 可以根据条件检查查询结果。
- 如果条件为真,则执行一个或多个操作 - 发送电子邮件、通知第三方系统或存储查询结果。
watch 的工作原理
编辑告警功能提供了一个 API,用于创建、管理和测试watch。一个 watch 描述一个单独的警报,并且可以包含多个通知操作。
一个 watch 由四个简单的构建块构成
- 计划
- 用于运行查询和检查条件的计划。
- 查询
- 作为条件输入的要运行的查询。Watch 支持完整的 Elasticsearch 查询语言,包括聚合。
- 条件
- 确定是否执行操作的条件。您可以使用简单条件(始终为真),或者使用脚本来处理更复杂的情况。
- 操作
- 一个或多个操作,例如发送电子邮件、通过 webhook 将数据推送到第三方系统或索引查询结果。
所有 watch 的完整历史记录都保存在 Elasticsearch 索引中。此历史记录跟踪每次触发 watch 的时间,并记录来自查询的结果、是否满足条件以及执行了哪些操作。