SlideShare a Scribd company logo
BOF:
Nagios Plugins
New Threshold
Specification Syntax
Comments to :
nagiosplug-devel@lists.sourceforge.net
October 1, 2013 Saint Paul, MN
2
Current State of Nagios Plugins Syntax
There is Nagios Threshold Specification as part of Nagios
Plugins Development Guidelines:
https://www.nagios-plugins.org/doc/guidelines.html
This is supported by most core plugins and followed by
many other plugin authors. However:
The range syntax is confusing and quite limited. People
think the @a:b syntax for checking if something is within
the range is unnatural and difficult to understand.
Many (most!) plugins have multiple metrics that can be
checked, yet nagios development guidelines call for
threshold to be specified in one set of –warn (-w) and
–critical (-c) options.
The syntax is not extendable for adding additional
parameters related to checking of specific metric. Many
plugins end up with a ton of options which becomes even
more confusing for the users
3
History of the proposal
To encourage discussion on how to deal with these issues a draft
proposal called “New Threshold Syntax” was written by Ton Voon
five years ago. It used to be available at nagiosplugins.org
The Plugins Development Team discussed this internally, but didn't
reach a consensus on how to proceed, so this was never
implemented by any core plugin. Ton is no longer involved in
Nagios-Plugins project either.
However some 3rd-party plugin authors liked this proposal and
moved forward to partially implement it in their own libraries and
plugins. Current libraries that partially support this or something
similar are: Pynag (http://pynag.org/),
JNRPE (http://jnrpe.sourceforge.net/),
Naglio (https://github.com/willixix/WL-NagiosPlugins)
Current proposal is an extension of original with some additions
from Naglio.pm plus ideas proposed at nagios-plugins mail list
discussion. Current text is at:
https://github.com/willixix/nagios-plugins/wiki/New-Threshold-Syntax
4
Proposal: New Threshold Option
https://github.com/willixix/nagios-plugins/wiki/New-Threshold-Syntax
New single Threshold option that can be repeated:
--threshold={threshold definition} --th={threshold definition}
The threshold definition is a subgetopt format with a list of
keywords followed by '=' or ':' and then data.
--threshold metric={metric},name={name},label={label},ok={range},
warn={range},crit={range},absent=critical|warning|ok|unknown,
display=yes|no,perf=yes|no,unit={unit},prefix={SI prefix}
OR
--threshold=metric:{metric},name:{name},label:{label},ok:{range},warn:
{range},crit:{range},absent:critical|warning|ok|unknown,display:yes|no,
perf:yes|no,unit:{unit},prefix:{SI prefix}
5
Examples
To check httpd processes are OK if the virtual size is under 8096
bytes. Warn until they reach 16182, but bigger than that is CRITICAL.
old: check_procs -w 8096 -c 16182 -C httpd --metric VSZ
new: check_procs -C httpd –th
metric=vsize,ok=0..8096,warn=8097..16182
There should always be one and only one 'tnslsnr' process.
Otherwise critical.
old: check_procs -w 1:1 -c 1:1 -C tnslsnr
new: check_procs -C tnslsnr --th metric=count,ok=1..1
Load averages (1,5,15 minute) should be within reasonable ranges.
old: check_load -w 1.0,0.8,0.7 -c 1.5,1.3,1.0
new: check_load --th metric=1min,ok=0..1.0,warn=1.0..1.5 --th
metric=5min,ok=0..0.8,warn=0.8..1.3 --th
metric=15min,ok=0..0.7,warn=0.7..1.0
6
Proposal: New Range Syntax
New “natural” format for range. Simple ranges have format:
start..end (such as “warn=0..20”)
- start and end are numeric or “inf”. require start ≤ end
- if start = "inf" or “-inf”, this is negative infinity.
- if end = "inf", this is positive infinity
- alert is raised if value is inside start and end range
Complex ranges have the following additions:
addition of () and [] brackets which are used in math for interval notation
() is open interval, means end points are not included
[] is closed interval, means end points are included
addition of ^ used to negate interval, preferably this is followed by () or []
Examples (“current range format” → “new range format”):
10 → 10 or ^[0..10] - alert if < 0 or > 10, (outside of {0 .. 10})
10: → ^[10..inf] - alert if < 10, (outside of {10 .. ∞})
~:10 → ^[-inf..10] - alert if > 10, (outside of {-∞ .. 10})
10:20 → ^[10..20] - alert if < 10 or > 20, (outside of {10 .. 20})
@10:20 → 10..20 - alert if ≥ 10 and ≤ 20, (inside of {10 .. 20})
7
Proposal: 'warn', 'crit', 'ok' levels
“ok”, “warn”, “crit” are level specification keywords. Basic syntax:
ok:{range},warn:{range},crit:{range} OR
ok={range},warn={range},crit={range}
Ranges are used with warn, crit, ok keywords which combined
specify when and what type of alert is to be issued:
- if no levels are specified, return OK
- If an ok level is specified and value is within range, return OK
- If a critical level is specified and value is within range, return CRITICAL
- If a warning level is specified and value is within range, return WARNING
- If an ok level is specified, return CRITICAL
- Otherwise return OK
These keywords maybe repeated more than once to specify complex
non-continuous range. The ranges are combined as a logical “OR”.
A proposed extension is to also have “awarn”, “aok”, “acrit” keywords
which allow levels to be combined with a logical AND. The primary
use of this is with multiple metrics specifying that alert is to be issued
when values for both metrics are within specified ranges.
8
Proposal: 'metric', 'name', 'regex', 'label' keywords
metric={name} OR metric:{name}
This keyword specifies alphanumeric name of the metric being checked
by the plugin (name has meaning for plugin itself).This is usually first
keyword in threshold option line
name={name} OR name:{name}
This is used with plugins that can get data on multiple named data
values (attributes) and where different metric to be checked are
available for these named attributes. Examples of this are:
- process name, where process memory and cpu use are metrics.
- network interface name, where bytes_in and bytes_out are metrics.
regex='yes|no' OR regex:'yes|no'
Enables or disables regex matching of {name} in 'name' and 'metric'
label={name}' OR label:{name}
perf_label={name} OR perf_label:{name}
These are used re-label 'name' or 'metric' for status line and perf output,
usually to make long name shorter.
9
Proposal: other keywords
absent='warn|critical|ok|unknown'
Nagios exit status and alert if specified named value or metric are not
available. This overrides default 'unknown' many plugins use.
display='yes|no' OR display:'yes|no'
Specifies if metric info & value should be included in status line output
perf='yes|no' OR perf:'yes|no'
Specifies if metric value should be included in perf output
prefix={prefix} OR prefix:{prefix}
The prefix is used to multiply the input range for display of data in status
output. Allowed {prefix} values are slight expansion of those defined by
NIST at http://physics.nist.gov/cuu/Units/prefixes.html:
unit={unit} OR uom={unit} OR unit:{unit} OR uom:{unit}
{unit} is a single symbol or string that specify the Unit of Measurement
(UOM) for plugins that do not know about the type of value returned.
Base UOMs are: '%' for percent and 'c' for performance counters..
Custom UOMs may include one-letter prefix followed by abbreviation or
full NIST prefix followed by '-' and then label. For example:
kb = kilo-b = kilo-bits
10
Discussion
Is this good proposal base or are there serious issues?
The proposal currently does mention how to output new
complex ranges for use by performance graphing utilities.
Any suggestions on how to best handle this?
It may take some time for official plugin developers to
implement especially since Ton Voon is no longer
involved. Should we ask them to do it?
Do we want to move forward and and finalize this as
standard?
Any other suggestions for plugin standardization?
11
Extra: XML spec for describing plugins?
Separate issue how to provide information on how to configure
various plugins for web user interface that various nagios
packages have.
One proposal could be to write an XML spec that could be used
to describe options that plugins have. This can be thought of as
structured help (and in fact such XML can be converted into
manual page or help). This would be something like:
<plugin name=”check_snmp_..”>
<options>
<option name=”SNMP_Auth_Protocols”>
<option_lines><line>L</line><line>authprotocols</line></option_lines>
<accepted_values_list>
<value id=1>md5</value><value id=2>sha1</value>
</accepted_values_list>
</option>
</options>
</plugin>
For any Nagios package vendors are here - would this be of any
interest to you?

More Related Content

What's hot

SQL Server Select Topics
SQL Server Select TopicsSQL Server Select Topics
SQL Server Select Topics
Jay Coskey
 
From object oriented to functional domain modeling
From object oriented to functional domain modelingFrom object oriented to functional domain modeling
From object oriented to functional domain modeling
Mario Fusco
 
OOP and FP - Become a Better Programmer
OOP and FP - Become a Better ProgrammerOOP and FP - Become a Better Programmer
OOP and FP - Become a Better Programmer
Mario Fusco
 
Martin Chapman: Research Overview, 2017
Martin Chapman: Research Overview, 2017Martin Chapman: Research Overview, 2017
Martin Chapman: Research Overview, 2017
Martin Chapman
 
1.Buffer Overflows
1.Buffer Overflows1.Buffer Overflows
1.Buffer Overflows
phanleson
 
Functional Programming in Java - Lessons Learned by GridGain
Functional Programming in Java - Lessons Learned by GridGainFunctional Programming in Java - Lessons Learned by GridGain
Functional Programming in Java - Lessons Learned by GridGain
GridGain Systems - In-Memory Computing
 
C interview-questions-techpreparation
C interview-questions-techpreparationC interview-questions-techpreparation
C interview-questions-techpreparationKushaal Singla
 
Composing method
Composing methodComposing method
Composing method
С. Ариука
 
Programming Assignment Help
Programming Assignment HelpProgramming Assignment Help
Programming Assignment Help
Programming Homework Help
 
Animate
AnimateAnimate
Animate
ssuserf5429e
 
Automatic Task-based Code Generation for High Performance DSEL
Automatic Task-based Code Generation for High Performance DSELAutomatic Task-based Code Generation for High Performance DSEL
Automatic Task-based Code Generation for High Performance DSEL
Joel Falcou
 
Twitter Author Prediction from Tweets using Bayesian Network
Twitter Author Prediction from Tweets using Bayesian NetworkTwitter Author Prediction from Tweets using Bayesian Network
Twitter Author Prediction from Tweets using Bayesian Network
Hendy Irawan
 
Python Interview Questions | Python Interview Questions And Answers | Python ...
Python Interview Questions | Python Interview Questions And Answers | Python ...Python Interview Questions | Python Interview Questions And Answers | Python ...
Python Interview Questions | Python Interview Questions And Answers | Python ...
Simplilearn
 
Python programing
Python programingPython programing
Python programing
hamzagame
 
Rx workshop
Rx workshopRx workshop
Rx workshop
Ryan Riley
 
Designing Architecture-aware Library using Boost.Proto
Designing Architecture-aware Library using Boost.ProtoDesigning Architecture-aware Library using Boost.Proto
Designing Architecture-aware Library using Boost.Proto
Joel Falcou
 
C++ questions And Answer
C++ questions And AnswerC++ questions And Answer
C++ questions And Answer
lavparmar007
 
Introduction to python
Introduction to pythonIntroduction to python
Introduction to python
Marian Marinov
 
CS225_Prelecture_Notes 2nd
CS225_Prelecture_Notes 2ndCS225_Prelecture_Notes 2nd
CS225_Prelecture_Notes 2ndEdward Chen
 

What's hot (20)

SQL Server Select Topics
SQL Server Select TopicsSQL Server Select Topics
SQL Server Select Topics
 
From object oriented to functional domain modeling
From object oriented to functional domain modelingFrom object oriented to functional domain modeling
From object oriented to functional domain modeling
 
OOP and FP - Become a Better Programmer
OOP and FP - Become a Better ProgrammerOOP and FP - Become a Better Programmer
OOP and FP - Become a Better Programmer
 
Martin Chapman: Research Overview, 2017
Martin Chapman: Research Overview, 2017Martin Chapman: Research Overview, 2017
Martin Chapman: Research Overview, 2017
 
1.Buffer Overflows
1.Buffer Overflows1.Buffer Overflows
1.Buffer Overflows
 
Functional Programming in Java - Lessons Learned by GridGain
Functional Programming in Java - Lessons Learned by GridGainFunctional Programming in Java - Lessons Learned by GridGain
Functional Programming in Java - Lessons Learned by GridGain
 
C interview-questions-techpreparation
C interview-questions-techpreparationC interview-questions-techpreparation
C interview-questions-techpreparation
 
Composing method
Composing methodComposing method
Composing method
 
Programming Assignment Help
Programming Assignment HelpProgramming Assignment Help
Programming Assignment Help
 
Animate
AnimateAnimate
Animate
 
Automatic Task-based Code Generation for High Performance DSEL
Automatic Task-based Code Generation for High Performance DSELAutomatic Task-based Code Generation for High Performance DSEL
Automatic Task-based Code Generation for High Performance DSEL
 
Twitter Author Prediction from Tweets using Bayesian Network
Twitter Author Prediction from Tweets using Bayesian NetworkTwitter Author Prediction from Tweets using Bayesian Network
Twitter Author Prediction from Tweets using Bayesian Network
 
Python Interview Questions | Python Interview Questions And Answers | Python ...
Python Interview Questions | Python Interview Questions And Answers | Python ...Python Interview Questions | Python Interview Questions And Answers | Python ...
Python Interview Questions | Python Interview Questions And Answers | Python ...
 
Python programing
Python programingPython programing
Python programing
 
Rx workshop
Rx workshopRx workshop
Rx workshop
 
Designing Architecture-aware Library using Boost.Proto
Designing Architecture-aware Library using Boost.ProtoDesigning Architecture-aware Library using Boost.Proto
Designing Architecture-aware Library using Boost.Proto
 
C++ questions And Answer
C++ questions And AnswerC++ questions And Answer
C++ questions And Answer
 
Introduction to python
Introduction to pythonIntroduction to python
Introduction to python
 
Monadic Java
Monadic JavaMonadic Java
Monadic Java
 
CS225_Prelecture_Notes 2nd
CS225_Prelecture_Notes 2ndCS225_Prelecture_Notes 2nd
CS225_Prelecture_Notes 2nd
 

Viewers also liked

Nagios Conference 2012 - Nicolas Brousse - Optimizing your Monitoring and Tre...
Nagios Conference 2012 - Nicolas Brousse - Optimizing your Monitoring and Tre...Nagios Conference 2012 - Nicolas Brousse - Optimizing your Monitoring and Tre...
Nagios Conference 2012 - Nicolas Brousse - Optimizing your Monitoring and Tre...
Nagios
 
Nagios Conference 2012 - Yancy Ribbens - Windows Advanced Monitoring with WMI...
Nagios Conference 2012 - Yancy Ribbens - Windows Advanced Monitoring with WMI...Nagios Conference 2012 - Yancy Ribbens - Windows Advanced Monitoring with WMI...
Nagios Conference 2012 - Yancy Ribbens - Windows Advanced Monitoring with WMI...
Nagios
 
Nagios Conference 2012 - John Sellens - Non-Obvious Nagios
Nagios Conference 2012 - John Sellens - Non-Obvious NagiosNagios Conference 2012 - John Sellens - Non-Obvious Nagios
Nagios Conference 2012 - John Sellens - Non-Obvious Nagios
Nagios
 
Nagios Conference 2012 - Todd Groten - Monitoring Call of Duty: Elite
Nagios Conference 2012 - Todd Groten - Monitoring Call of Duty: EliteNagios Conference 2012 - Todd Groten - Monitoring Call of Duty: Elite
Nagios Conference 2012 - Todd Groten - Monitoring Call of Duty: Elite
Nagios
 
Nagios Conference 2012 - Nate Broderick - Bringing Nagios XI Into Your Business
Nagios Conference 2012 - Nate Broderick - Bringing Nagios XI Into Your BusinessNagios Conference 2012 - Nate Broderick - Bringing Nagios XI Into Your Business
Nagios Conference 2012 - Nate Broderick - Bringing Nagios XI Into Your Business
Nagios
 
Nagios Conference 2012 - Nathan Vonnahme - Monitoring the User Experience
Nagios Conference 2012 - Nathan Vonnahme - Monitoring the User ExperienceNagios Conference 2012 - Nathan Vonnahme - Monitoring the User Experience
Nagios Conference 2012 - Nathan Vonnahme - Monitoring the User Experience
Nagios
 
Nagios Conference 2012 - Ethan Galstad - Keynote
Nagios Conference 2012 - Ethan Galstad - KeynoteNagios Conference 2012 - Ethan Galstad - Keynote
Nagios Conference 2012 - Ethan Galstad - Keynote
Nagios
 
Nagios Conference 2012 - Sam Lansing - Automating Windows Application Testing...
Nagios Conference 2012 - Sam Lansing - Automating Windows Application Testing...Nagios Conference 2012 - Sam Lansing - Automating Windows Application Testing...
Nagios Conference 2012 - Sam Lansing - Automating Windows Application Testing...
Nagios
 

Viewers also liked (8)

Nagios Conference 2012 - Nicolas Brousse - Optimizing your Monitoring and Tre...
Nagios Conference 2012 - Nicolas Brousse - Optimizing your Monitoring and Tre...Nagios Conference 2012 - Nicolas Brousse - Optimizing your Monitoring and Tre...
Nagios Conference 2012 - Nicolas Brousse - Optimizing your Monitoring and Tre...
 
Nagios Conference 2012 - Yancy Ribbens - Windows Advanced Monitoring with WMI...
Nagios Conference 2012 - Yancy Ribbens - Windows Advanced Monitoring with WMI...Nagios Conference 2012 - Yancy Ribbens - Windows Advanced Monitoring with WMI...
Nagios Conference 2012 - Yancy Ribbens - Windows Advanced Monitoring with WMI...
 
Nagios Conference 2012 - John Sellens - Non-Obvious Nagios
Nagios Conference 2012 - John Sellens - Non-Obvious NagiosNagios Conference 2012 - John Sellens - Non-Obvious Nagios
Nagios Conference 2012 - John Sellens - Non-Obvious Nagios
 
Nagios Conference 2012 - Todd Groten - Monitoring Call of Duty: Elite
Nagios Conference 2012 - Todd Groten - Monitoring Call of Duty: EliteNagios Conference 2012 - Todd Groten - Monitoring Call of Duty: Elite
Nagios Conference 2012 - Todd Groten - Monitoring Call of Duty: Elite
 
Nagios Conference 2012 - Nate Broderick - Bringing Nagios XI Into Your Business
Nagios Conference 2012 - Nate Broderick - Bringing Nagios XI Into Your BusinessNagios Conference 2012 - Nate Broderick - Bringing Nagios XI Into Your Business
Nagios Conference 2012 - Nate Broderick - Bringing Nagios XI Into Your Business
 
Nagios Conference 2012 - Nathan Vonnahme - Monitoring the User Experience
Nagios Conference 2012 - Nathan Vonnahme - Monitoring the User ExperienceNagios Conference 2012 - Nathan Vonnahme - Monitoring the User Experience
Nagios Conference 2012 - Nathan Vonnahme - Monitoring the User Experience
 
Nagios Conference 2012 - Ethan Galstad - Keynote
Nagios Conference 2012 - Ethan Galstad - KeynoteNagios Conference 2012 - Ethan Galstad - Keynote
Nagios Conference 2012 - Ethan Galstad - Keynote
 
Nagios Conference 2012 - Sam Lansing - Automating Windows Application Testing...
Nagios Conference 2012 - Sam Lansing - Automating Windows Application Testing...Nagios Conference 2012 - Sam Lansing - Automating Windows Application Testing...
Nagios Conference 2012 - Sam Lansing - Automating Windows Application Testing...
 

Similar to Nagios Conference 2013 - BOF Nagios Plugins New Threshold Specification Syntax

The Ring programming language version 1.8 book - Part 95 of 202
The Ring programming language version 1.8 book - Part 95 of 202The Ring programming language version 1.8 book - Part 95 of 202
The Ring programming language version 1.8 book - Part 95 of 202
Mahmoud Samir Fayed
 
COMM 166 Final Research Proposal GuidelinesThe proposal should.docx
COMM 166 Final Research Proposal GuidelinesThe proposal should.docxCOMM 166 Final Research Proposal GuidelinesThe proposal should.docx
COMM 166 Final Research Proposal GuidelinesThe proposal should.docx
monicafrancis71118
 
Linux Kernel, tested by the Linux-version of PVS-Studio
Linux Kernel, tested by the Linux-version of PVS-StudioLinux Kernel, tested by the Linux-version of PVS-Studio
Linux Kernel, tested by the Linux-version of PVS-Studio
PVS-Studio
 
COMM 166 Final Research Proposal GuidelinesThe proposal should.docx
COMM 166 Final Research Proposal GuidelinesThe proposal should.docxCOMM 166 Final Research Proposal GuidelinesThe proposal should.docx
COMM 166 Final Research Proposal GuidelinesThe proposal should.docx
cargillfilberto
 
COMM 166 Final Research Proposal GuidelinesThe proposal should.docx
COMM 166 Final Research Proposal GuidelinesThe proposal should.docxCOMM 166 Final Research Proposal GuidelinesThe proposal should.docx
COMM 166 Final Research Proposal GuidelinesThe proposal should.docx
drandy1
 
Neal Gafter Java Evolution
Neal Gafter Java EvolutionNeal Gafter Java Evolution
Neal Gafter Java Evolutiondeimos
 
MT_01_unittest_python.pdf
MT_01_unittest_python.pdfMT_01_unittest_python.pdf
MT_01_unittest_python.pdf
Hans Jones
 
The Ring programming language version 1.7 book - Part 92 of 196
The Ring programming language version 1.7 book - Part 92 of 196The Ring programming language version 1.7 book - Part 92 of 196
The Ring programming language version 1.7 book - Part 92 of 196
Mahmoud Samir Fayed
 
VB_ERROR CONTROL_FILE HANDLING.ppt
VB_ERROR CONTROL_FILE HANDLING.pptVB_ERROR CONTROL_FILE HANDLING.ppt
VB_ERROR CONTROL_FILE HANDLING.ppt
BhuvanaR13
 
Examples from Pune meetup
Examples from Pune meetupExamples from Pune meetup
Examples from Pune meetup
Santosh Ojha
 
Nagios Conference 2011 - Nathan Vonnahme - Writing Custom Nagios Plugins In Perl
Nagios Conference 2011 - Nathan Vonnahme - Writing Custom Nagios Plugins In PerlNagios Conference 2011 - Nathan Vonnahme - Writing Custom Nagios Plugins In Perl
Nagios Conference 2011 - Nathan Vonnahme - Writing Custom Nagios Plugins In Perl
Nagios
 
The First C# Project Analyzed
The First C# Project AnalyzedThe First C# Project Analyzed
The First C# Project Analyzed
PVS-Studio
 
Measuring maintainability; software metrics explained
Measuring maintainability; software metrics explainedMeasuring maintainability; software metrics explained
Measuring maintainability; software metrics explained
Dennis de Greef
 
Evolving The Java Language
Evolving The Java LanguageEvolving The Java Language
Evolving The Java LanguageQConLondon2008
 
Testing the frontend
Testing the frontendTesting the frontend
Testing the frontend
Heiko Hardt
 
OSMC 2008 | An Active Check on the Status of the Nagios Plugins PART 2 by Ton...
OSMC 2008 | An Active Check on the Status of the Nagios Plugins PART 2 by Ton...OSMC 2008 | An Active Check on the Status of the Nagios Plugins PART 2 by Ton...
OSMC 2008 | An Active Check on the Status of the Nagios Plugins PART 2 by Ton...
NETWAYS
 
Exploring Microoptimizations Using Tizen Code as an Example
Exploring Microoptimizations Using Tizen Code as an ExampleExploring Microoptimizations Using Tizen Code as an Example
Exploring Microoptimizations Using Tizen Code as an Example
PVS-Studio
 
Java 17
Java 17Java 17
Java 17
Mutlu Okuducu
 
Benchy: Lightweight framework for Performance Benchmarks
Benchy: Lightweight framework for Performance Benchmarks Benchy: Lightweight framework for Performance Benchmarks
Benchy: Lightweight framework for Performance Benchmarks
Marcel Caraciolo
 

Similar to Nagios Conference 2013 - BOF Nagios Plugins New Threshold Specification Syntax (20)

The Ring programming language version 1.8 book - Part 95 of 202
The Ring programming language version 1.8 book - Part 95 of 202The Ring programming language version 1.8 book - Part 95 of 202
The Ring programming language version 1.8 book - Part 95 of 202
 
COMM 166 Final Research Proposal GuidelinesThe proposal should.docx
COMM 166 Final Research Proposal GuidelinesThe proposal should.docxCOMM 166 Final Research Proposal GuidelinesThe proposal should.docx
COMM 166 Final Research Proposal GuidelinesThe proposal should.docx
 
Linux Kernel, tested by the Linux-version of PVS-Studio
Linux Kernel, tested by the Linux-version of PVS-StudioLinux Kernel, tested by the Linux-version of PVS-Studio
Linux Kernel, tested by the Linux-version of PVS-Studio
 
COMM 166 Final Research Proposal GuidelinesThe proposal should.docx
COMM 166 Final Research Proposal GuidelinesThe proposal should.docxCOMM 166 Final Research Proposal GuidelinesThe proposal should.docx
COMM 166 Final Research Proposal GuidelinesThe proposal should.docx
 
COMM 166 Final Research Proposal GuidelinesThe proposal should.docx
COMM 166 Final Research Proposal GuidelinesThe proposal should.docxCOMM 166 Final Research Proposal GuidelinesThe proposal should.docx
COMM 166 Final Research Proposal GuidelinesThe proposal should.docx
 
Neal Gafter Java Evolution
Neal Gafter Java EvolutionNeal Gafter Java Evolution
Neal Gafter Java Evolution
 
MT_01_unittest_python.pdf
MT_01_unittest_python.pdfMT_01_unittest_python.pdf
MT_01_unittest_python.pdf
 
The Ring programming language version 1.7 book - Part 92 of 196
The Ring programming language version 1.7 book - Part 92 of 196The Ring programming language version 1.7 book - Part 92 of 196
The Ring programming language version 1.7 book - Part 92 of 196
 
VB_ERROR CONTROL_FILE HANDLING.ppt
VB_ERROR CONTROL_FILE HANDLING.pptVB_ERROR CONTROL_FILE HANDLING.ppt
VB_ERROR CONTROL_FILE HANDLING.ppt
 
Examples from Pune meetup
Examples from Pune meetupExamples from Pune meetup
Examples from Pune meetup
 
Nagios Conference 2011 - Nathan Vonnahme - Writing Custom Nagios Plugins In Perl
Nagios Conference 2011 - Nathan Vonnahme - Writing Custom Nagios Plugins In PerlNagios Conference 2011 - Nathan Vonnahme - Writing Custom Nagios Plugins In Perl
Nagios Conference 2011 - Nathan Vonnahme - Writing Custom Nagios Plugins In Perl
 
The First C# Project Analyzed
The First C# Project AnalyzedThe First C# Project Analyzed
The First C# Project Analyzed
 
Measuring maintainability; software metrics explained
Measuring maintainability; software metrics explainedMeasuring maintainability; software metrics explained
Measuring maintainability; software metrics explained
 
Evolving The Java Language
Evolving The Java LanguageEvolving The Java Language
Evolving The Java Language
 
Testing the frontend
Testing the frontendTesting the frontend
Testing the frontend
 
Csharp generics
Csharp genericsCsharp generics
Csharp generics
 
OSMC 2008 | An Active Check on the Status of the Nagios Plugins PART 2 by Ton...
OSMC 2008 | An Active Check on the Status of the Nagios Plugins PART 2 by Ton...OSMC 2008 | An Active Check on the Status of the Nagios Plugins PART 2 by Ton...
OSMC 2008 | An Active Check on the Status of the Nagios Plugins PART 2 by Ton...
 
Exploring Microoptimizations Using Tizen Code as an Example
Exploring Microoptimizations Using Tizen Code as an ExampleExploring Microoptimizations Using Tizen Code as an Example
Exploring Microoptimizations Using Tizen Code as an Example
 
Java 17
Java 17Java 17
Java 17
 
Benchy: Lightweight framework for Performance Benchmarks
Benchy: Lightweight framework for Performance Benchmarks Benchy: Lightweight framework for Performance Benchmarks
Benchy: Lightweight framework for Performance Benchmarks
 

More from Nagios

Nagios XI Best Practices
Nagios XI Best PracticesNagios XI Best Practices
Nagios XI Best Practices
Nagios
 
Jesse Olson - Nagios Log Server Architecture Overview
Jesse Olson - Nagios Log Server Architecture OverviewJesse Olson - Nagios Log Server Architecture Overview
Jesse Olson - Nagios Log Server Architecture Overview
Nagios
 
Trevor McDonald - Nagios XI Under The Hood
Trevor McDonald  - Nagios XI Under The HoodTrevor McDonald  - Nagios XI Under The Hood
Trevor McDonald - Nagios XI Under The Hood
Nagios
 
Sean Falzon - Nagios - Resilient Notifications
Sean Falzon - Nagios - Resilient NotificationsSean Falzon - Nagios - Resilient Notifications
Sean Falzon - Nagios - Resilient Notifications
Nagios
 
Marcus Rochelle - Landis+Gyr - Monitoring with Nagios Enterprise Edition
Marcus Rochelle - Landis+Gyr - Monitoring with Nagios Enterprise EditionMarcus Rochelle - Landis+Gyr - Monitoring with Nagios Enterprise Edition
Marcus Rochelle - Landis+Gyr - Monitoring with Nagios Enterprise Edition
Nagios
 
Janice Singh - Writing Custom Nagios Plugins
Janice Singh - Writing Custom Nagios PluginsJanice Singh - Writing Custom Nagios Plugins
Janice Singh - Writing Custom Nagios Plugins
Nagios
 
Dave Williams - Nagios Log Server - Practical Experience
Dave Williams - Nagios Log Server - Practical ExperienceDave Williams - Nagios Log Server - Practical Experience
Dave Williams - Nagios Log Server - Practical Experience
Nagios
 
Mike Weber - Nagios and Group Deployment of Service Checks
Mike Weber - Nagios and Group Deployment of Service ChecksMike Weber - Nagios and Group Deployment of Service Checks
Mike Weber - Nagios and Group Deployment of Service Checks
Nagios
 
Mike Guthrie - Revamping Your 10 Year Old Nagios Installation
Mike Guthrie - Revamping Your 10 Year Old Nagios InstallationMike Guthrie - Revamping Your 10 Year Old Nagios Installation
Mike Guthrie - Revamping Your 10 Year Old Nagios Installation
Nagios
 
Bryan Heden - Agile Networks - Using Nagios XI as the platform for Monitoring...
Bryan Heden - Agile Networks - Using Nagios XI as the platform for Monitoring...Bryan Heden - Agile Networks - Using Nagios XI as the platform for Monitoring...
Bryan Heden - Agile Networks - Using Nagios XI as the platform for Monitoring...
Nagios
 
Matt Bruzek - Monitoring Your Public Cloud With Nagios
Matt Bruzek - Monitoring Your Public Cloud With NagiosMatt Bruzek - Monitoring Your Public Cloud With Nagios
Matt Bruzek - Monitoring Your Public Cloud With Nagios
Nagios
 
Lee Myers - What To Do When Nagios Notification Don't Meet Your Needs.
Lee Myers - What To Do When Nagios Notification Don't Meet Your Needs.Lee Myers - What To Do When Nagios Notification Don't Meet Your Needs.
Lee Myers - What To Do When Nagios Notification Don't Meet Your Needs.
Nagios
 
Eric Loyd - Fractal Nagios
Eric Loyd - Fractal NagiosEric Loyd - Fractal Nagios
Eric Loyd - Fractal Nagios
Nagios
 
Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...
Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...
Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...
Nagios
 
Thomas Schmainda - Tracking Boeing Satellites With Nagios - Nagios World Conf...
Thomas Schmainda - Tracking Boeing Satellites With Nagios - Nagios World Conf...Thomas Schmainda - Tracking Boeing Satellites With Nagios - Nagios World Conf...
Thomas Schmainda - Tracking Boeing Satellites With Nagios - Nagios World Conf...
Nagios
 
Nagios World Conference 2015 - Scott Wilkerson Opening
Nagios World Conference 2015 - Scott Wilkerson OpeningNagios World Conference 2015 - Scott Wilkerson Opening
Nagios World Conference 2015 - Scott Wilkerson Opening
Nagios
 
Nrpe - Nagios Remote Plugin Executor. NRPE plugin for Nagios Core
Nrpe - Nagios Remote Plugin Executor. NRPE plugin for Nagios CoreNrpe - Nagios Remote Plugin Executor. NRPE plugin for Nagios Core
Nrpe - Nagios Remote Plugin Executor. NRPE plugin for Nagios Core
Nagios
 
Nagios Log Server - Features
Nagios Log Server - FeaturesNagios Log Server - Features
Nagios Log Server - Features
Nagios
 
Nagios Network Analyzer - Features
Nagios Network Analyzer - FeaturesNagios Network Analyzer - Features
Nagios Network Analyzer - Features
Nagios
 
Nagios Conference 2014 - Dorance Martinez Cortes - Customizing Nagios
Nagios Conference 2014 - Dorance Martinez Cortes - Customizing NagiosNagios Conference 2014 - Dorance Martinez Cortes - Customizing Nagios
Nagios Conference 2014 - Dorance Martinez Cortes - Customizing Nagios
Nagios
 

More from Nagios (20)

Nagios XI Best Practices
Nagios XI Best PracticesNagios XI Best Practices
Nagios XI Best Practices
 
Jesse Olson - Nagios Log Server Architecture Overview
Jesse Olson - Nagios Log Server Architecture OverviewJesse Olson - Nagios Log Server Architecture Overview
Jesse Olson - Nagios Log Server Architecture Overview
 
Trevor McDonald - Nagios XI Under The Hood
Trevor McDonald  - Nagios XI Under The HoodTrevor McDonald  - Nagios XI Under The Hood
Trevor McDonald - Nagios XI Under The Hood
 
Sean Falzon - Nagios - Resilient Notifications
Sean Falzon - Nagios - Resilient NotificationsSean Falzon - Nagios - Resilient Notifications
Sean Falzon - Nagios - Resilient Notifications
 
Marcus Rochelle - Landis+Gyr - Monitoring with Nagios Enterprise Edition
Marcus Rochelle - Landis+Gyr - Monitoring with Nagios Enterprise EditionMarcus Rochelle - Landis+Gyr - Monitoring with Nagios Enterprise Edition
Marcus Rochelle - Landis+Gyr - Monitoring with Nagios Enterprise Edition
 
Janice Singh - Writing Custom Nagios Plugins
Janice Singh - Writing Custom Nagios PluginsJanice Singh - Writing Custom Nagios Plugins
Janice Singh - Writing Custom Nagios Plugins
 
Dave Williams - Nagios Log Server - Practical Experience
Dave Williams - Nagios Log Server - Practical ExperienceDave Williams - Nagios Log Server - Practical Experience
Dave Williams - Nagios Log Server - Practical Experience
 
Mike Weber - Nagios and Group Deployment of Service Checks
Mike Weber - Nagios and Group Deployment of Service ChecksMike Weber - Nagios and Group Deployment of Service Checks
Mike Weber - Nagios and Group Deployment of Service Checks
 
Mike Guthrie - Revamping Your 10 Year Old Nagios Installation
Mike Guthrie - Revamping Your 10 Year Old Nagios InstallationMike Guthrie - Revamping Your 10 Year Old Nagios Installation
Mike Guthrie - Revamping Your 10 Year Old Nagios Installation
 
Bryan Heden - Agile Networks - Using Nagios XI as the platform for Monitoring...
Bryan Heden - Agile Networks - Using Nagios XI as the platform for Monitoring...Bryan Heden - Agile Networks - Using Nagios XI as the platform for Monitoring...
Bryan Heden - Agile Networks - Using Nagios XI as the platform for Monitoring...
 
Matt Bruzek - Monitoring Your Public Cloud With Nagios
Matt Bruzek - Monitoring Your Public Cloud With NagiosMatt Bruzek - Monitoring Your Public Cloud With Nagios
Matt Bruzek - Monitoring Your Public Cloud With Nagios
 
Lee Myers - What To Do When Nagios Notification Don't Meet Your Needs.
Lee Myers - What To Do When Nagios Notification Don't Meet Your Needs.Lee Myers - What To Do When Nagios Notification Don't Meet Your Needs.
Lee Myers - What To Do When Nagios Notification Don't Meet Your Needs.
 
Eric Loyd - Fractal Nagios
Eric Loyd - Fractal NagiosEric Loyd - Fractal Nagios
Eric Loyd - Fractal Nagios
 
Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...
Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...
Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...
 
Thomas Schmainda - Tracking Boeing Satellites With Nagios - Nagios World Conf...
Thomas Schmainda - Tracking Boeing Satellites With Nagios - Nagios World Conf...Thomas Schmainda - Tracking Boeing Satellites With Nagios - Nagios World Conf...
Thomas Schmainda - Tracking Boeing Satellites With Nagios - Nagios World Conf...
 
Nagios World Conference 2015 - Scott Wilkerson Opening
Nagios World Conference 2015 - Scott Wilkerson OpeningNagios World Conference 2015 - Scott Wilkerson Opening
Nagios World Conference 2015 - Scott Wilkerson Opening
 
Nrpe - Nagios Remote Plugin Executor. NRPE plugin for Nagios Core
Nrpe - Nagios Remote Plugin Executor. NRPE plugin for Nagios CoreNrpe - Nagios Remote Plugin Executor. NRPE plugin for Nagios Core
Nrpe - Nagios Remote Plugin Executor. NRPE plugin for Nagios Core
 
Nagios Log Server - Features
Nagios Log Server - FeaturesNagios Log Server - Features
Nagios Log Server - Features
 
Nagios Network Analyzer - Features
Nagios Network Analyzer - FeaturesNagios Network Analyzer - Features
Nagios Network Analyzer - Features
 
Nagios Conference 2014 - Dorance Martinez Cortes - Customizing Nagios
Nagios Conference 2014 - Dorance Martinez Cortes - Customizing NagiosNagios Conference 2014 - Dorance Martinez Cortes - Customizing Nagios
Nagios Conference 2014 - Dorance Martinez Cortes - Customizing Nagios
 

Recently uploaded

Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 

Recently uploaded (20)

Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 

Nagios Conference 2013 - BOF Nagios Plugins New Threshold Specification Syntax

  • 1. BOF: Nagios Plugins New Threshold Specification Syntax Comments to : nagiosplug-devel@lists.sourceforge.net October 1, 2013 Saint Paul, MN
  • 2. 2 Current State of Nagios Plugins Syntax There is Nagios Threshold Specification as part of Nagios Plugins Development Guidelines: https://www.nagios-plugins.org/doc/guidelines.html This is supported by most core plugins and followed by many other plugin authors. However: The range syntax is confusing and quite limited. People think the @a:b syntax for checking if something is within the range is unnatural and difficult to understand. Many (most!) plugins have multiple metrics that can be checked, yet nagios development guidelines call for threshold to be specified in one set of –warn (-w) and –critical (-c) options. The syntax is not extendable for adding additional parameters related to checking of specific metric. Many plugins end up with a ton of options which becomes even more confusing for the users
  • 3. 3 History of the proposal To encourage discussion on how to deal with these issues a draft proposal called “New Threshold Syntax” was written by Ton Voon five years ago. It used to be available at nagiosplugins.org The Plugins Development Team discussed this internally, but didn't reach a consensus on how to proceed, so this was never implemented by any core plugin. Ton is no longer involved in Nagios-Plugins project either. However some 3rd-party plugin authors liked this proposal and moved forward to partially implement it in their own libraries and plugins. Current libraries that partially support this or something similar are: Pynag (http://pynag.org/), JNRPE (http://jnrpe.sourceforge.net/), Naglio (https://github.com/willixix/WL-NagiosPlugins) Current proposal is an extension of original with some additions from Naglio.pm plus ideas proposed at nagios-plugins mail list discussion. Current text is at: https://github.com/willixix/nagios-plugins/wiki/New-Threshold-Syntax
  • 4. 4 Proposal: New Threshold Option https://github.com/willixix/nagios-plugins/wiki/New-Threshold-Syntax New single Threshold option that can be repeated: --threshold={threshold definition} --th={threshold definition} The threshold definition is a subgetopt format with a list of keywords followed by '=' or ':' and then data. --threshold metric={metric},name={name},label={label},ok={range}, warn={range},crit={range},absent=critical|warning|ok|unknown, display=yes|no,perf=yes|no,unit={unit},prefix={SI prefix} OR --threshold=metric:{metric},name:{name},label:{label},ok:{range},warn: {range},crit:{range},absent:critical|warning|ok|unknown,display:yes|no, perf:yes|no,unit:{unit},prefix:{SI prefix}
  • 5. 5 Examples To check httpd processes are OK if the virtual size is under 8096 bytes. Warn until they reach 16182, but bigger than that is CRITICAL. old: check_procs -w 8096 -c 16182 -C httpd --metric VSZ new: check_procs -C httpd –th metric=vsize,ok=0..8096,warn=8097..16182 There should always be one and only one 'tnslsnr' process. Otherwise critical. old: check_procs -w 1:1 -c 1:1 -C tnslsnr new: check_procs -C tnslsnr --th metric=count,ok=1..1 Load averages (1,5,15 minute) should be within reasonable ranges. old: check_load -w 1.0,0.8,0.7 -c 1.5,1.3,1.0 new: check_load --th metric=1min,ok=0..1.0,warn=1.0..1.5 --th metric=5min,ok=0..0.8,warn=0.8..1.3 --th metric=15min,ok=0..0.7,warn=0.7..1.0
  • 6. 6 Proposal: New Range Syntax New “natural” format for range. Simple ranges have format: start..end (such as “warn=0..20”) - start and end are numeric or “inf”. require start ≤ end - if start = "inf" or “-inf”, this is negative infinity. - if end = "inf", this is positive infinity - alert is raised if value is inside start and end range Complex ranges have the following additions: addition of () and [] brackets which are used in math for interval notation () is open interval, means end points are not included [] is closed interval, means end points are included addition of ^ used to negate interval, preferably this is followed by () or [] Examples (“current range format” → “new range format”): 10 → 10 or ^[0..10] - alert if < 0 or > 10, (outside of {0 .. 10}) 10: → ^[10..inf] - alert if < 10, (outside of {10 .. ∞}) ~:10 → ^[-inf..10] - alert if > 10, (outside of {-∞ .. 10}) 10:20 → ^[10..20] - alert if < 10 or > 20, (outside of {10 .. 20}) @10:20 → 10..20 - alert if ≥ 10 and ≤ 20, (inside of {10 .. 20})
  • 7. 7 Proposal: 'warn', 'crit', 'ok' levels “ok”, “warn”, “crit” are level specification keywords. Basic syntax: ok:{range},warn:{range},crit:{range} OR ok={range},warn={range},crit={range} Ranges are used with warn, crit, ok keywords which combined specify when and what type of alert is to be issued: - if no levels are specified, return OK - If an ok level is specified and value is within range, return OK - If a critical level is specified and value is within range, return CRITICAL - If a warning level is specified and value is within range, return WARNING - If an ok level is specified, return CRITICAL - Otherwise return OK These keywords maybe repeated more than once to specify complex non-continuous range. The ranges are combined as a logical “OR”. A proposed extension is to also have “awarn”, “aok”, “acrit” keywords which allow levels to be combined with a logical AND. The primary use of this is with multiple metrics specifying that alert is to be issued when values for both metrics are within specified ranges.
  • 8. 8 Proposal: 'metric', 'name', 'regex', 'label' keywords metric={name} OR metric:{name} This keyword specifies alphanumeric name of the metric being checked by the plugin (name has meaning for plugin itself).This is usually first keyword in threshold option line name={name} OR name:{name} This is used with plugins that can get data on multiple named data values (attributes) and where different metric to be checked are available for these named attributes. Examples of this are: - process name, where process memory and cpu use are metrics. - network interface name, where bytes_in and bytes_out are metrics. regex='yes|no' OR regex:'yes|no' Enables or disables regex matching of {name} in 'name' and 'metric' label={name}' OR label:{name} perf_label={name} OR perf_label:{name} These are used re-label 'name' or 'metric' for status line and perf output, usually to make long name shorter.
  • 9. 9 Proposal: other keywords absent='warn|critical|ok|unknown' Nagios exit status and alert if specified named value or metric are not available. This overrides default 'unknown' many plugins use. display='yes|no' OR display:'yes|no' Specifies if metric info & value should be included in status line output perf='yes|no' OR perf:'yes|no' Specifies if metric value should be included in perf output prefix={prefix} OR prefix:{prefix} The prefix is used to multiply the input range for display of data in status output. Allowed {prefix} values are slight expansion of those defined by NIST at http://physics.nist.gov/cuu/Units/prefixes.html: unit={unit} OR uom={unit} OR unit:{unit} OR uom:{unit} {unit} is a single symbol or string that specify the Unit of Measurement (UOM) for plugins that do not know about the type of value returned. Base UOMs are: '%' for percent and 'c' for performance counters.. Custom UOMs may include one-letter prefix followed by abbreviation or full NIST prefix followed by '-' and then label. For example: kb = kilo-b = kilo-bits
  • 10. 10 Discussion Is this good proposal base or are there serious issues? The proposal currently does mention how to output new complex ranges for use by performance graphing utilities. Any suggestions on how to best handle this? It may take some time for official plugin developers to implement especially since Ton Voon is no longer involved. Should we ask them to do it? Do we want to move forward and and finalize this as standard? Any other suggestions for plugin standardization?
  • 11. 11 Extra: XML spec for describing plugins? Separate issue how to provide information on how to configure various plugins for web user interface that various nagios packages have. One proposal could be to write an XML spec that could be used to describe options that plugins have. This can be thought of as structured help (and in fact such XML can be converted into manual page or help). This would be something like: <plugin name=”check_snmp_..”> <options> <option name=”SNMP_Auth_Protocols”> <option_lines><line>L</line><line>authprotocols</line></option_lines> <accepted_values_list> <value id=1>md5</value><value id=2>sha1</value> </accepted_values_list> </option> </options> </plugin> For any Nagios package vendors are here - would this be of any interest to you?