日志事件处理器
日志事件处理器会将每个告警事件逐行写入指定的日志文件。如果指定的日志文件不存在,则会被创建。
选项
以下日志事件处理器选项可以在 处理程序文件 中设置,或在 TICKscript 中使用 .log() 时设置。
| 名称 | 类型 | 描述 |
|---|---|---|
| path | string | 日志文件的绝对路径。 |
| mode | int | 创建文件时使用的文件模式和权限。默认是 0600。必须包含前导 0 才能将值解释为八进制整数。 |
示例:处理程序文件
id: handler-id
topic: topic-name
kind: log
options:
path: '/tmp/alerts.log'
mode: 0644示例:TICKscript
|alert()
// ...
.log('/tmp/alerts.log')
.mode(0644)使用日志事件处理器
日志事件处理器可以在 TICKscript 和处理程序文件中使用,用于将消息记录到日志文件中。
从 TICKscript 记录消息
以下 TICKscript 使用 .log() 事件处理器,在空闲 CPU 使用率低于 10% 时,将消息记录到 /tmp/alerts.log 日志文件中。
log-cpu-alert.tick
stream
|from()
.measurement('cpu')
|alert()
.crit(lambda: "usage_idle" < 10)
.message('{{ .Time }}: CPU usage over 90%')
.log('/tmp/alerts.log')从已定义的处理程序记录消息
以下设置会将告警发送到 cpu 主题,消息为“’{{ .Time }}: CPU usage over 90%’”。添加了一个日志处理程序,该处理程序订阅 cpu 主题,并在新消息发布时将消息记录到 /tmp/alerts.log。
创建将警报消息发布到主题的 TICKscript。当空闲 CPU 使用率低于 10% 时,下面的 TICKscript 将警报消息发送到 cpu 主题。
cpu_alert.tick
stream
|from()
.measurement('cpu')
|alert()
.crit(lambda: "usage_idle" < 10)
.message('{{ .Time }}: CPU usage over 90%')
.topic('cpu')添加并启用 TICKscript
kapacitor define cpu_alert -tick cpu_alert.tick
kapacitor enable cpu_alert创建一个处理程序文件,该文件订阅 cpu 主题,并使用日志事件处理器将消息记录到 /tmp/alerts.log 日志文件中。
log_cpu_handler.yaml
id: log-cpu-alert
topic: cpu
kind: log
options:
path: '/tmp/alerts.log'添加处理器
kapacitor define-topic-handler log_cpu_handler.yaml此页面是否有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一员!我们欢迎并鼓励您对 Kapacitor 和本文档提供反馈和错误报告。要获取支持,请使用以下资源: