【发布时间】:2023-03-22 11:11:01
【问题描述】:
我们使用 InfluxDB 来存储多个设备的健康状况,其中一个字段是设备的当前状态。希望在此字段更改时(例如从值 0 到 1 或 1 到 0)触发事件(通过日志、电子邮件、外部警报)。这可以通过 CQ 或 Kapacitor 完成吗?我们有几个系列,所以要避免额外的查询
【问题讨论】:
标签: influxdb
我们使用 InfluxDB 来存储多个设备的健康状况,其中一个字段是设备的当前状态。希望在此字段更改时(例如从值 0 到 1 或 1 到 0)触发事件(通过日志、电子邮件、外部警报)。这可以通过 CQ 或 Kapacitor 完成吗?我们有几个系列,所以要避免额外的查询
【问题讨论】:
标签: influxdb
实现这一目标的最佳方法是使用 Kapacitor。特别是,您需要使用alert node,您的 TICKscript 将如下所示:
stream
.from()
.measurement('mymeasurement')
.groupBy('mytag')
|alert()
.stateChangesOnly()
.info(lambda: bool("myfield"))
.post("http://example.com/api/alert")
.email('oncall@example.com')
这依赖于stateChangesOnly,它会在满足info 条件并返回OK 状态时启动警报。
【讨论】: