文档文档

Kapacitor 发行说明

v1.8.2

新功能

  • 增强对 InfluxDB 3 的支持

v1.8.1

Dependency updates

  • 将 golang.org/x/oauth2 从 0.23.0 升级到 0.27.0
  • 将 Go 升级到 1.24.6

v1.8.0

Python 2 版的用户定义函数 (UDF) 已从 Kapacitor 1.7.7 开始弃用,并在本次发行版中移除。如果您在用户定义函数 (UDF) 中使用 Python 2,请在安装此版本的 Kapacitor **之前**将它们升级为兼容 Python 3。这项必需的更改符合现代安全实践,并确保您自定义的函数在升级后仍可正常工作。

Dependency updates

  • 将 Go 升级到 1.23.9。
  • 将 go-lang JWT 库升级到 4.5.2

v1.7.7

Python 2 UDF 已弃用

Python 2 版的用户定义函数 (UDF) **已从 Kapacitor 1.7.7 开始弃用,并将会在 Kapacitor 1.8.0 中移除。**

为准备 Kapacitor 1.8.0,请将您的用户定义函数 (UDF) 升级为兼容 Python 3。这项必需的更改符合现代安全实践,并确保您自定义的函数在升级后仍可正常工作。

Dependency updates

  • 将 Go 升级到 1.22.12。

v1.7.6

新功能

  • Kafka Handler 设置并发送 SASL 扩展。
  • Kafka Handler SASL OAUTH 令牌刷新。

Bug 修复

  • 使用 UTC 时区进行警报级别设置。

Dependency updates

  • 将 Go 升级到 1.22.7。

v1.7.5

Dependency updates

  • 将 Go 升级到 1.21.10。

v1.7.4

Dependency updates

  • aws-sdk-go 升级到 1.51.12。
  • 将 Go 升级到 1.21.9。
  • golang.org/x/net 从 0.17.0 升级到 0.23.0。

v1.7.3

Bug 修复

  • 不要迁移 ID 为空的事件。

其他

  • 将 Go 升级到 1.21.8
  • google.golang.org/protobuf 升级到 1.33.0
  • github.com/docker/docker 升级到 24.0.9

v1.7.2

  • 将 Go 升级到 1.20.13
  • google.golang.org/grpc 升级到 1.56.3
  • github.com/docker/docker 升级到 24.0.7

v1.7.1

Bug 修复

  • 安全修复:(CVE-2023-44487: HTTP/2 快速重置攻击)

v1.7.0

新功能

  • 更新主题存储以允许增量更新。

v1.6.6

新功能

  • 使用 [auth] meta-internal-shared-secret 配置参数添加 JWT 元 API 身份验证。

Bug 修复

  • 通过实现 WritePointsPrivileged 来支持 InfluxDB 1.9.6 和 OpenTSB

v1.6.5

新功能

  • 能够在 TICKScript lambda 中生成随机数。
  • 更新 InfluxQL 以兼容 v.1.9.x。

Bug 修复

  • 更新 Kafka 客户端以修复有关写入延迟的错误。
  • 更新至 Flux v0.171.0 以修复“interface {} is nil, not string”问题。

v1.6.4

新功能

  • Kafka 警报添加 SASL 支持。

Bug 修复

  • 完全弃用 DES 加密套件、RC4 加密套件以及 TLS 1.1 和 1.0 加密套件。
  • 调整 Flux 注入的依赖项,以便可以无障碍地下载大型数据集。

v1.6.3

新功能

  • Alerta 事件处理器中添加对自定义 attributes 字段的支持。
  • BigPanda 事件处理器添加 hostattribute 选项
    • host:标识导致警报的主要对象。
    • attribute:向警报负载添加额外的属性。
  • 向 BigPanda 节点添加新的 auto-attributes 配置选项。
  • 能够直接在 env var 配置中向 HTTP POST 请求添加新标头。
  • Topic queue length (主题队列长度) 现在可配置。这允许您在 Kapacitor 配置文件中 alert 部分设置 topic-buffer-length 参数。默认值为 5000。最小长度为 1000。
  • 向电子邮件警报添加新的 address template。电子邮件地址不再需要硬编码;可以直接从数据派生。

