Kapacitor not generating alert


#1

Hi I have the following tick:

dbrp “statsd”.“shortterm”

stream
    |from()
        .measurement('memory_percent_free')
        .groupBy('host')
    |window()
        .period(5m)
        .every(1m)
    |mean('value')
    |eval(lambda: sigma("mean"))
      .as('sig')
    |stateDuration(lambda: "sig" > 2.0)
      .as('sig_gt_2_min')
      .unit(1m)
    |stateDuration(lambda: "sig" > 3.0)
      .as('sig_gt_3_min')
      .unit(1m)
    |alert()
     .message('{{ .Level}}: {{ .Name }}/{{ index .Tags "host" }} has high cpu load: {{ index .Fields "mean" }}')
      .warn(lambda: "sig_gt_2_min" > 5)
      .crit(lambda: "sig_gt_3_min" > 10)
      .stateChangesOnly()
      .log('/tmp/kap.log')
      .slack()
      .sensu()

The way i am reading it is if stddev > 2 for 5 min alert warn; if stddev > 3 for 5 min alert crit
I am putting a load on a server for more than 30 min and I get no alert.


#2

Try getting rid of the mean and the window. There might not be enough data points–the window and average could be normalizing the data too much.