I have nagios set up with pnp to log performance data in RRD's and generate graphs. It does a fantastic job, but I'm looking to extend it.
I have several data sources that are counters.... traffic (in Octets) is an example. I would like to be able to throw warning and critical values when traffic levels pass a particular threshold. However, since the perf data is being logged to rrd by nagios, the check occurs before updating the rrd file. This means any check I build into the plugin that is fetching the performance data will be checking data that is n-1 steps old.
I thought about comparing the new data to the currently logged data, but for counter data types, that data is logged as a rate... the last counter value isn't stored.
Any ideas on how to get this to work? I thought about moving the check to the process perf data plugin and then have it write to the command file to change the service state, but I haven't thought all the way through that.