我试图让kapacitor根据influxdb中收集的数据触发警报。我的滴答文件基于使用 kapacitor 与 influxdb 和 collectd的答案。
stream
// Select just the cpu measurement from our example database.
|from()
.measurement('cpu_value')
.where(lambda: "type" == 'percent' AND "type_instance" == 'idle')
|alert()
.crit(lambda: "value" < 98)
// Whenever we get an alert write it to a file.
.log('/tmp/alerts.log')
我已经根据 kapacitor 文档定义了警报:
kapacitor define cpu_alert -type stream -tick cpu_alert.tick -dbrp collectd.default
适当的数据正在从 collectd 发送到 influxdb 并可通过查询获得:
select value from /cpu_value/ where type='percent' and type_instance = 'idle' order by time desc limit 10;
但是运行:
kapacitor record stream -task cpu_alert -duration 20s &
不记录任何数据:
$ kapacitor list recordings
ID Type Status Size Date
48e5c04a-68c2-44a3-ba80-f2c12d952994 stream running 0 B 19 Jul 16 11:57 IST
我怀疑我在注册任务时可能没有正确引用数据库,但看不到哪里出错了。