文档文档

聚合事件处理器

聚合事件处理器将多个事件聚合成一个事件。它订阅一个主题,并在定义的间隔内将发布的*消息聚合成一个聚合主题。

选项

以下聚合事件处理器选项可以在 处理程序文件中设置。

名称类型描述
interval持续时间聚合事件的频率。间隔必须以纳秒为单位指定。
topicstring将聚合事件发布到的主题。
messagestring一个模板字符串,其中 {{.Interval}}{{.Count}} 可用于构造有意义的消息。

示例:处理程序文件

id: handler-id
topic: topic-name
kind: aggregate
options:
  interval: 300000000000
  topic: agg_5m
  message: '{{.Count}} new events in the last {{.Interval}}'

使用聚合事件处理器

聚合事件处理器订阅一个主题,并在指定的时间间隔内聚合发布到该主题的消息。下面的 TICKscript cpu_alert.tick 会在 CPU 空闲使用率低于 10%(或 CPU 使用率高于 90%)时将警报发布到 cpu 主题。

cpu_alert.tick

stream
    |from()
      .measurement('cpu')
      .groupBy(*)
    |alert()
      .crit(lambda: "usage_idle" < 10)
      .topic('cpu')

使用以下命令添加并启用此 TICKscript

kapacitor define cpu_alert -tick cpu_alert.tick
kapacitor enable cpu_alert

创建一个新的处理程序文件 aggregated_cpu_alerts.yaml,使用 aggregate 事件处理器,该处理器订阅 cpu 主题,聚合过去 10 分钟的警报,并将聚合消息发布到一个新的 aggr_cpu 主题。处理程序文件可以是 YAML 或 JSON。

aggr_cpu_alerts.yaml

id: aggr_cpu_alerts_10m
topic: cpu
kind: aggregate
options:
  interval: 600000000000
  topic: aggr_cpu
  message: '{{.Count}} CPU alerts in the last {{.Interval}}'

添加处理程序文件

kapacitor define-topic-handler aggr_cpu_alerts_10m.yaml

聚合的 CPU 警报消息将每 10 分钟发布到 aggr_cpu 主题。关于聚合事件的进一步处理可以在 aggr_cpu 主题上配置。


此页面是否有帮助?

感谢您的反馈!


InfluxDB 3.8 新特性

InfluxDB 3.8 和 InfluxDB 3 Explorer 1.6 的主要增强功能。

查看博客文章

InfluxDB 3.8 现已适用于 Core 和 Enterprise 版本,同时发布了 InfluxDB 3 Explorer UI 的 1.6 版本。本次发布着重于操作成熟度,以及如何更轻松地部署、管理和可靠地运行 InfluxDB。

更多信息,请查看

InfluxDB Docker 的 latest 标签将指向 InfluxDB 3 Core

在 **2026 年 2 月 3 日**,InfluxDB Docker 镜像的 latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。

如果使用 Docker 来安装和运行 InfluxDB,latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。例如,如果使用 Docker 运行 InfluxDB v2,请将 latest 版本标签替换为 Docker pull 命令中的特定版本标签 — 例如

docker pull influxdb:2