Open F4ncyMooN opened 6 years ago
have you fix this ?
No, I didn't fix it from kapacitor source code. I change the script for work-around.
previous:
// Set check expression and criteria.
var info_count = join_aggregation
|stateCount(lambda: float("M0001_kSum_metric1::kSum_metric1") > 2500000.0)
.as('kInfoCount')
var warn_count = info_count
|stateCount(lambda: float("M0001_kSum_metric1::kSum_metric1") < 2500.0)
.as('kWarnCount')
var crit_count = warn_count
|stateCount(lambda: float("M0001_kSum_metric1::kSum_metric1") < 200.0)
.as('kCritCount')
var info_max = crit_count
|max('kInfoCount')
.as('kInfoCount')
|log()
var warn_max = crit_count
|max('kWarnCount')
.as('kWarnCount')
|log()
var crit_max = crit_count
|max('kCritCount')
.as('kCritCount')
|log()
var join_max = info_max
|join(warn_max, crit_max)
.as('info_max', 'warn_max', 'crit_max')
.tolerance(1m)
.delimiter('::')
var keep_max = join_max
|eval()
.keep('info_max::kInfoCount', 'warn_max::kWarnCount', 'crit_max::kCritCount')
// Save alerts.
keep_max
|alert()
.id('{{ .TaskName }}')
.info(lambda: "info_max::kInfoCount" >= 1)
.warn(lambda: "warn_max::kWarnCount" >= 1)
.crit(lambda: "crit_max::kCritCount" >= 1)
.message('')
.details('')
.post('url')
now
var state_count = window|stateCount(lambda: float("M0001_kSum_metric1::kSum_metric1") > 2500000.0)
.as('kInfoCount')
|stateCount(lambda: float("M0001_kSum_metric1::kSum_metric1") > 2500000.0)
.as('kWarnCount')
|stateCount(lambda: float("M0001_kSum_metric1::kSum_metric1") > 2500000.0)
.as('kCritCount')
// Save alerts.
state_count
|alert()
.id('{{ .TaskName }}')
.info(lambda: "kInfoCount" >= 1)
.warn(lambda: "kWarnCount" >= 1)
.crit(lambda: "kCritCount" >= 1)
.message('')
.details('')
.post('url')
But I think this should be fixed in kapacitor side.
Hi,
When I use kapacitor for monitoring, some weird delay happened to me. It seems statecount and max node will create data interval. Here is the tick script.
After window node, batch interval is 1m, and max node will be waiting 1m for the next batch to arrive. So the final alert will be delayed for 1m(batch interval).
Kapacitor version: Kapacitor v1.5.0 (git: 4f10efc41b4dcac070495cf95ba2c41cfcc2aa3a)