Kapacitor 发行说明
v1.7.6
功能
- Kafka Handler 设置并发送 SASL 扩展。
- Kafka Handler SASL OAUTH 令牌刷新。
Bug 修复
- 为警报级别使用 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
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 Rapid Reset 攻击)
v1.7.0
功能
- 更新主题存储以允许增量更新。
v1.6.6
功能
- 使用
[auth] meta-internal-shared-secret
配置参数添加 JWT 元 API 身份验证。
Bug 修复
- 通过实现
WritePointsPrivileged
来支持 InfluxDB 1.9.6 和 OpenTSB
v1.6.5
功能
- 为
TICKScript
lambdas 生成随机数的能力。 - 更新
InfluxQL
以实现 v.1.9.x 兼容性。
Bug 修复
- 更新
Kafka
客户端以修复关于写入延迟的 bug。 - 更新到 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 事件处理程序添加
host
和attribute
选项host
: 标识导致警报的主对象。attribute
: 向警报负载添加额外的属性。
- 向 BigPanda 节点添加新的
auto-attributes
配置选项。 - 能够直接在
env var
配置中向 HTTP post 添加新标头。 主题队列长度
现在是可配置的。这允许您在 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
请求响应。添加此属性有助于识别从 template 创建的任务。 - 对于警报模板、行模板和详细信息模板,添加对拒绝标准
json
(以换行符结尾)的第三方服务的支持,方法是在模板中压缩json
。为此,请在您的模板中将{{ json . }}
替换为{{ jsonCompact . }}
。(此更改还会压缩 Big Panda 警报详细信息,以避免 Panda 服务错误。)
Bug 修复
- 实现
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
警报处理程序)。
Bug 修复
- 使
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 任务。
- 添加 QueryFluxNode 以在批处理任务中使用 Flux 查询。
- 添加 Zenoss 事件处理程序。
- 通过消息 ID 将 Kafka 警报路由到分区并支持哈希策略配置。
- 添加基于用户的身份验证。
- 添加 TrickleNode 以将批处理转换为流。
- 更新 Slack 事件处理程序以支持新样式的 Slack 应用程序。
- 在 joinNode 中处理删除消息。
Bug 修复
- 修复启用调试模式时 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 添加屏障处理,以确保成功发出点。
Bug 修复
- 确保使用
influx
gzip 的大型批处理写入已完全写入 InfluxDB。 - 更新函数节点名称
ServiceNow
处理程序为驼峰式。 - 修复
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 集成并提供代理支持。
Bug 修复
- 当系统无法读取重播文件时添加错误检查,感谢 @johncming!
- 向警报模板添加缺少的
.Details
。
v1.5.6
功能
- 添加 Microsoft Teams 事件处理程序,感谢 @mmindenhall!
- 添加 Discord 事件处理程序,感谢 @mattnotmitt!
- 添加 对 TLS 1.3 的支持。
Bug 修复
- 修复 UDF 代理 Python 3.0 问题,感谢 @elohmeier!
- 添加
scraper_test
包以修复发现服务丢失配置 (discovery.Config
),感谢 @flisky! - 为 Amazon Linux 2 使用
systemd
。 - 更正
.hooks/pre-commit
文件中go vet
调用的问题,该问题导致 hook 失败,感谢 @mattnotmitt! - 更新
build.py
以支持arm64
,感谢 @povlhp! - 修复为 ticker 设置零间隔时发生的 panic,这影响了 deadman 和 stats 节点。
- 修复 int 除以零时的 panic,并返回错误。
- 修复导致 Kapacitor 忽略
pushover().userKey('')
TICKScript 操作的问题。
v1.5.5
重大更改
- 将发布校验和(用于验证发布位是否被篡改)从 MD5(消息摘要,128 位摘要)更新为 SHA-256(安全哈希算法 2,256 位摘要)。
Bug 修复
- 更新 Kafka 客户端以确保将错误添加到 Kapacitor 日志。
v1.5.4
功能
- 添加在指定 MQTT(消息队列遥测传输)主题时使用模板的功能。
- 升级以支持用户定义函数 (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 的共享密钥不匹配,则与 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 修复
- 一致地使用默认传输。
- 修复使用 delete 时屏障节点中的死锁。
- 使 RPM 在安装时使用正确的权限创建文件。
- 删除组被删除时的组统计信息。
- 避免在构建 GroupID 时进行额外的分配。
v1.5.2
功能
- 向 JoinNode 添加屏障节点支持。
- 添加使用 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 ticks 生成哈希而不是其实际给定的名称。
- 修复任务出错时加载服务中的死锁。
- 支持 PagerDuty API v2。
- 修复了无法删除与主题同名的主题处理程序的 bug。
- 调整 PagerDuty v2 服务测试名称并捕获详细的错误消息。
- 修复 Kafka 配置。
v1.4.1
Bug 修复
- 修复了当使用 var for stream/batch 时任务类型无效的 bug
v1.4.0
发行说明
Kapacitor v1.4.0 添加了许多新功能,此处重点介绍
- 用于从
dir
添加主题处理程序、任务和模板的加载目录服务。 - 结构化日志记录,带有可用于 tail 指定任务日志的日志记录 API 端点。
- Docker Swarm 和 AWS EC2 的自动缩放支持。
- 将数据从外部源侧加载到您的 TICKscript 流中。
- 用于警报 Post 处理程序和 HTTP Post 节点的完全可自定义的 HTTP Post 正文。
重大更改
将内部 API 更改为使用消息传递语义。
Combine
和 Flatten
节点以前(错误地)跨批处理边界运行:这已修复。
功能
- 添加了从
dir
加载主题处理程序、任务和模板的服务。 - 修改了主题处理程序文件格式以包含 TopicID 和 HandlerID。
- TICKscript 现在允许仅通过 TICKscript 进行任务描述。
- 任务类型(批处理或流)不再是必须指定的。
dbrp
表达式已添加到 TICKscript。- 添加了对 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 作为技术预览发布。
- 添加了对 Alert Message 属性上的
{{ .Duration }}
的支持。 - 添加了对 JSON lines 的支持,用于流式传输 HTTP 日志。
- 添加了新节点
Sideload
,允许将数据从文件加载到数据流中。可以使用层次结构加载数据。 - 将 Alert API 提升到稳定的 v1 路径。
- 将
WARN
级别日志更改为INFO
级别。 - 更新 Go 版本至 1.9.2。
Bug 修复
- 修复了日志 API 检查错误标头以查找所需内容类型的问题。
- 修复了 VictorOps “data” 字段是字符串而不是实际 JSON 的问题。
- 修复了
MQTT.toml
配置生成的 panic。 - 修复了为 MQTT 和 HTTPpost 奇怪生成的 TOML。
- 解决了源具有时钟偏移时空闲屏障丢弃所有消息的问题。
- 解决了在 Windows x64 上启动记录时 Kapacitor 崩溃的问题。
- 允许在
define-topic-handler
中使用.yml
文件扩展名。 - 修复了 HTTP 服务器错误日志记录。
- 修复了停止正在运行的 UDF 代理的 bug。
- 修复了缺少作为函数参数的字段的错误消息不清晰的问题。
- 修复了坏的 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
Bug 修复
- 如果启用,则在没有身份验证的情况下公开 pprof。
v1.3.2
Bug 修复
- 在 PagerDuty 中使用来自警报节点的详细信息字段。
v1.3.1
Bug 修复
- 来自环境的代理,用于向 Slack 发送 HTTP 请求
- 修复 derivative 节点保留来自流任务中先前点的字段
v1.3.0
发行说明
此版本有两个主要功能。
- 为 Prometheues 样式数据收集添加了抓取和发现功能。
- 更新了警报主题系统。
这是一个如何配置 Kapacitor 以抓取发现目标的快速示例。首先,配置一个发现器,这里我们使用 file-discovery 发现器。接下来,配置一个 scraper 以使用该发现器。
# 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 ]
要现在定义处理程序,您必须指定处理程序所属的主题。例如,要在系统主题上定义上述 aggregate 处理程序,请使用此命令
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 抓取支持。
- 添加了
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。
Bug 修复
- 修复了 Kubernetes 部分的已损坏 ENV var 配置覆盖。
- 在修改之前复制批处理点切片,修复了潜在的 panic 和数据损坏。
- 默认情况下,将 Prometheus 指标名称用作抓取数据的指标名称。
- 修复了 scraper 配置更新可能发生的死锁。
- 修复了状态跟踪节点中并发写入相同点的 panic。
- 简化了 static-discovery 配置。
- 修复了 InfluxQL 节点中缺少字段的 panic。
- 修复了 stateDuration 和 stateCount 节点上缺少 working_cardinality 统计信息的问题。
- 修复了 scraper TargetManager 中的 panic。
- 对所有传出的 HTTP 流量使用 ProxyFromEnvironment。
- 修复了在第一个 nil 字段之后,批处理查询将缺少所有字段的 bug。
- 修复了 Telegram
parseMode
值的区分大小写问题。 - 修复 pprof 调试端点。
- 修复了配置 API 中更新配置部分的挂起。现在,如果服务更新过程花费的时间过长,请求将超时并返回错误。以前,请求将永远阻止。
- 使 Alerta auth token 前缀可配置,并将其默认为 Bearer。
- 修复了 logrotate 文件以正确轮换错误日志。
- 修复了恢复警报状态后警报持续时间不正确的 bug。
- 修复了解析带引号的 dbrp 值时的 bug。
- 修复了加载没有文件扩展名的重播文件时的 panic。
- 修复了 Default 节点未更新批处理标签和 groupID 的 bug。此外,标签值上的空字符串现在是应用默认条件的充分条件。有关更多信息,请参阅 #1233。
- 修复了 dot 视图语法以使用 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 token 移动到 header,并添加跳过 TLS 验证的选项。
- 添加 SNMP trap 服务用于警报。
- 向 Window 节点添加 fillPeriod 选项,以便第一次 emit 等待周期结束后再发出。
- 现在,当 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 与 1.1 中可用的 InfluxQL 功能保持一致。
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 和 group by time 的 bug。
v1.0.0
发行说明
Kapacitor v1.0.0 的首次发布。
此页面对您有帮助吗?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一份子! 我们欢迎并鼓励您提供关于 Kapacitor 和本文档的反馈和错误报告。 要获得支持,请使用以下资源