Bug 修复

  • 为响应 sweet32 攻击,弃用被识别为“弱”的加密套件。
  • 向错误消息 missing flux data 添加额外详细信息。当在批处理 TICKscript 中运行 Flux 查询时出现问题时,会生成此错误。

v1.6.2

新功能

  • template-id 属性添加到 GET /kapacitor/v1/tasks 请求响应。添加此属性有助于识别由 模板创建的任务。
  • 对于警报模板、行模板和详细信息模板,添加对拒绝标准 json (以新行字符结尾) 的第三方服务的支持,方法是压缩模板中的 json。为此,请在模板中将 {{ json . }} 替换为 {{ jsonCompact . }}。(此更改还将压缩 Big Panda 警报详细信息,以避免 Panda 服务错误。)

Bug 修复


v1.6.1

新功能

  • 为某些事件处理器和节点添加了用于限制 CIDR 范围的标志。
  • 添加用于禁用警报处理器的标志以增加安全性(例如,在共享机器上禁用 exec 警报处理器)。

Bug 修复

  • 使 DeleteGroupMessageGroupInfo 接口对齐。
  • 修复 BigPanda 的负载序列化。

v1.6.0

Kapacitor 1.6.0 存在一个可能导致内存泄漏和泄露敏感信息的缺陷。如果您安装了此版本,请升级到 **Kapacitor v1.6.1**。

Kapacitor 1.6 引入了 Flux 任务支持。使用 Flux 任务来调度和运行针对 InfluxDB 1.x 数据库的 Flux 任务,或分载 InfluxDB (1.x, 2.x, and Cloud) 的 Flux 查询负载。更多信息,请参阅 使用 Flux 任务

用户身份验证和授权(之前仅在 Kapacitor Enterprise 中支持)现已在 Kapacitor 1.6 中可用。要求用户身份验证才能与 Kapacitor API 进行交互。

重大更改

Kapacitor 1.6+ 不再支持 32 位操作系统。如果您使用的是 32 位操作系统,请继续使用 Kapacitor 1.5.x。

新功能

Bug 修复

  • 修复启用调试模式时刮擦器处理器中的 panic。

v1.5.9

新功能

新事件处理器

新配置选项

  • Alerta 事件处理器添加对 correlate 选项的支持,感谢 @nermolaev!
  • details 选项添加到 OpsGenie v2 事件处理器;将此选项设置为 true 可使用 Kapacitor 警报详细信息作为 OpsGenie 描述文本,感谢 @JamesClonk!

SideLoadNode 中对 HTTP 源的支持

  • SideloadNode 配置中添加对 HTTP 的支持,感谢 @jregovic!

性能和安全改进

  • 添加 InfluxDB subscription-path 选项,允许 Kapacitor 在反向代理后面运行,感谢 @aspring!有关更多信息,请参阅 Kapacitor 到 InfluxDB 的通过 HTTP API 进行的 TLS 配置中的示例。
  • 默认情况下,将数据发送到 InfluxDB 时进行 gzip 压缩。虽然此默认配置未在 Kapacitor 配置文件中显示,但您可以将 compression = "none" 添加到 Kapacitor 配置文件中 InfluxDB 部分
  • 预分配 GroupIDs 以通过减少分配来提高性能。

杂项事件更新

  • eventActionresolve 时,将完整的事件负载发送到 Pagerduty,感谢 @asvinours!
  • Microsoft Teams 警报添加默认颜色主题,感谢 @NoamShaish!
  • FlattenNode 添加屏障处理,以确保点成功发出。

