--- /dev/null
+
+# make sure apache is running
+
+template: apache_last_collected_secs
+ on: apache.requests
+ calc: $now - $last_collected_t
+ every: 10s
+ warn: $this > ( 5 * $update_every)
+ crit: $this > (10 * $update_every)
+
calculated_number *n = (calculated_number *)rv->value;
return *n;
}
- break;
case RRDVAR_TYPE_TIME_T: {
time_t *n = (time_t *)rv->value;
return *n;
}
- break;
case RRDVAR_TYPE_COLLECTED: {
collected_number *n = (collected_number *)rv->value;
return *n;
}
- break;
case RRDVAR_TYPE_TOTAL: {
total_number *n = (total_number *)rv->value;
return *n;
}
+ case RRDVAR_TYPE_INT: {
+ int *n = (int *)rv->value;
+ return *n;
+ }
+
default:
error("I don't know how to convert RRDVAR type %d to calculated_number", rv->type);
return NAN;
- break;
}
}
rc->rrdset = st;
+ if(rc->update_every < rc->rrdset->update_every) {
+ error("Health alarm '%s.%s' has update every %d, less than chart update every %d. Setting alarm update frequency to %d.", rc->rrdset->id, rc->name, rc->update_every, rc->rrdset->update_every, rc->rrdset->update_every);
+ rc->update_every = rc->rrdset->update_every;
+ }
+
if(rc->green && !st->green)
st->green = rc->green;
#define RRDVAR_TYPE_TIME_T 2
#define RRDVAR_TYPE_COLLECTED 3
#define RRDVAR_TYPE_TOTAL 4
+#define RRDVAR_TYPE_INT 5
// the variables as stored in the variables indexes
// there are 3 indexes:
rrdsetvar_create(st, "collected_total_raw", RRDVAR_TYPE_TOTAL, &st->last_collected_total, 0);
rrdsetvar_create(st, "green", RRDVAR_TYPE_CALCULATED, &st->green, 0);
rrdsetvar_create(st, "red", RRDVAR_TYPE_CALCULATED, &st->red, 0);
+ rrdsetvar_create(st, "update_every", RRDVAR_TYPE_INT, &st->update_every, 0);
}
rrdset_index_add(&localhost, st);