[Nagiosplug-devel] RFC: Performance data guidelines
Karl DeBisschop
karl at debisschop.net
Wed Jul 16 04:24:26 CEST 2003
On Wed, 2003-07-16 at 03:28, Hoogendijk, Peter wrote:
> Ton,
>
> This certainly makes sense. I was thinking along the same lines and
> concluded that I need two extra (optional) plugin options:
>
> 1) An option to set the label: -L label (--label)
> 2) An option to to specify the format of the data: -P printf
> (--printf)
>
> This solves the problem of the RRD labels. It also proves you are right
> with your proposal to do the translations at the plugin, as this is also
> the place where I have to configure the perfmon counter to be checked
> (for this discussion I'll stick to the Microsoft Windows Perfmon
> example). As a result, the perfmon plugin would take the following
> options:
>
> -f filename (--filename)
> -C counter (--counter)
> -S scanf (--scanf)
> -L label (--label)
> -P printf (--printf)
> -w warning threshold (--warning)
> -c critical threshold (--critical)
>
> The resulting command to perform the check would be:
>
> ./check_perfmon -f /var/log/perfmon/hostname -C "\System\System Up
> Time" -S "%l" -L "SystemUpTime" -P "%ls"
>
> The filename, as specified with the -f option, points to the file that
> contains a list of Microsoft Windows Perfmon counters and their values
> for the host being checked. This file is generated using a third-party
> product, running as a service on the Microsoft Windows servers.
>
> The option names I used are open to discussion, but the principle at
> solves the problems being discussed. It also leaves the format of the
> perfdata free to be adapted to the program that will process this data.
Why not:
./check_perfmon -f /var/log/perfmon/hostname \
-C "\System\System Up Time" -S "%l" \
-P "SystemUpTime=%ls"
Since you are providing a printf format, you really don't need to
separately specify the label AFAICS.
> how do I specify a warning below 10 and a critical above 45 ?
Most (all?) plugins will balk at this. For instance, you can warn
outside the range 10-25 and send a critcal response outside the range
0-25, which would be similar. But in general the plugins should and do
check to make sure that the values that generate critical condtions are
a subset of the warning specification, possibly inclusive.
But there is the problem of passing ranges out through the perf data. In
most cases, it's a single value - but for some plugins the "good" zone
may be above the threshold, and for others below. For ranges, unless
RRDtool or others have a native syntax for specifying ranges, I would
this we just pass ours our - the good range is within a colon-separated
pair.
> but what do I do with a signed counter value, when
> I don't know the possible minimum and maximum values?
ISTM that if he possible minimum/maximum values are not known, a well
behaved application would not require that they be specified.
--
Karl
More information about the Devel
mailing list