Bug 修复

  • 确保使用 influx gzip 的大型批次写入完全写入 InfluxDB。
  • 将 ServiceNow 处理器的函数节点名称更新为驼峰式。
  • 修复 JoinNodeUnionNode 中的内存泄漏。
  • 避免在关闭 Kafka 写入器时无限期挂起,并防止在通过 http 更新 Kafka 配置文件 (kapacitor.conf) 时发生的超时错误。
  • 删除对 darwin/386 构建的支持(Go 不再支持)。
  • 将警报处理器匹配函数 duration() 重命名为 alertDuration(),以避免与同名类型转换函数发生名称冲突。

v1.5.8

如果您安装了此版本,请尽快回滚到 v1.5.7。此版本引入了一个缺陷,即大型批处理任务无法将所有点完全写入 InfluxDB。这主要影响到将信息写入另一个保留策略的降采样任务。如果源保留策略较短,则源数据可能会过期,而降采样可能从未完全写入。


v1.5.7

新功能

  • .recoveryaction() 方法添加了以支持在 TICKscript 中覆盖 OpsGenieV2 警报恢复操作,感谢 @zabullet!
  • 添加对 httpPost 节点alert 节点中模板化 URL 的支持。设置模板
  • 升级 github.com/gorhill/cronexpr,感谢 @wuguanyu!
  • 添加 ServiceNow 事件处理器以支持 ServiceNow 集成并提供代理支持。

Bug 修复

  • 在系统未能读取回放文件时添加错误检查,感谢 @johncming!
  • 将缺失的 .Details 添加到警报模板中。

v1.5.6

新功能

Bug 修复

  • 修复 UDF 代理 Python 3.0 问题,感谢 @elohmeier!
  • 添加 scraper_test 包以修复发现服务丢失配置 (discovery.Config),感谢 @flisky!
  • 使用 systemd 处理 Amazon Linux 2。
  • 修复 .hooks/pre-commit 文件中 go vet 调用错误,该错误导致钩子失败,感谢 @mattnotmitt!
  • 更新 build.py 以支持 arm64,感谢 @povlhp!
  • 在为 Ticker 设置零间隔时修复 panic,这会影响 deadman 和 stats 节点。
  • 修复 int 除以零时的 panic,并返回错误。
  • 修复导致 Kapacitor 忽略 pushover().userKey('') TICKScript 操作的问题。

v1.5.5

重大更改

  • 将发行版校验和(用于验证发行版位未被篡改)从 MD5 (Message Digest, 128 位摘要) 更新为 SHA-256 (Secure Hash Algorithm 2, 256 位摘要)。

Bug 修复

  • 更新 Kafka 客户端以确保错误被添加到 Kapacitor 日志中。

v1.5.4

新功能

  • 添加在指定 MQTT (Message Queue Telemetry Transport) 主题时使用模板的功能。
  • 升级以支持用户定义函数 (UDF) 的 Python 3.0。

Bug 修复

  • 升级 Kafka 库以正确设置时间戳。
  • 升级到 Go 1.13,修复各种 go vet 问题。

v1.5.3

身份验证和共享密钥

如果您使用 Kapacitor v1.5.3 或更新版本以及启用了 身份验证的 InfluxDB,请在 kapacitor.conf 中将 [http].shared-secret 选项设置为您的 InfluxDB 实例的共享密钥。

# ...
[http]
  # ...
  shared-secret = "youramazingsharedsecret"

如果未设置、设置为空字符串或与 InfluxDB 的 shared-secret 不匹配,则与 InfluxDB 的集成将失败,Kapacitor 也不会启动。Kapacitor 会输出类似以下的错误

kapacitord[4313]: run: open server: open service *influxdb.Service: failed to link subscription on startup: signature is invalid

重要更新

  • 一些客户报告了大量 CLOSE_WAIT 连接。升级到此版本以解决此问题。

新功能

  • 添加在警报 POST 节点时跳过 SSL 验证的功能。
  • 添加 TLS 配置选项。

