[Nagiosplug-devel] New Threshold Syntax

Jochen Bern Jochen.Bern at LINworks.de
Sun Jun 30 19:08:59 CEST 2013

On 29.06.2013 22:10, Stephan wrote:
> Anyhow… I found a link describing the notation:
> https://en.wikipedia.org/wiki/Interval_(mathematics)
> Am 29.06.13 15:14, schrieb Stephan:
>> Am 29.06.13 13:11, schrieb William Leibzon:
>>> The current proposal for new syntax is at
>>> http://nagiosplugins.org/rfc/new_threshold_syntax
>> I'd like to add to this:
>>> Complex range
>>> endpoints are excluded from the range if () are used, otherwise
>> endpoints are included in the range
>> Why not use the "mathematical syntax"? For this we need [] instead of ()
>> Examples:
>> [1..5] means 1 ≤ x ≤ 5
>> [1..5[ means 1 ≤ x < 5
>> ]1..5] means 1 < x ≤ 5
>> ]1..5[ means 1 < x < 5
>> And instead of specifying ^ before the bracket, let's put it inside like
>> we have it in regular expression ranges:
>> [^1..5] means x < 1 or x > 5
>> [^1..5[ means x < 1 or x ≥ 5
>> ]^1..5] means x ≤ 1 or x > 5
>> ]^1..5[ means x ≤ 1 or x ≥ 5

Folks, you're spending a lot of mental effort over something that won't
get you noticeable appreciation. The thing that will win users and other
plugin authors over to a new syntax is not that it looks nicer or more
similar to existing notation conventions in whatever field, it's that it
allows them to do the things they need to do now and in the upcoming
years and that they had to *hack* with the former standard. In other
words, *functionality* (that the syntax is bound to have to adapt to to
a certain degree, anyway).

I the wrote the comment under
, and I'm *STILL* waiting for a check_disk (to reuse the example) that I
can tell to consider the minfree part of the available diskspace for
/var/log, but not /tmp, I'm *still* squinting at PNP graphs of its
performance data to see the usage meander between a WARN and a MAX line
that are two or three pixels apart because I can't tell check_disk to
put the amount of *free* space into the perfdata instead, yadda yadda.

And while we're on the subject of "proper" notation involving characters
that *happen* to be special chars to 90+% of all shells out there, and
since we're talking about providing a *library* to plugin authors: No
amount of exegesis on the parameter syntax will ever solve as many
problems as the simple sentence "for every valid option '--foo bar', the
plugin will accept '--64-foo baz' and '--url-foo org' to the same
effect, where 'baz'=base64('bar') and 'org'=urlencode('bar')."

(Extra points to whoever manages to put matching *EN*coding
functionality into transport-providing plugins like check_by_ssh. ;-)

Kind regards,
								J. Bern
*NEU* - NEC IT-Infrastruktur-Produkte im <http://www.linworks-shop.de/>:
Server--Storage--Virtualisierung--Management SW--Passion for Performance
Jochen Bern, Systemingenieur --- LINworks GmbH <http://www.LINworks.de/>
Postfach 100121, 64201 Darmstadt | Robert-Koch-Str. 9, 64331 Weiterstadt
PGP (1024D/4096g) FP = D18B 41B1 16C0 11BA 7F8C DCF7 E1D5 FAF4 444E 1C27
Tel. +49 6151 9067-231, Zentr. -0, Fax -299 - Amtsg. Darmstadt HRB 85202
Unternehmenssitz Weiterstadt, Geschäftsführer Metin Dogan, Oliver Michel

More information about the Devel mailing list