9 years ago
Alert floor in delta
I have a datasource that monitors disk usage spikes. Currently it is set to alert if there is a change in disk usage greater than 10% in 10 minutes (polling period). It is useful to know if disk us...
Hi Daniel, you could work around this right now using a complex datapoint using an if() expression of, for example:
if(ge(PercentUsed,70),PercentUsed,70)
In this example, when the existing PercentUsed datapoint is returning a value of at least 70, this datapoint will return the same value; however if PercentUsed is returning a value below 70, this new complex datapoint will return a constant value of 70.
You can then set a delta threshold on this datapoint. While ever the true PercentUsed is below 70, there will be no delta in this new datapoint value; at or above 70% usage the delta will come in to play and alert as appropriate.
See also: http://www.logicmonitor.com/support/datasources/creating-managing-datasources/datapoint-expressions/
A more complex variation:
If a hard-coded floor value is not appropriate (as this will be a global setting within the datasource, of course), you could alternatively use a custom token in the datapoint expression, e.g.:
if(ge(PercentUsed,##DELTAFLOOR##),PercentUsed,##DELTAFLOOR##)
Note that in this latter case, there *MUST* be a DELTAFLOOR property, with a numeric value, set or inherited for every applicable device (i.e. you should create this token at the root level of the device tree, and then set it differently on those devices for which the global value was not appropriate). If there is no such property set, the calculation would fail due to the absent values. Therefore this version demands a little more management effort and if that property were deleted, the alerting datapoint would fail silently (although you could also set a "no data" alert on the datapoint to cover this). Note also that token use in datapoints is not an explicitly supported function at this time.
I hope this helps.