Bug 修复

  • 一致使用默认传输。
  • 修复 barrier 节点在删除时发生的死锁。
  • 在安装时使 RPM 创建具有正确所有权的文件的。
  • 删除已删除组的组统计信息。
  • 在构建 GroupID 时避免额外的分配。

v1.5.2

新功能

  • 为 JoinNode 添加 barrier 节点支持。
  • 使用 BarrierNode 添加过期组的功能。
  • 将 alert/persist-topics 添加到配置中。
  • 向 ChangeDetectNode 添加多个字段支持。
  • 向 PagerDuty v2 警报添加链接。
  • 向 Sensu 警报添加其他元数据。

Bug 修复

  • 修复 join 在数据流暂停后未能快速跟上的问题。

v1.5.1

Bug 修复

  • pagerduty2 应使用 routingKey 而不是 serviceKey
  • 修复 KafkaTopic 在 TICKscript 中不起作用的问题。
  • 提高 Kafka 警报吞吐量。

v1.5.0

新功能

  • 添加警报抑制器,允许警报抑制来自其他匹配警报的事件。
  • 配置格式已更新,以允许一个以上的 Slack 配置。
  • 添加了一个新的 Kapacitor 节点 changeDetect,该节点为每次系列字段更改时发出一个值。
  • 在 JSON 警报响应中添加 recoverable 字段,以指示警报是否会自动恢复。
  • 更新 OpsGenie 集成以使用 v2 API。要升级到使用新 API,只需更新您的配置和 TICKscript 以使用 opsgenie2 而不是 opsgenie。如果您的 opsgenie 配置使用了 recovery_url 选项,则对于 opsgenie2,您需要将其更改为 recovery_action 选项。这是因为新的 v2 API 的结构不是静态 URL,因此只能定义操作而不能定义整个 URL。
  • 向 httpd 配置添加 https-private-key 选项。
  • 向所有节点添加 .quiet 以静默节点报告的任何错误。
  • 添加 Kafka 事件处理器。

Bug 修复

  • Kapacitor tick 生成哈希而不是其给定的实际名称。
  • 修复负载服务中任务出现错误时的死锁。
  • 支持 PagerDuty API v2。
  • 修复无法删除与主题名称相同的 Topic Handler 的错误。
  • 调整 PagerDuty v2 服务测试名称并捕获详细错误消息。
  • 修复 Kafka 配置。

v1.4.1

Bug 修复

  • 修复使用 var 进行 stream/batch 时任务类型无效的错误

v1.4.0

Release notes

Kapacitor v1.4.0 增加了许多新功能,此处重点介绍

  • 为从 dir 添加主题处理器、任务和模板添加目录服务。
  • 结构化日志记录,具有可用于跟踪指定任务日志的日志 API 端点。
  • 对 Docker Swarm 和 AWS EC2 的自动扩展支持。
  • 将数据侧载到您的 TICKscript 流中,数据来自外部源。
  • 为警报 Post 处理器和 HTTP Post 节点提供完全可定制的 HTTP Post 正文。

重大更改

更改内部 API 以使用消息传递语义。

CombineFlatten 节点先前(错误地)跨批次边界运行:此问题已修复。

新功能

  • 添加了用于从 dir 加载主题处理器、任务和模板的服务。
  • 主题处理器文件格式已修改,包含 TopicID 和 HandlerID。
  • TICKscript 现在允许仅通过 TICKscript 定义任务描述。
  • 任务类型(批处理或流)不再必须指定。
  • dbrp 表达式已添加到 TICKscript 中。
  • 添加了对 AWS EC2 自动扩展服务的支持。
  • 添加了对 Docker Swarm 自动扩展服务的支持。
  • 添加了 BarrierNode 以定期发出 BarrierMessage
  • 添加了 Previous 状态。
  • 添加了持久化回放状态的功能,使其在完成后仍然存在。
  • 添加了 alert.posthttps_post 超时,以确保挂起的连接得到清理。
  • 为 InfluxDB 订阅添加了订阅模式。
  • QueryNode 添加了线性填充支持。
  • 添加了 MQTT 警报处理器。
  • 添加了内置函数,用于将时间戳转换为整数。
  • 向 UDF 添加了 bools 字段类型。
  • 添加了无状态 now() 函数以获取当前本地时间。
  • 为 Alerta AlertNode 添加了对超时、标签和服务模板的支持。
  • 通过模板系统添加了对自定义 HTTP Post 正文的支持。
  • 添加了支持,允许在使用 HTTP Post 时将 HTTP 状态码作为字段添加。
  • 添加了 logfmt 支持并重构了日志记录。
  • 添加了通过 API 公开日志的支持。API 作为技术预览发布。
  • 为 Alert Message 属性添加了对 {{ .Duration }} 的支持。
  • 为流式 HTTP 日志添加了对 JSON Lines 的支持。
  • 添加了新的 Sideload 节点,允许将文件中的数据加载到数据流中。数据可以按层次结构加载。
  • 将 Alert API 提升到稳定的 v1 路径。
  • WARN 级别日志更改为 INFO 级别。
  • 将 Go 版本更新到 1.9.2。

Bug 修复

  • 修复了日志 API 检查错误的内容类型标头的问题。
  • 修复了 VictorOps 的“data”字段是字符串而不是实际 JSON 的问题。
  • 修复了 MQTT.toml 配置生成时的 panic。
  • 修复了 MQTT 和 HTTPpost 生成的 TOML 格式不正确的问题。
  • 处理 Idle Barrier 在源时钟偏移时丢弃所有消息的问题。
  • 处理 Kapacitor 在 Windows x64 上启动录制时的崩溃问题。
  • 允许 define-topic-handler 使用 .yml 文件扩展名。
  • 修复 HTTP 服务器错误日志记录。
  • 修复了停止正在运行的 UDF 代理的错误。
  • 修复了函数参数缺失字段的错误消息不清晰的问题。
  • 修复了 PagerDuty 测试中需要服务器信息的错误。
  • 为 SNMP Trap 服务添加了 SNMP sysUpTime。
  • 修复了使用 HTTPPostHandler 进行录制回放时的 panic。
  • 修复了 Kubernetes 集群内主 API DNS 解析问题。
  • 服务器退出后删除 pidfile。
  • 日志 API 写入多个 HTTP 标头。
  • 修复了 RPM 包中的缺失依赖项。
  • 强制 tar 所有者/组在安装时为 root
  • 修复了在非 systemd 的 Debian/Ubuntu 系统上安装/卸载 Kapacitor 的问题。
  • 修复了包装器,使其不在 RHEL 系统上启用服务。
  • 修复了 systemd 系统上递归符号链接的问题。
  • 修复了无效的默认 MQTT 配置。

v1.3.3

Bug 修复

  • 如果启用了 pprof,则无身份验证地暴露 pprof。

v1.3.2

Bug 修复

  • 在 PagerDuty 中使用警报节点中的 details 字段。

v1.3.1

Bug 修复

  • 从环境代理向 Slack 发送 HTTP 请求
  • 修复 derivative 节点在流任务中保留前一个点字段的问题

v1.3.0

发行说明

本次发行版有两个主要功能。

  1. 增加了用于收集 Prometheus 样式的数据的抓取和发现。
  2. 更新了警报主题系统。

以下是如何配置 Kapacitor 来抓取已发现目标的快速示例。首先,配置一个发现器,这里我们使用文件发现器。接下来,配置一个抓取器来使用该发现器。

# Configure file discoverer
[[file-discovery]]
 enabled = true
 id = "discover_files"
 refresh-interval = "10s"
 ##### This will look for prometheus json files
 ##### File format is here https://prometheus.ac.cn/docs/operating/configuration/#%3Cfile_sd_config%3E
 files = ["/tmp/prom/*.json"]

# Configure scraper
[[scraper]]
 enabled = true
 name = "node_exporter"
 discoverer-id = "discover_files"
 discoverer-service = "file-discovery"
 db = "prometheus"
 rp = "autogen"
 type = "prometheus"
 scheme = "http"
 metrics-path = "/metrics"
 scrape-interval = "2s"
 scrape-timeout = "10s"

将上述代码片段添加到您的 kapacitor.conf 文件中。

将以下代码片段创建为文件 /tmp/prom/localhost.json

[{
 "targets": ["localhost:9100"]
}]

在本地启动 Prometheus node_exporter

现在,启动 Kapacitor,它将发现 localhost:9100node_exporter 目标并开始为其抓取指标。有关抓取和发现系统的更多详细信息,请参阅 此处的完整文档。

本次发行版的第二个主要功能是对警报主题系统进行的更改。上一个发行版将此新系统作为技术预览发布,在此发行版中,警报服务已得到简化。警报处理器现在只有一个操作,并且属于一个主题。

因此,处理器定义已得到简化。以下是一些使用新结构的示例警报处理器

id: my_handler
kind: pagerDuty
options:
  serviceKey: XXX
id: aggregate_by_1m
kind: aggregate
options:
  interval: 1m
  topic: aggregated
id: publish_to_system
kind: publish
options:
  topics: [ system ]

要定义一个处理器,您现在必须指定该处理器属于哪个主题。例如,要在 system 主题上定义上述聚合处理器,请使用此命令

kapacitor define-handler system aggregate_by_1m.yaml

有关警报系统的更多详细信息,请参阅 此处的完整文档。

重大更改

修复了来自警报的 JSON 数据不一致的问题。

The alert handlers Alerta, Log, OpsGenie, PagerDuty, Post and VictorOps allow extra opaque data to beattached to alert notifications.
That opaque data was inconsistent and this change fixes that.
Depending on how that data was consumed this could result in a breaking change, since the original behavior
was inconsistent we decided it would be best to fix the issue now and make it consistent for all future builds.
Specifically in the JSON result data the old key `Series` is always `series`, and the old key `Err` is now
always `error` instead of for only some of the outputs.

重构了警报服务。

The change is completely breaking for the technical preview alerting service, a.k.a. the new alert topic
handler features. The change boils down to simplifying how you define and interact with topics.
Alert handlers now only ever have a single action and belong to a single topic.
An automatic migration from old to new handler definitions will be performed during startup.
See the updated API docs.

向每种节点类型添加了通用错误计数器。

Renamed `query_errors` to `errors` in batch node.
Renamed `eval_errors` to `errors` in eval node.

UDF 代理 Go API 已更改。

The changes now make it so that the agent package is self contained.

修复了 derivative 节点中缺失字段的 bug。

The behavior of the node changes slightly in order to provide a consistent fix to the bug.
The breaking change is that now, the time of the points returned are from the right hand or current point time,
instead of the left hand or previous point time.

