Kapacitor 事件处理程序
通过将 告警消息 发送给受支持的事件处理程序,Kapacitor 可以集成到监控系统中。目前,Kapacitor 可以将告警消息发送到特定的日志文件和 URL,以及许多第三方应用程序。
本文档概述了官方支持的 Kapacitor 事件处理程序的配置选项、安装说明、处理程序文件 以及 TICKscript 语法。
配置事件处理程序
大多数事件处理程序所需的和默认的配置选项都在您的 Kapacitor 配置文件 kapacitor.conf 中进行设置。其默认位置为 /etc/kapacitor/kapacitor.conf,但根据您的 Kapacitor 安装方式可能会有所不同。
许多事件处理程序提供了一些可以在 TICKscript 或处理程序文件中定义的选项,而有些则只能在处理程序文件中进行配置。这些可配置选项在每个处理程序的文档中都有说明。
添加并使用事件处理程序
如果适用,请在您的 kapacitor.conf 中启用事件处理程序。启用后,请执行以下任一操作:
注意:并非所有事件处理程序都可以在 TICKscripts 中使用。
使用处理程序文件创建主题处理程序
事件处理程序文件是一个简单的 YAML 或 JSON 文件,其中包含有关处理程序的信息。尽管许多处理程序可以在 TICKscript 中添加,但在 TICKscripts 中管理多个处理程序可能会很繁琐。处理程序文件允许您在 TICKscripts 之外添加和使用处理程序。对于某些类型的处理程序,使用处理程序文件是唯一的方法。
处理程序文件包含以下内容:
* 必需- * ID:处理程序的唯一标识符。
- * Topic:处理程序订阅的主题。
- Match:用于过滤匹配告警的 lambda 表达式。默认情况下,所有告警都匹配。了解更多关于 匹配表达式 的信息。
- * Kind:处理程序的类型。
- Options:由处理程序类型决定的可配置选项。如果未提供,则使用
kapacitor.conf中为该处理程序定义的默认值。
id: handler-id
topic: topic-name
match: changed()
kind: slack
options:
channel: '#oh-nos'添加处理器
使用 Kapacitor CLI 通过处理程序文件定义新处理程序
# Syntax
kapacitor define-topic-handler <handler-file-name>
# Example
kapacitor define-topic-handler slack_cpu_handler.yaml在 TICKscript 中使用处理程序
许多事件处理程序可以直接在 TICKscripts 中使用以发送事件。这通常适用于向第三方发送消息的处理程序。以下是一个使用 .slack() 事件处理程序将 CPU 告警发布到 Slack 的 TICKscript 示例:
stream
|from()
.measurement('cpu')
|alert()
.crit(lambda: "idle_usage" < 10)
.message('You better check your CPU usage.')
.slack()如果告警状态不是“OK”,或者告警刚刚从非“OK”状态恢复为“OK”状态,事件就会被发送到处理程序。使用 AlertNode.StateChangesOnly 属性,可以仅在告警状态发生变化时才向处理程序发送事件。
此页面是否有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一员!我们欢迎并鼓励您对 Kapacitor 和本文档提供反馈和错误报告。要获取支持,请使用以下资源: