Kapacitor 发行说明
v1.7.6
功能
- Kafka Handler 设置和发送 SASL 扩展。
- Kafka Handler SASL OAUTH 令牌刷新。
错误修复
- 使用 UTC 时区进行警报级别。
依赖项更新
- 将 Go 升级到 1.22.7。
v1.7.5
依赖项更新
- 将 Go 升级到 1.21.10。
v1.7.4
依赖项更新
- 将
aws-sdk-go
升级到 1.51.12。 - 将 Go 升级到 1.21.9。
- 将
golang.org/x/net
从 0.17.0 升级到 0.23.0。
v1.7.3
错误修复
- 不迁移 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
错误修复
- 安全修复:(CVE-2023-44487:HTTP/2 快速重置攻击)
v1.7.0
功能
- 更新主题存储以允许增量更新。
v1.6.6
功能
- 使用
[auth] meta-internal-shared-secret
配置参数添加 JWT 元 API 身份验证。
错误修复
- 通过实现
WritePointsPrivileged
来支持 InfluxDB 1.9.6 和 OpenTSB
v1.6.5
功能
- 为
TICKScript
lambda 生成随机数的能力。 - 更新
InfluxQL
以实现 v.1.9.x 兼容性。
错误修复
- 更新
Kafka
客户端以修复有关写入延迟的错误。 - 更新到 Flux v0.171.0 以修复“interface {} is nil, not string”问题。
v1.6.4
功能
- 为
Kafka
警报添加SASL
支持。
错误修复
- 完全弃用基于 DES 的密码、基于 RC4 的密码以及 TLS 1.1 和 1.0 密码。
- 调整注入的
Flux
依赖项,以便可以毫无问题地下载大型数据集。
v1.6.3
功能
- 在 Alerta 事件处理程序中添加对自定义
attributes
字段的支持。 - 向 BigPanda 事件处理程序添加
host
和attribute
选项host
:标识导致警报的主对象。attribute
:向警报有效负载添加其他属性。
- 向 BigPanda 节点添加新的
auto-attributes
配置选项。 - 能够直接在
env var
配置中向 HTTP Post 添加新标头。 Topic queue length
现在可配置。这允许您在 Kapacitor 配置文件的 alert 部分中设置topic-buffer-length
参数。默认值为 5000。最小长度为 1000。- 向电子邮件警报添加新的
address template
。电子邮件地址不再需要硬编码;可以直接从数据派生。
错误修复
- 弃用的密码被标识为响应 sweet32 攻击的“弱”密码。
- 向错误消息
missing flux data
添加更多详细信息。当在批处理 TICKscript 中运行 Flux 查询时出现问题时,会生成此错误。
v1.6.2
功能
- 向
GET /kapacitor/v1/tasks
请求响应添加template-id
属性。添加此属性有助于识别从 template 创建的任务。 - 对于警报模板、行模板和详细信息模板,通过压缩模板中的
json
,为拒绝标准json
(以换行符结尾)的第三方服务添加支持。为此,请在模板中将{{ json . }}
替换为{{ jsonCompact . }}
。(此更改还会压缩 Big Panda 警报详细信息,以避免 Panda 服务错误。)
错误修复
- 实现
expvar
字符串 json 编码以正确处理度量字符串中的特殊字符,感谢 @prashanthjbabu! - 在 Kapacitor 配置文件 的 InfluxDB 部分中将
disable-subscriptions
设置为true
时,正确验证连接的 InfluxDB 实例是否正在运行。如果 InfluxDB 不可用,Kapacitor 将不会启动。 - 更新
jwt
依赖项并切换到github.com/golang-jwt/jwt
以修复 CVE-2020-26160 漏洞。 - 切换任务服务以使用保留注释的 Flux 格式化程序。
v1.6.1
功能
- 添加标志以限制某些事件处理程序和节点的 CIDR 范围。
- 添加标志以禁用其他安全性的警报处理程序(例如在共享计算机上禁用
exec
警报处理程序)。
错误修复
- 使
DeleteGroupMessage
与GroupInfo
接口对齐。 - 修复 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 和 Cloud)卸载 Flux 查询负载。有关更多信息,请参阅 使用 Flux 任务。
用户身份验证和授权(以前仅在 Kapacitor Enterprise 中受支持)现在在 Kapacitor 1.6 中可用。与 Kapacitor API 交互需要用户身份验证。
重大更改
Kapacitor 1.6+ 不再支持 32 位操作系统。如果您使用的是 32 位操作系统,请继续使用 Kapacitor 1.5.x。
功能
- 提供 ARM 64 位构建。
- 将 Kapacitor Flux 任务命令 添加到
kapacitor
CLI。 - 添加内置 Flux 引擎以支持 Kapacitor 中的 Flux 任务。
- 为在批处理任务中使用 Flux 查询添加 QueryFluxNode。
- 添加 Zenoss 事件处理程序。
- 通过消息 ID 路由 Kafka 警报 到分区,并支持哈希策略配置。
- 添加基于用户的身份验证。
- 添加 TrickleNode 以将批处理转换为流。
- 更新 Slack 事件处理程序 以支持新样式的 Slack 应用程序。
- 在 joinNode 中处理删除消息。
错误修复
- 修复启用调试模式时 scraper 处理程序中的 panic。
v1.5.9
功能
新的事件处理程序
- 添加新的 BigPanda 事件处理程序。
新的配置选项
- 在 Alerta 事件处理程序中添加对
correlate
选项的支持,感谢 @nermolaev! - 向 OpsGenie v2 事件处理程序添加
details
选项;将此选项设置为true
以使用 Kapacitor 警报详细信息作为 OpsGenie 描述文本,感谢 @JamesClonk!
SideLoadNode 中对 HTTP 源的支持
- 在
SideloadNode
配置中添加对 HTTP sources 的支持,感谢 @jregovic!
性能和安全性改进
- 添加 InfluxDB
subscription-path
选项,以允许 Kapacitor 在反向代理后面运行,感谢 @aspring!有关更多信息,请参阅 通过 HTTP API 的 Kapacitor 到 InfluxDB TLS 配置 中的示例。 - 默认情况下,以
gzip
压缩的形式将数据发送到 InfluxDB。尽管此默认配置未出现在 Kapacitor 配置文件中,但您可以将compression = "none"
添加到 Kapacitor 配置文件的 InfluxDB 部分。 - 预分配
GroupIDs
以通过减少分配来提高性能。
各种事件更新
- 当
eventAction
为resolve
时,将完整事件有效负载发送到 Pagerduty,感谢 @asvinours! - 向 Microsoft Teams 警报添加默认颜色主题,感谢 @NoamShaish!
- 向 FlattenNode 添加屏障处理,以确保成功发出点。
错误修复
- 确保使用
influx
gzip 进行的大型批处理写入已完全写入 InfluxDB。 - 更新函数节点名称
ServiceNow
处理程序为 camelcase。 - 修复
JoinNode
和UnionNode
中的内存泄漏。 - 避免在关闭 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 集成并提供代理支持。
错误修复
- 当系统无法读取重播文件时添加错误检查,感谢 @johncming!
- 向警报模板添加缺少的
.Details
。
v1.5.6
功能
- 添加 Microsoft Teams 事件处理程序,感谢 @mmindenhall!
- 添加 Discord 事件处理程序,感谢 @mattnotmitt!
- 添加 对 TLS 1.3 的支持。
错误修复
- 修复 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(消息摘要,128 位摘要)到 SHA-256(安全哈希算法 2,256 位摘要)。
错误修复
- 更新 Kafka 客户端以确保将错误添加到 Kapacitor 日志。
v1.5.4
功能
- 添加在指定 MQTT(消息队列遥测传输)主题时使用模板的功能。
- 升级以支持用户定义的函数 (UDF) 的 Python 3.0。
错误修复
- 升级 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 的共享密钥不匹配,则与 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 配置选项。
错误修复
- 一致地使用默认传输。
- 修复使用 delete 时屏障节点中的死锁。
- 使 RPM 在安装时创建具有正确所有权的文件。
- 删除组被删除时的组统计信息。
- 避免在构建 GroupID 时进行额外的分配。
v1.5.2
功能
- 向 JoinNode 添加屏障节点支持。
- 添加使用 BarrierNode 过期组的功能。
- 向 config 添加 alert/persist-topics。
- 向 ChangeDetectNode 添加多字段支持。
- 添加指向 PagerDuty v2 警报的链接。
- 向 Sensu 警报添加其他元数据。
错误修复
- 修复在数据流暂停后 join 没有足够快地赶上的问题。
v1.5.1
错误修复
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 config 添加 https-private-key 选项。
- 向所有节点添加
.quiet
以静音节点报告的任何错误。 - 添加 Kafka 事件处理程序。
错误修复
- Kapacitor ticks 生成哈希而不是其实际给定的名称。
- 修复任务出错时负载服务中的死锁。
- 支持 PagerDuty API v2。
- 修复了无法删除与其主题同名的主题处理程序的问题。
- 调整 PagerDuty v2 服务测试名称并捕获详细的错误消息。
- 修复 Kafka 配置。
v1.4.1
错误修复
- 修复了当使用 var 作为 stream/batch 时任务类型无效的错误
v1.4.0
发行说明
Kapacitor v1.4.0 添加了许多新功能,此处重点介绍
- 用于从
dir
添加主题处理程序、任务和模板的加载目录服务。 - 结构化日志记录,带有可用于 tail 指定任务日志的日志记录 API 端点。
- 对 Docker Swarm 和 AWS EC2 的自动缩放支持。
- 将 SideLoad 数据从外部源加载到您的 TICKscript 流中。
- 警报 Post 处理程序和 HTTP Post 节点的完全可自定义的 HTTP Post 正文。
重大更改
将内部 API 更改为使用消息传递语义。
Combine
和 Flatten
节点以前(错误地)跨批处理边界运行:这已得到修复。
功能
- 添加了用于从
dir
加载主题处理程序、任务和模板的服务。 - 主题处理程序文件格式已修改为包括 TopicID 和 HandlerID。
- TICKscript 现在允许仅通过 TICKscript 进行任务描述。
- 任务类型(批处理或流)不再是必需的。
- 向 TICKscript 添加了
dbrp
表达式。 - 添加了对 AWS EC2 自动缩放服务的支持。
- 添加了对 Docker Swarm 自动缩放服务的支持。
- 添加了
BarrierNode
以定期发出BarrierMessage
。 - 添加了
Previous
状态。 - 添加了在重播完成后持久化重播状态的支持。
- 添加了
alert.post
和https_post
超时,以确保清理挂起的连接。 - 向 InfluxDB 订阅添加了订阅模式。
- 为
QueryNode
添加了线性填充支持。 - 添加了 MQTT 警报处理程序。
- 添加了用于将时间戳转换为整数的内置函数。
- 向 UDF 添加了
bools
字段类型。 - 添加了无状态
now()
函数以获取当前本地时间。 - 在 Alerta AlertNode 中添加了对超时、标签和服务模板的支持。
- 添加了通过模板系统支持自定义 HTTP Post 正文。
- 添加了支持,允许在使用 HTTP Post 时将 HTTP 状态代码添加为字段。
- 添加了
logfmt
支持并重构了日志记录。 - 添加了通过 API 公开日志的支持。API 作为技术预览发布。
- 在警报消息属性上添加了对
{{ .Duration }}
的支持。 - 添加了对 JSON 行 的支持,用于流式传输 HTTP 日志。
- 添加了新节点
Sideload
,允许将数据从文件加载到数据流中。可以使用层次结构加载数据。 - 将 Alert API 提升到稳定的 v1 路径。
- 将
WARN
级别日志更改为INFO
级别。 - 将 Go 版本更新到 1.9.2。
错误修复
- 修复了日志 API 检查错误标头以获取所需内容类型的问题。
- 修复了 VictorOps “data”字段是字符串而不是实际 JSON 的问题。
- 修复了
MQTT.toml
配置生成中的 panic。 - 修复了 MQTT 和 HTTPpost 的奇怪生成的 TOML。
- 解决了源具有时钟偏移时空闲屏障丢弃所有消息的问题。
- 解决了在 Windows x64 上启动录制时 Kapacitor 崩溃的问题。
- 允许在
define-topic-handler
中使用.yml
文件扩展名。 - 修复了 HTTP 服务器错误日志记录。
- 修复了停止正在运行的 UDF 代理的错误。
- 修复了缺少作为函数参数的字段的错误消息不明确的问题。
- 修复了错误的 PagerDuty 测试,该测试需要服务器信息。
- 向 SNMP Trap 服务添加了 SNMP sysUpTime。
- 修复了使用 HTTPPostHandler 重播录制时的 panic。
- 修复了 Kubernetes incluster master API DNS 解析。
- 在服务器退出后删除 pidfile。
- Logs API 写入多个 HTTP 标头。
- 修复了 RPM 包中缺少的依赖项。
- 强制 tar 所有者/组为
root
。 - 修复了在非 systemd Debian/Ubuntu 系统上安装/删除 Kapacitor 的问题。
- 修复了在 RHEL 系统上打包不启用服务的问题。
- 修复了 systemd 系统上递归符号链接的问题。
- 修复了无效的默认 MQTT 配置。
v1.3.3
错误修复
- 如果启用,则在没有身份验证的情况下公开 pprof。
v1.3.2
错误修复
- 在 PagerDuty 中使用来自警报节点的详细信息字段。
v1.3.1
错误修复
- 来自环境的代理,用于对 Slack 的 HTTP 请求
- 修复导数节点在流任务中保留先前点的字段
v1.3.0
发行说明
此版本有两个主要功能。
- 为 Prometheues 样式数据收集添加了抓取和发现。
- 更新了警报主题系统。
这是一个关于如何配置 Kapacitor 以抓取发现目标的快速示例。首先,配置一个发现器,这里我们使用 file-discovery 发现器。接下来,配置一个抓取器以使用该发现器。
# 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"]
}]
在本地启动 Prometheues node_exporter
。
现在,启动 Kapacitor,它将发现 localhost:9100
node_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 ]
要立即定义处理程序,您必须指定处理程序所属的主题。例如,要在系统主题上定义上述聚合处理程序,请使用以下命令
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.
修复了导数节点中缺少字段的错误。
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 抓取支持。
- 添加了
groupBy exclude
,并向flatten
添加了dropOriginalFieldName
。 - 添加了 KapacitorLoopback 节点,以便能够将数据从任务发送回 Kapacitor。
- 向警报 POST 请求添加了标头。
- Slack 服务中的 TLS 配置,用于 Mattermost 兼容性。
- 添加了通用 HTTP Post 节点。
- 在警报模板中公开服务器特定信息。
- 添加了 Pushover 集成。
- 向每种节点类型添加了
working_cardinality
统计信息,用于跟踪每个节点的组数。 - 添加了 StateDuration 节点。
- 默认 HipChat URL 应为空白。
- 添加了用于执行 Kapacitor 数据库备份的 API 端点。
- 添加了 sensu 警报的来源作为参数。
- 为指标收集(拉取模型)添加了发现和抓取服务。
- 将 Go 版本更新到 1.7.5。
错误修复
- 修复了 Kubernetes 部分的损坏的 ENV var 配置覆盖。
- 在修改之前复制批处理点切片,修复了潜在的 panic 和数据损坏。
- 默认情况下,将 Prometheus 指标名称用作抓取数据的度量名称。
- 修复了抓取器配置更新的可能死锁。
- 修复了在状态跟踪节点中并发写入相同点时发生的 panic。
- 简化了静态发现配置。
- 修复了 InfluxQL 节点中缺少字段时发生的 panic。
- 修复了 stateDuration 和 stateCount 节点上缺少 working_cardinality 统计信息的问题。
- 修复了抓取 TargetManager 中的 panic。
- 将 ProxyFromEnvironment 用于所有传出的 HTTP 流量。
- 修复了批处理查询在第一个 nil 字段之后将缺少所有字段的错误。
- 修复了 Telegram
parseMode
值的大小写敏感性。 - 修复了 pprof 调试端点。
- 修复了配置 API 中更新配置部分时的挂起。现在,如果服务更新过程花费的时间过长,请求将超时并返回错误。以前,请求将永远阻塞。
- 使 Alerta 身份验证令牌前缀可配置,并将其默认为 Bearer。
- 修复了 logrotate 文件以正确轮换错误日志。
- 修复了在恢复警报状态后警报持续时间不正确的错误。
- 修复了使用引号解析 dbrp 值时的错误。
- 修复了加载没有文件扩展名的重播文件时发生的 panic。
- 修复了 Default Node 未更新批处理标签和 groupID 的错误。此外,标签值上的空字符串现在是应用默认条件的充分条件。有关更多信息,请参阅 #1233。
- 修复了 dot view 语法以使用 xlabels 而不创建无效引号。
- 修复了删除所有录制后录制列表损坏的问题。
- 修复了列出任务时缺少“vars”键的问题。
- 修复了聚合无法更改类型时的错误。
- 修复了进程无法 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 文档。
功能
- 添加新的查询属性,用于将 group by 间隔与开始时间对齐。
- 添加新的警报 API,支持配置处理程序和主题。
- 将 alerta api 令牌移动到标头,并添加跳过 TLS 验证的选项。
- 添加用于警报的 SNMP trap 服务。
- 向 Window 节点添加 fillPeriod 选项,以便第一次发出等待期间经过后再发出。
- 现在,当 Window 节点每个值都为零时,窗口将立即为每个新点发出。
- 在重启和禁用/启用操作之间保留警报状态。
- 您现在可以基于计数以及时间进行窗口化。
- 在 slack 附件中启用 markdown。
错误修复
- 修复 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 与 1.1 中可用的 InfluxQL 函数保持一致。
错误修复
- 修复了保留未在 eval 表达式中引用的字段列表会导致错误的问题。
- 修复订阅统计信息的数量。
- 通过添加配置选项来设置默认保留策略,修复与 InfluxDB 的不一致性。
- 在 CLI 输出中排序和动态调整列宽。
- 添加缺失的 strLength 函数。
v1.0.2
错误修复
- 修复了忽略保存集群/服务器 ID 文件的错误。
- 如果 data_dir 在启动时不存在,则创建它。
v1.0.1
功能
- 添加 TCP 警报处理程序
- 添加将警报消息设置为字段的功能
- 向 InfluxDBOut 节点添加
.create
属性,设置后将在任务启动时创建数据库和保留策略。 - 允许在 TICKscript 中使用 duration / duration。
- 添加对字符串操作函数的支持。
- 添加为每个配置的 InfluxDB 集群设置特定 HTTP 端口和主机名的功能。
错误修复
- 修复了默认配置文件中的错别字
- 更改 |log() 输出为 JSON 格式,以便其自文档化结构。
- 修复 TMax 和 Holt-Winters 方法的问题。
- 修复 TMax 和 group by time 的错误。
v1.0.0
发行说明
Kapacitor v1.0.0 的首次发布。
此页面是否对您有帮助?
感谢您的反馈!