新功能

  • 允许指定 Sensu 处理器。
  • 为 Kapacitor 函数添加了类型签名。
  • 添加了 isPresent 运算符,用于验证值是否存在(作为 #1284 的一部分)。
  • 添加了 Kubernetes 抓取支持。
  • flatten 添加了 groupBy excludedropOriginalFieldName
  • 添加了 KapacitorLoopback 节点,以便能够将任务中的数据发送回 Kapacitor。
  • 向警报 POST 请求添加了标头。
  • Slack 服务中的 TLS 配置,以兼容 Mattermost。
  • 添加了通用 HTTP Post 节点。
  • 在警报模板中公开服务器特定信息。
  • 添加了 Pushover 集成。
  • 向每种节点类型添加了 working_cardinality 统计信息,用于跟踪每个节点中的组数。
  • 添加了 StateDuration 节点。
  • HipChat 默认 URL 应为空。
  • 添加用于执行 Kapacitor 数据库备份的 API 端点。
  • 将 sensu 警报的源作为参数添加。
  • 添加了用于指标收集(拉取模型)的发现和抓取服务。
  • 将 Go 版本更新到 1.7.5。

Bug 修复

  • 修复了 Kubernetes 部分中损坏的 ENV 变量配置覆盖。
  • 在修改之前复制批处理点切片,修复了潜在的 panic 和数据损坏。
  • 默认情况下,将 Prometheus 指标名称用作抓取数据的度量名称。
  • 修复了刮擦器配置更新可能发生的死锁。
  • 修复了状态跟踪节点中并发写入相同点的 panic。
  • 简化了静态发现配置。
  • 修复了 InfluxQL 节点中缺失字段的 panic。
  • 修复了 stateDuration 和 stateCount 节点中缺失的 working_cardinality 统计信息。
  • 修复了抓取 TargetManager 中的 panic。
  • 对所有出站 HTTP 流量使用 ProxyFromEnvironment。
  • 修复了批处理查询在第一个 nil 字段之后丢失所有字段的 bug。
  • 修复 Telegram parseMode 值的大小写敏感性。
  • 修复 pprof 调试端点。
  • 修复了配置 API 更新配置节时的挂起问题。现在,如果服务更新过程花费时间过长,请求将超时并返回错误。之前请求会永远阻塞。
  • 使 Alerta 认证令牌前缀可配置,并默认为 Bearer。
  • 修复了 logrotate 文件以正确轮换错误日志。
  • 修复了在恢复警报状态后警报持续时间不正确的 bug。
  • 修复了解析带引号的 dbrp 值的 bug。
  • 修复了加载没有文件扩展名的回放文件时的 panic。
  • 修复了 Default Node 未更新批次标签和 groupID 的 bug。此外,标签值中的空字符串现在是应用默认条件的充分条件。有关更多信息,请参阅 #1233
  • 修复了 dot 视图语法以使用 xlabels 并且不创建无效的引号。
  • 修复了删除所有录制后录制列表损坏的问题。
  • 修复了列出任务时缺失“vars”键的问题。
  • 修复了聚合无法更改类型的 bug。
  • 修复了进程无法 stat 数据目录时的 panic。

v1.2.0

发行说明

引入了一个新的处理警报的系统。这个警报系统允许您为警报事件配置主题,然后为各种主题配置处理器。这样,警报生成就与警报处理分开了。

现有的 TICKscript 将继续工作,无需修改。

要使用这个新的警报系统,请从您的 TICKscript 中移除任何显式的警报处理器,并指定一个主题。然后为该主题配置处理器。

stream
    |from()
      .measurement('cpu')
      .groupBy('host')
    |alert()
      // Specify the topic for the alert
      .topic('cpu')
      .info(lambda: "value" > 60)
      .warn(lambda: "value" > 70)
      .crit(lambda: "value" > 80)
      // No handlers are configured in the script, they are instead defined on the topic via the API.

API 暴露了用于查询每个警报状态的端点以及用于配置警报处理器的端点。有关更多详细信息,请参阅 API 文档。kapacitor CLI 已更新,增加了定义警报处理器的命令。

此版本引入了一个新功能,您可以通过点数而不是时间来分窗。例如

stream
    |from()
        .measurement('my-measurement')
    // Emit window for every 10 points with 100 points per window.
    |window()
        .periodCount(100)
        .everyCount(10)
    |mean('value')
    |alert()
         .crit(lambda: "mean" > 100)
         .slack()
         .channel('#alerts')

通过此更改,警报节点将有一个为它们创建的匿名主题。此主题与所有其他主题一样进行管理,跨重启保留状态等。因此,现有的警报节点将在重启和禁用/启用任务后记住警报的状态。

注意:新的警报功能以技术预览的形式发布。这意味着在功能被视为完整之前,后续版本中可能会进行破坏性更改。有关此功能如何影响 API 的具体信息,请参阅 API 文档中的技术预览部分

新功能

  • 添加新的查询属性,用于将按间隔分组的间隔对齐到开始时间。
  • 添加新的警报 API,支持配置处理器和主题。
  • 将 alerta API token 移至标头,并添加跳过 TLS 验证的选项。
  • 添加 SNMP trap 服务用于警报。
  • 向 Window 节点添加 fillPeriod 选项,以便第一个发出在等待了该周期之后才发出。
  • 现在,当 Window 节点中的所有值都为零时,窗口将在每个新点立即发出。
  • 跨重启和禁用/启用操作保留警报状态。
  • 现在您可以根据计数而不是时间进行分窗。
  • 在 Slack 附件中启用 markdown。

Bug 修复

  • 修复 Union 节点缓冲过多点数的问题。
  • 修复连接到 InfluxDB 时,启动失败的 panic。
  • 修复回放中的 panic。
  • logrotate.d 因文件模式错误而忽略 kapacitor 配置。
  • 修复聚合结果失败时的 panic。

v1.1.1

发行说明

Kapacitor 无变化,仅升级到 GoLang 1.7.4 以进行安全补丁。


v1.1.0

发行说明

新的 K8sAutoscale 节点,允许您根据 Kapacitor 消耗的任何指标自动扩展 Kubernetes 部署。例如,根据每秒请求数来扩展 myapp 部署

// The target requests per second per host
var target = 100.0

stream
    |from()
        .measurement('requests')
        .where(lambda: "deployment" == 'myapp')
    // Compute the moving average of the last 5 minutes
    |movingAverage('requests', 5*60)
        .as('mean_requests_per_second')
    |k8sAutoscale()
        .resourceName('app')
        .kind('deployments')
        .min(4)
        .max(100)
        // Compute the desired number of replicas based on target.
        .replicas(lambda: int(ceil("mean_requests_per_second" / target)))

已添加新的 API 端点,以便动态配置 InfluxDB 集群和警报处理器,而无需重新启动 Kapacitor 守护进程。除了动态配置服务的能力之外,还添加了用于测试可配置服务的 API 端点。有关更多详细信息,请参阅 API 文档

注意:查询节点的 connect_errors 统计信息已删除,因为客户端已更改,所有错误现在都计入 query_errors 统计信息。

新功能

  • 添加 Kubernetes 自动缩放节点。您现在可以通过 Kapacitor 自动缩放您的 Kubernetes 部署。
  • 添加用于动态覆盖配置部分的新 API 端点。
  • 升级到使用 GoLang 1.7
  • 添加用于测试服务集成的 API 端点。
  • 添加对 Slack 图标表情符号和自定义用户名的支持。
  • 使 Kapacitor 与 InfluxQL 1.1 中的可用函数保持同步。

Bug 修复

  • 修复了在 eval 表达式中未引用的字段列表会导致错误的 bug。
  • 修复订阅统计信息的数量。
  • 通过添加配置选项来设置默认保留策略,以解决与 InfluxDB 的不一致性。
  • 在 CLI 输出中对列进行排序并动态调整列宽。
  • 添加了缺失的 strLength 函数。

v1.0.2

Bug 修复

  • 修复了保存集群/服务器 ID 文件时错误被忽略的 bug。
  • 在启动时创建 data_dir(如果不存在)。

v1.0.1

新功能

  • 添加 TCP 警报处理器
  • 添加将警报消息设置为字段的功能
  • 向 InfluxDBOut 节点添加 .create 属性,设置为该属性将在任务开始时创建数据库和保留策略。
  • 在 TICKscript 中允许 duration / duration。
  • 添加对字符串操作函数的功能支持。
  • 为每个配置的 InfluxDB 集群添加设置特定 HTTP 端口和主机名的功能。

Bug 修复

  • 修复了默认配置文件中的拼写错误
  • 将 |log() 输出更改为 JSON 格式,使其具有自文档化的结构。
  • 修复了 TMax 和 Holt-Winters 方法的问题。
  • 修复了 TMax 和按时间分组的 bug。

v1.0.0

发行说明

Kapacitor v1.0.0 的首次发布。


此页面是否有帮助?

感谢您的反馈!


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