SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Downloaden Sie, um offline zu lesen
Nagios and Another Layer of Indirection

               John Sellens

           jsellens@syonex.com




            September 27, 2012
 Notes PDF at http://www.syonex.com/notes/
Nagios and Another Layer of Indirection




             “All problems in
             computer science can
             be solved by another
             level of indirection”
             – David Wheeler

c 2012 John Sellens             Nagios World Conference North America 2012   1




    Notes:
          • I use this idea constantly
Nagios and Another Layer of Indirection




             Unix Philosophy:
             Write programs that do
             one thing and do it well
             – Doug McIlroy


c 2012 John Sellens             Nagios World Conference North America 2012               2




    Notes:
          • Doug McIlroy, inventor of the pipe, summarized his 1978 Bell System
              Technical Journal definition in Peter Salus’ “A Quarter Century of Unix”
              as “This is the Unix philosophy: Write programs that do one thing and do
              it well. Write programs to work together. Write programs to handle text
              streams, because that is a universal interface.”

          • Or so says Wikipedia
              http://en.wikipedia.org/wiki/Unix_philosophy

          • Or so says Eric S. Raymond in
              http://www.faqs.org/docs/artu/ch01s06.html “Basics of the Unix Philoso-
              phy” in “The Art of Unix Programming”
Nagios and Another Layer of Indirection




             Nagios Constitution:
             Separation of Core and
             State


c 2012 John Sellens               Nagios World Conference North America 2012   3




    Notes:
          • OK, so that’s a bit of a stretch
          • Separation of core and
                   – plugins

                   – addons

                   – etc. . . .
Nagios and Another Layer of Indirection




                                    Stolen from Ethan Galstad



c 2012 John Sellens             Nagios World Conference North America 2012          4




    Notes:
          • Shamelessly (shamefully?) stolen from Ethan Galstad’s FOSDEM 2005
              presentation
              http://www.nagios.org/fosdem2005
              which is a link that no longer works

          • The key here is that there are separate components and the interfaces
              are (very!) well documented.
Nagios and Another Layer of Indirection




             Well Defined Interfaces




c 2012 John Sellens             Nagios World Conference North America 2012          5




    Notes:
          • Simple interfaces between components
          • Well defined and documented
          • One of the keys to Nagios’ success, I’ll claim, is the documentation.
Nagios and Another Layer of Indirection




             Where Is There
             Indirection?



c 2012 John Sellens             Nagios World Conference North America 2012            6




    Notes:
          • Indirection already shows up in a number of places, but it might not be
              immediately obvious.
Nagios and Another Layer of Indirection




             negate




c 2012 John Sellens             Nagios World Conference North America 2012            7




    Notes:
          • negate is my favorite
                   – Simple, elegant

                   – Well, except for all those options . . .

          • “The World Turned Upside Down” (with a tip of the lyrical hat to Leon
              Rosselson and the cover version by Billy Bragg)

          • For example, check that a port is not open (e.g. HTTP 80, or Telnet 23)
Nagios and Another Layer of Indirection




       Ways to Get There From Here
        • check_by_ssh
        • check_nrpe
        • check_snmp




c 2012 John Sellens             Nagios World Conference North America 2012   8




    Notes:
          • More wrappers around existing plugins
                   – Or arbitrary commands

          • In one sense or another
          • Different transports
Nagios and Another Layer of Indirection




       Making Pictures / Storing Data
        • Apan — the original grapher
             – Wrapped the plugins, saved to RRD files,
                 made some graphs

             – Followed by a host of others, using
                 various techniques

        • Feed a database with a plugin wrapper


c 2012 John Sellens             Nagios World Conference North America 2012              9




    Notes:
          • At least I think Apan was the original graphing tool for Nagios
                   – Plugin wrapper stored perfdata for certain plugins in RRD files

                   – Others used the “service_perfdata_command” setting

                   – Some read perfdata from the log file

                   – Is there one (yet?) that uses an exent broker module?

          • Now, data manipulation via event broker modules is likely the best way
                   – But event broker modules don’t seem to have caught on as well as
                     they should

                   – Check out Dave Josephsen’s “Stop Being Lazy And Write An Event
                     Broker Module Already” which is in this same time slot, track 3
Nagios and Another Layer of Indirection




             How Can We
             Implement Indirection?



c 2012 John Sellens             Nagios World Conference North America 2012   10
Nagios and Another Layer of Indirection




       Principle: Unix Philosophy
        • Plugins/tools don’t need to sing and dance
        • Combine multiple tools
             – Add plugin timeout with timeout(1)

             – Reformat plugin input or output

             – Answer unanticipated questions




c 2012 John Sellens             Nagios World Conference North America 2012   11
Nagios and Another Layer of Indirection




       Principle: Custom Wraps
        • Multi-stage plugin checks with a shell script
        • Check multiple things
             – Is at least one interface up?

             – Is at least one redundant server up?

        • Expect scripts for interactions
        • Web form posting tools

c 2012 John Sellens             Nagios World Conference North America 2012   12
Nagios and Another Layer of Indirection




       Principle: Custom Wraps
        • “Pervasive wrapper” — redefine $USER1$
             $USER1$=/usr/local/mywrapper
               /usr/local/libexec/nagios
        •    Custom object variables in the environment
             _web_regexp SomeRegExp
             NAGIOS__HOSTWEB_REGEXP
        •    Environment macros mean your plugins can
             know everything


c 2012 John Sellens             Nagios World Conference North America 2012   13




    Notes:
          • i.e. You can make your configs suddenly very different
          • enable_environment_macros=1
Nagios and Another Layer of Indirection




       Principle: Simpler Configs
        • Simple commands in Nagios configs
        • Same config for every machine
        • Set limits outside of Nagios configs
             – Manually or automatically

             – Move details/smarts outside the configs




c 2012 John Sellens             Nagios World Conference North America 2012       14




    Notes:
          • Well, maybe not every machine, but try to avoid per-machine configs
Nagios and Another Layer of Indirection




       Principle: Smarter Plugins
        • Let the plugin do the work
        • Smart(-er) wrappers for existing plugins
             – Time of day changes
             – Logic enhancements
             – Check only what exists

        • Plugin can assume first observed state is
             “normal” and complain if it changes

c 2012 John Sellens             Nagios World Conference North America 2012                    15




    Notes:
          • For example, I recently wrote a simple plugin to make sure someone is
              listed as “on duty” — the plugin itself behaves different outside of what (it
              believes are) normal office hours

          • A plugin could check what kind of RAID (or other) interface there is on a
              machine, and do the appropriate check

          • A plugin can keep track of “normal” state and complain if state changes
                   – My check_mysqlvars tells us if any MySQL settings change, as-
                     suming that the original state is “correct”
Nagios and Another Layer of Indirection




       Principle: Derived Thresholds
        • Let the plugin do the work (again)
        • Dynamically adjust thresholds
             – Time of day
             – Trends, past experience
             – Based on other current state/activity

        • Let the machines make config changes,
             instead of you

c 2012 John Sellens             Nagios World Conference North America 2012             16




    Notes:
          • There is mathematics that will tell you if something is unusual
                   – Cricket can use Holt-Winters Forecasting for aberrent behaviour
                     detection

                   – Undoubtedly other techniques (standard deviation perhaps?)(

                   – I have forgotten everything I once knew about math
Nagios and Another Layer of Indirection




             How Else Can We Use
             These Principles?



c 2012 John Sellens             Nagios World Conference North America 2012                17




    Notes:
          • This is the point at which I start talking about some of the tools I’ve put
              together

          • And I hope some of the ideas are new to you
Nagios and Another Layer of Indirection




       Get Found: check_snmpexec
        • Define exec commands in snmpd.conf
        • snmpwalk the exec table, find command
        • snmpget the command
        • Let machine do the work of keeping track




c 2012 John Sellens             Nagios World Conference North America 2012             18




    Notes:
          • e.g. check_snmpexec host snmpcomm execname
          • Sadly, can’t pass arguments via SNMP
          • We use it for things like checking RAID status, is the mailq empty, IPMI
              reports ok, etc.
Nagios and Another Layer of Indirection




       Get Limits: check_allstorage
        • snmpwalk hrStorageTable
        • Track volumes/devices that exist
        • Generate and record limits in per-host file
        • No config changes required when
             filesystems come and go

        • check_storage calls check_allstorage and
             check_inodes

c 2012 John Sellens             Nagios World Conference North America 2012   19




    Notes:
          • An extension of check_snmp_storage
                   – Author: Patrick Proy ( patrick at proy.org)

                   – http://www.manubulon.com/nagios/

          • Similarly for NetApp volumes, inode counts/limits, etc.
Nagios and Another Layer of Indirection




       Get Service: check_winservices
        • check_winsvc: snmptable windows services
             – Confirms that services on cmd line are on

        • check_winservices uses files to know what
             should be running

             – Calls check_winsvc with per-host services

             – Initializes per-host lists if missing


c 2012 John Sellens             Nagios World Conference North America 2012               20




    Notes:
          • There are global FORCE and IGNORE files, used to initialize per-host
              lists

          • Currently no way to check that a service is not running
                      – My most common problem is services that stop, rather than ser-
                        vices that show up
Nagios and Another Layer of Indirection




       Where to Go: mbdivert
        • Different ways to get to a remote host
             – Based on hostname, IP, domain, etc.

        • Send checks through a per-location gateway
             – Firewall, relay host, etc.

        • Nagios host/service configs are identical
             – Access method defined in mbdivert.cfg


c 2012 John Sellens             Nagios World Conference North America 2012                 21




    Notes:
          • Written to go with my MonBOX remote monitoring appliance
                   – Can be used with anything

          • Knows about ssh, nrpe, potentially more
          • Wrap your plugins with mbdivert
                   – individually in command definitions

                   – by redefining $USER1$, or

                   – by replacing actual plugin with a symlink to mbdivert named for the
                     plugin (and configuring PATH to start with where the real plugins
                     are)
Nagios and Another Layer of Indirection




       mbdivert Config
       method ssh

       pluginmatch check_snmp|check_openmanage
       divert mspmgt.company.com
       prefix msp
       # reset to match any plugin
       pluginmatch

       # for sfo, divert to the host itself with nrpe
       method nrpe
       divert -
       prefix sfo

       # otherwise go direct




c 2012 John Sellens             Nagios World Conference North America 2012         22




    Notes:
          • Configuration is in mbdivert.cfg
          • For ssh, there are config items for userid, identify file, known hosts
          • For nrpe, there are config items for timeout, port
Nagios and Another Layer of Indirection




       What to Say: genoa
        • GEneric NOtification Author/Arranger/Artist
        • Uses template files and environment
             variables to format notifications

        • Choose a template based on hostname,
             problem type, notification type, custom
             object variables


c 2012 John Sellens             Nagios World Conference North America 2012   23
Nagios and Another Layer of Indirection




       genoa in Configs

       define command {
           command_name                            host-by-email
           command_line                            genoa -s
       }
       define command {
           command_name                            host-by-pager
           command_line                            genoa -p -t
       }


c 2012 John Sellens             Nagios World Conference North America 2012         24




    Notes:
          • Isn’t that simpler than the typical printf piped into mail?
          • Uses all the environment variables set by
              enable_environment_macros=1

          • Could also of course use the env command to provide more environment
              variables
Nagios and Another Layer of Indirection




       Sample genoa Template
       Subject: $NOTIFICATIONTYPE$ - $HOSTNAME$/$SERVICEDESC$
       is $SERVICESTATE$ - alert $NOTIFICATIONNUMBER$
       To: $CONTACTEMAIL$

       $NOTIFICATIONTYPE$: $SERVICEOUTPUT$

       Service: $SERVICEDESC$

       Host: $HOSTNAME$ / $HOSTALIAS$
       State: $SERVICESTATE$ for $SERVICEDURATION$
       Address: $HOSTADDRESS$

       Date/Time: $SHORTDATETIME$

       genoa template $GENOATEMPLATE$



c 2012 John Sellens             Nagios World Conference North America 2012              25




    Notes:
          • Rules for template searching based on
                   – HOSTNAME or HOSTADDRESS

                   – _GENOACLASS custom object variable

                   – For HOST or SERVICE problem

                   – NOTIFICATIONTYPE - problem, acknowledgement, etc

                   – Falls back on a default file

          • Nagios sometimes sets variables that I didn’t expect, so trying to deter-
              mine whether the notification is for a HOST problem or a SERVICE prob-
              lem is more convoluted than I had expected.
Nagios and Another Layer of Indirection




       Sample genoa Pager Templates
       tdir/pager/SERVICE_PROBLEM
       XX $HOSTNAME$ $SERVICEDESC$ $SERVICESTATE$
       $SERVICEOUTPUT$ for $SERVICEDURATION$
       $SHORTDATETIME$

       tdir/pager/SERVICE_ACKNOWLEDGEMENT
       ACK $HOSTNAME$ $SERVICEDESC$ $SERVICEACKAUTHOR$
       : $SERVICEACKCOMMENT$ : $SERVICESTATE$
       $SERVICEOUTPUT$ for $SERVICEDURATION$
       $SHORTDATETIME$




c 2012 John Sellens             Nagios World Conference North America 2012              26




    Notes:
          • I was surprised how expressive I could be with just the standard environ-
              ment variables

          • But one could imagine running templates through, say, m4
Nagios and Another Layer of Indirection




       Give Me a Call: tellitto
        • Implements multiple notification methods
        • Keeps trying until one succeeds
             – e.g. Try SMS service, modem, mail, etc.

        • Puts phone/pager numbers in one place
        • Pipe message into tellitto, or use genoa -t


c 2012 John Sellens             Nagios World Conference North America 2012   27
Nagios and Another Layer of Indirection




       Sample tellitto Config
       # Don’t put secrets in here
       # You can use different orders per contact
       # for better deliverability

       bob          pageuser bob
       bob          smsgateway 12125551234
       bob          clickatellgate 12125551234
       bob          mail -s tellitto-notification
                      bob@example.com

       sally        clickatell 12125557890
       sally        smsgateway 12125557890
       sally        pageuser sally
       sally        mail -s tellitto-notification
                      sally@example.com


c 2012 John Sellens             Nagios World Conference North America 2012    28




    Notes:
          • We have a command smsgateway which uses curl to send to our
              provider

          • Ditto for clickatellgate
          • We have a command pageuser which tries to use Hylfax’s sendpage
              to send via a modem
Nagios and Another Layer of Indirection




       Principles:
        • Unix Philosophy
        • Custom Wraps
        • Simpler Configs
        • Smarter Plugins
        • Derived Thresholds


c 2012 John Sellens             Nagios World Conference North America 2012                29




    Notes:
          • Tools I’ve written are (or will be) available at http://www.syonex.com/software

Weitere ähnliche Inhalte

Andere mochten auch

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
 
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 InstallationNagios
 
Sean Falzon - Nagios - Resilient Notifications
Sean Falzon - Nagios - Resilient NotificationsSean Falzon - Nagios - Resilient Notifications
Sean Falzon - Nagios - Resilient NotificationsNagios
 
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 ExperienceNagios
 
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 HoodNagios
 
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 OverviewNagios
 
федорякина анастасия+садик+частные детские сади и центры
федорякина анастасия+садик+частные детские сади и центрыфедорякина анастасия+садик+частные детские сади и центры
федорякина анастасия+садик+частные детские сади и центрыАнастасия Федорякина
 
Emily Miketinac- Resume 2016
Emily Miketinac- Resume 2016Emily Miketinac- Resume 2016
Emily Miketinac- Resume 2016Emily Miketinac
 
UNDP Vulnerability and Resilience
UNDP Vulnerability and ResilienceUNDP Vulnerability and Resilience
UNDP Vulnerability and ResilienceQuennie Jao
 
Practice this that these those
Practice this that these thosePractice this that these those
Practice this that these thosemusha2321
 
Building an efficient infrastructure, standards and data flow for metabolomics
Building an efficient infrastructure, standards and data flow for metabolomicsBuilding an efficient infrastructure, standards and data flow for metabolomics
Building an efficient infrastructure, standards and data flow for metabolomicsChristoph Steinbeck
 
Digital Badging at the Open University
Digital Badging at the Open UniversityDigital Badging at the Open University
Digital Badging at the Open UniversityDr Patrina Law
 
Tugas prodas 1 rekursif
Tugas prodas 1   rekursifTugas prodas 1   rekursif
Tugas prodas 1 rekursifRamdhan Rizki
 
How much do you know about correct posture
How much do you know about correct postureHow much do you know about correct posture
How much do you know about correct postureEason Chan
 

Andere mochten auch (20)

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...
 
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
 
Sean Falzon - Nagios - Resilient Notifications
Sean Falzon - Nagios - Resilient NotificationsSean Falzon - Nagios - Resilient Notifications
Sean Falzon - Nagios - Resilient Notifications
 
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
 
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
 
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
 
Trabajo práctico nº5
Trabajo práctico nº5Trabajo práctico nº5
Trabajo práctico nº5
 
Parc naturel règional du Queyras
Parc naturel règional du  QueyrasParc naturel règional du  Queyras
Parc naturel règional du Queyras
 
федорякина анастасия+садик+частные детские сади и центры
федорякина анастасия+садик+частные детские сади и центрыфедорякина анастасия+садик+частные детские сади и центры
федорякина анастасия+садик+частные детские сади и центры
 
Haven
HavenHaven
Haven
 
Sentieri napoleonici
Sentieri napoleoniciSentieri napoleonici
Sentieri napoleonici
 
Hill - Are we really bad? A look at software estimation accuracy
Hill - Are we really bad? A look at software estimation accuracyHill - Are we really bad? A look at software estimation accuracy
Hill - Are we really bad? A look at software estimation accuracy
 
Authentic
AuthenticAuthentic
Authentic
 
Emily Miketinac- Resume 2016
Emily Miketinac- Resume 2016Emily Miketinac- Resume 2016
Emily Miketinac- Resume 2016
 
UNDP Vulnerability and Resilience
UNDP Vulnerability and ResilienceUNDP Vulnerability and Resilience
UNDP Vulnerability and Resilience
 
Practice this that these those
Practice this that these thosePractice this that these those
Practice this that these those
 
Building an efficient infrastructure, standards and data flow for metabolomics
Building an efficient infrastructure, standards and data flow for metabolomicsBuilding an efficient infrastructure, standards and data flow for metabolomics
Building an efficient infrastructure, standards and data flow for metabolomics
 
Digital Badging at the Open University
Digital Badging at the Open UniversityDigital Badging at the Open University
Digital Badging at the Open University
 
Tugas prodas 1 rekursif
Tugas prodas 1   rekursifTugas prodas 1   rekursif
Tugas prodas 1 rekursif
 
How much do you know about correct posture
How much do you know about correct postureHow much do you know about correct posture
How much do you know about correct posture
 

Ähnlich wie Nagios Conference 2012 - John Sellens - Nagios Indirection

Devconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developedDevconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developedAlexander Makarov
 
A Lightning Introduction To Clouds & HLT - Human Language Technology Conference
A Lightning Introduction To Clouds & HLT - Human Language Technology ConferenceA Lightning Introduction To Clouds & HLT - Human Language Technology Conference
A Lightning Introduction To Clouds & HLT - Human Language Technology ConferenceBasis Technology
 
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 ExperienceNagios
 
Openstack In Real Life
Openstack In Real LifeOpenstack In Real Life
Openstack In Real LifePaul Guth
 
LCE12: Intro Training: Upstreaming 101
LCE12: Intro Training: Upstreaming 101LCE12: Intro Training: Upstreaming 101
LCE12: Intro Training: Upstreaming 101Linaro
 
Javascript Frameworks (and How to Learn Them)
Javascript Frameworks (and How to Learn Them)Javascript Frameworks (and How to Learn Them)
Javascript Frameworks (and How to Learn Them)All Things Open
 
LCA13: Upstreaming 101
LCA13: Upstreaming 101LCA13: Upstreaming 101
LCA13: Upstreaming 101Linaro
 
Upstreaming 1013
Upstreaming 1013Upstreaming 1013
Upstreaming 1013Linaro
 
lec06-programming.ppt
lec06-programming.pptlec06-programming.ppt
lec06-programming.pptDrBashirMSaad
 
Future of Sysadmin 2014
Future of Sysadmin 2014Future of Sysadmin 2014
Future of Sysadmin 2014Kris Buytaert
 
Error in hadoop
Error in hadoopError in hadoop
Error in hadoopLen Bass
 
GHAMAS Design Principles
GHAMAS Design PrinciplesGHAMAS Design Principles
GHAMAS Design PrinciplesMichael Rawlins
 
Hands on Exploration of Page Objects and Abstraction Layers with Selenium Web...
Hands on Exploration of Page Objects and Abstraction Layers with Selenium Web...Hands on Exploration of Page Objects and Abstraction Layers with Selenium Web...
Hands on Exploration of Page Objects and Abstraction Layers with Selenium Web...Alan Richardson
 
Solving the Database Problem
Solving the Database ProblemSolving the Database Problem
Solving the Database ProblemJay Gordon
 
Development Environment Tips
Development Environment TipsDevelopment Environment Tips
Development Environment TipsAdam Culp
 
Esage on non-existent 0-days, stable binary exploits and user interaction
Esage   on non-existent 0-days, stable binary exploits and user interactionEsage   on non-existent 0-days, stable binary exploits and user interaction
Esage on non-existent 0-days, stable binary exploits and user interactionDefconRussia
 
Drupal session 1 - What are drupal sessions?
Drupal session 1 - What are drupal sessions?Drupal session 1 - What are drupal sessions?
Drupal session 1 - What are drupal sessions?NETNODE AG
 

Ähnlich wie Nagios Conference 2012 - John Sellens - Nagios Indirection (20)

Devconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developedDevconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developed
 
A Lightning Introduction To Clouds & HLT - Human Language Technology Conference
A Lightning Introduction To Clouds & HLT - Human Language Technology ConferenceA Lightning Introduction To Clouds & HLT - Human Language Technology Conference
A Lightning Introduction To Clouds & HLT - Human Language Technology Conference
 
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
 
Openstack In Real Life
Openstack In Real LifeOpenstack In Real Life
Openstack In Real Life
 
LCE12: Intro Training: Upstreaming 101
LCE12: Intro Training: Upstreaming 101LCE12: Intro Training: Upstreaming 101
LCE12: Intro Training: Upstreaming 101
 
Javascript Frameworks (and How to Learn Them)
Javascript Frameworks (and How to Learn Them)Javascript Frameworks (and How to Learn Them)
Javascript Frameworks (and How to Learn Them)
 
Basic Views
Basic ViewsBasic Views
Basic Views
 
LCA13: Upstreaming 101
LCA13: Upstreaming 101LCA13: Upstreaming 101
LCA13: Upstreaming 101
 
Upstreaming 1013
Upstreaming 1013Upstreaming 1013
Upstreaming 1013
 
DAVIX - VizSec 2008
DAVIX - VizSec 2008DAVIX - VizSec 2008
DAVIX - VizSec 2008
 
lec06-programming.ppt
lec06-programming.pptlec06-programming.ppt
lec06-programming.ppt
 
Future of Sysadmin 2014
Future of Sysadmin 2014Future of Sysadmin 2014
Future of Sysadmin 2014
 
Error in hadoop
Error in hadoopError in hadoop
Error in hadoop
 
GHAMAS Design Principles
GHAMAS Design PrinciplesGHAMAS Design Principles
GHAMAS Design Principles
 
Hands on Exploration of Page Objects and Abstraction Layers with Selenium Web...
Hands on Exploration of Page Objects and Abstraction Layers with Selenium Web...Hands on Exploration of Page Objects and Abstraction Layers with Selenium Web...
Hands on Exploration of Page Objects and Abstraction Layers with Selenium Web...
 
Solving the Database Problem
Solving the Database ProblemSolving the Database Problem
Solving the Database Problem
 
SDLC Smashup
SDLC SmashupSDLC Smashup
SDLC Smashup
 
Development Environment Tips
Development Environment TipsDevelopment Environment Tips
Development Environment Tips
 
Esage on non-existent 0-days, stable binary exploits and user interaction
Esage   on non-existent 0-days, stable binary exploits and user interactionEsage   on non-existent 0-days, stable binary exploits and user interaction
Esage on non-existent 0-days, stable binary exploits and user interaction
 
Drupal session 1 - What are drupal sessions?
Drupal session 1 - What are drupal sessions?Drupal session 1 - What are drupal sessions?
Drupal session 1 - What are drupal sessions?
 

Mehr von Nagios

Nagios XI Best Practices
Nagios XI Best PracticesNagios XI Best Practices
Nagios XI Best PracticesNagios
 
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 EditionNagios
 
Janice Singh - Writing Custom Nagios Plugins
Janice Singh - Writing Custom Nagios PluginsJanice Singh - Writing Custom Nagios Plugins
Janice Singh - Writing Custom Nagios PluginsNagios
 
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 ChecksNagios
 
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 NagiosNagios
 
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 NagiosNagios
 
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 OpeningNagios
 
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 NagiosNagios
 
Nagios Conference 2014 - Mike Weber - Nagios Rapid Deployment Options
Nagios Conference 2014 - Mike Weber - Nagios Rapid Deployment OptionsNagios Conference 2014 - Mike Weber - Nagios Rapid Deployment Options
Nagios Conference 2014 - Mike Weber - Nagios Rapid Deployment OptionsNagios
 
Nagios Conference 2014 - Eric Mislivec - Getting Started With Nagios Core
Nagios Conference 2014 - Eric Mislivec - Getting Started With Nagios CoreNagios Conference 2014 - Eric Mislivec - Getting Started With Nagios Core
Nagios Conference 2014 - Eric Mislivec - Getting Started With Nagios CoreNagios
 
Nagios Conference 2014 - Trevor McDonald - Monitoring The Physical World With...
Nagios Conference 2014 - Trevor McDonald - Monitoring The Physical World With...Nagios Conference 2014 - Trevor McDonald - Monitoring The Physical World With...
Nagios Conference 2014 - Trevor McDonald - Monitoring The Physical World With...Nagios
 
Nagios Conference 2014 - Andy Brist - Nagios XI Failover and HA Solutions
Nagios Conference 2014 - Andy Brist - Nagios XI Failover and HA SolutionsNagios Conference 2014 - Andy Brist - Nagios XI Failover and HA Solutions
Nagios Conference 2014 - Andy Brist - Nagios XI Failover and HA SolutionsNagios
 
Nagios Conference 2014 - Shamas Demoret - An Overview of Nagios Solutions
Nagios Conference 2014 - Shamas Demoret - An Overview of Nagios SolutionsNagios Conference 2014 - Shamas Demoret - An Overview of Nagios Solutions
Nagios Conference 2014 - Shamas Demoret - An Overview of Nagios SolutionsNagios
 
Nagios Conference 2014 - Shamas Demoret - Getting Started With Nagios XI
Nagios Conference 2014 - Shamas Demoret - Getting Started With Nagios XINagios Conference 2014 - Shamas Demoret - Getting Started With Nagios XI
Nagios Conference 2014 - Shamas Demoret - Getting Started With Nagios XINagios
 
Nagios Conference 2014 - Abbas Haider Ali - Proactive Alerting and Intelligen...
Nagios Conference 2014 - Abbas Haider Ali - Proactive Alerting and Intelligen...Nagios Conference 2014 - Abbas Haider Ali - Proactive Alerting and Intelligen...
Nagios Conference 2014 - Abbas Haider Ali - Proactive Alerting and Intelligen...Nagios
 
Nagios Conference 2014 - Sam Lansing - Utilizing Data Visualizations in Syste...
Nagios Conference 2014 - Sam Lansing - Utilizing Data Visualizations in Syste...Nagios Conference 2014 - Sam Lansing - Utilizing Data Visualizations in Syste...
Nagios Conference 2014 - Sam Lansing - Utilizing Data Visualizations in Syste...Nagios
 
Nagios Conference 2014 - Sam Lansing - Advanced Features of Nagios XI
Nagios Conference 2014 - Sam Lansing - Advanced Features of Nagios XINagios Conference 2014 - Sam Lansing - Advanced Features of Nagios XI
Nagios Conference 2014 - Sam Lansing - Advanced Features of Nagios XINagios
 

Mehr von Nagios (20)

Nagios XI Best Practices
Nagios XI Best PracticesNagios XI Best Practices
Nagios XI Best Practices
 
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
 
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
 
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
 
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 Conference 2014 - Mike Weber - Nagios Rapid Deployment Options
Nagios Conference 2014 - Mike Weber - Nagios Rapid Deployment OptionsNagios Conference 2014 - Mike Weber - Nagios Rapid Deployment Options
Nagios Conference 2014 - Mike Weber - Nagios Rapid Deployment Options
 
Nagios Conference 2014 - Eric Mislivec - Getting Started With Nagios Core
Nagios Conference 2014 - Eric Mislivec - Getting Started With Nagios CoreNagios Conference 2014 - Eric Mislivec - Getting Started With Nagios Core
Nagios Conference 2014 - Eric Mislivec - Getting Started With Nagios Core
 
Nagios Conference 2014 - Trevor McDonald - Monitoring The Physical World With...
Nagios Conference 2014 - Trevor McDonald - Monitoring The Physical World With...Nagios Conference 2014 - Trevor McDonald - Monitoring The Physical World With...
Nagios Conference 2014 - Trevor McDonald - Monitoring The Physical World With...
 
Nagios Conference 2014 - Andy Brist - Nagios XI Failover and HA Solutions
Nagios Conference 2014 - Andy Brist - Nagios XI Failover and HA SolutionsNagios Conference 2014 - Andy Brist - Nagios XI Failover and HA Solutions
Nagios Conference 2014 - Andy Brist - Nagios XI Failover and HA Solutions
 
Nagios Conference 2014 - Shamas Demoret - An Overview of Nagios Solutions
Nagios Conference 2014 - Shamas Demoret - An Overview of Nagios SolutionsNagios Conference 2014 - Shamas Demoret - An Overview of Nagios Solutions
Nagios Conference 2014 - Shamas Demoret - An Overview of Nagios Solutions
 
Nagios Conference 2014 - Shamas Demoret - Getting Started With Nagios XI
Nagios Conference 2014 - Shamas Demoret - Getting Started With Nagios XINagios Conference 2014 - Shamas Demoret - Getting Started With Nagios XI
Nagios Conference 2014 - Shamas Demoret - Getting Started With Nagios XI
 
Nagios Conference 2014 - Abbas Haider Ali - Proactive Alerting and Intelligen...
Nagios Conference 2014 - Abbas Haider Ali - Proactive Alerting and Intelligen...Nagios Conference 2014 - Abbas Haider Ali - Proactive Alerting and Intelligen...
Nagios Conference 2014 - Abbas Haider Ali - Proactive Alerting and Intelligen...
 
Nagios Conference 2014 - Sam Lansing - Utilizing Data Visualizations in Syste...
Nagios Conference 2014 - Sam Lansing - Utilizing Data Visualizations in Syste...Nagios Conference 2014 - Sam Lansing - Utilizing Data Visualizations in Syste...
Nagios Conference 2014 - Sam Lansing - Utilizing Data Visualizations in Syste...
 
Nagios Conference 2014 - Sam Lansing - Advanced Features of Nagios XI
Nagios Conference 2014 - Sam Lansing - Advanced Features of Nagios XINagios Conference 2014 - Sam Lansing - Advanced Features of Nagios XI
Nagios Conference 2014 - Sam Lansing - Advanced Features of Nagios XI
 

Kürzlich hochgeladen

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 

Kürzlich hochgeladen (20)

The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 

Nagios Conference 2012 - John Sellens - Nagios Indirection

  • 1. Nagios and Another Layer of Indirection John Sellens jsellens@syonex.com September 27, 2012 Notes PDF at http://www.syonex.com/notes/
  • 2. Nagios and Another Layer of Indirection “All problems in computer science can be solved by another level of indirection” – David Wheeler c 2012 John Sellens Nagios World Conference North America 2012 1 Notes: • I use this idea constantly
  • 3. Nagios and Another Layer of Indirection Unix Philosophy: Write programs that do one thing and do it well – Doug McIlroy c 2012 John Sellens Nagios World Conference North America 2012 2 Notes: • Doug McIlroy, inventor of the pipe, summarized his 1978 Bell System Technical Journal definition in Peter Salus’ “A Quarter Century of Unix” as “This is the Unix philosophy: Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface.” • Or so says Wikipedia http://en.wikipedia.org/wiki/Unix_philosophy • Or so says Eric S. Raymond in http://www.faqs.org/docs/artu/ch01s06.html “Basics of the Unix Philoso- phy” in “The Art of Unix Programming”
  • 4. Nagios and Another Layer of Indirection Nagios Constitution: Separation of Core and State c 2012 John Sellens Nagios World Conference North America 2012 3 Notes: • OK, so that’s a bit of a stretch • Separation of core and – plugins – addons – etc. . . .
  • 5. Nagios and Another Layer of Indirection Stolen from Ethan Galstad c 2012 John Sellens Nagios World Conference North America 2012 4 Notes: • Shamelessly (shamefully?) stolen from Ethan Galstad’s FOSDEM 2005 presentation http://www.nagios.org/fosdem2005 which is a link that no longer works • The key here is that there are separate components and the interfaces are (very!) well documented.
  • 6. Nagios and Another Layer of Indirection Well Defined Interfaces c 2012 John Sellens Nagios World Conference North America 2012 5 Notes: • Simple interfaces between components • Well defined and documented • One of the keys to Nagios’ success, I’ll claim, is the documentation.
  • 7. Nagios and Another Layer of Indirection Where Is There Indirection? c 2012 John Sellens Nagios World Conference North America 2012 6 Notes: • Indirection already shows up in a number of places, but it might not be immediately obvious.
  • 8. Nagios and Another Layer of Indirection negate c 2012 John Sellens Nagios World Conference North America 2012 7 Notes: • negate is my favorite – Simple, elegant – Well, except for all those options . . . • “The World Turned Upside Down” (with a tip of the lyrical hat to Leon Rosselson and the cover version by Billy Bragg) • For example, check that a port is not open (e.g. HTTP 80, or Telnet 23)
  • 9. Nagios and Another Layer of Indirection Ways to Get There From Here • check_by_ssh • check_nrpe • check_snmp c 2012 John Sellens Nagios World Conference North America 2012 8 Notes: • More wrappers around existing plugins – Or arbitrary commands • In one sense or another • Different transports
  • 10. Nagios and Another Layer of Indirection Making Pictures / Storing Data • Apan — the original grapher – Wrapped the plugins, saved to RRD files, made some graphs – Followed by a host of others, using various techniques • Feed a database with a plugin wrapper c 2012 John Sellens Nagios World Conference North America 2012 9 Notes: • At least I think Apan was the original graphing tool for Nagios – Plugin wrapper stored perfdata for certain plugins in RRD files – Others used the “service_perfdata_command” setting – Some read perfdata from the log file – Is there one (yet?) that uses an exent broker module? • Now, data manipulation via event broker modules is likely the best way – But event broker modules don’t seem to have caught on as well as they should – Check out Dave Josephsen’s “Stop Being Lazy And Write An Event Broker Module Already” which is in this same time slot, track 3
  • 11. Nagios and Another Layer of Indirection How Can We Implement Indirection? c 2012 John Sellens Nagios World Conference North America 2012 10
  • 12. Nagios and Another Layer of Indirection Principle: Unix Philosophy • Plugins/tools don’t need to sing and dance • Combine multiple tools – Add plugin timeout with timeout(1) – Reformat plugin input or output – Answer unanticipated questions c 2012 John Sellens Nagios World Conference North America 2012 11
  • 13. Nagios and Another Layer of Indirection Principle: Custom Wraps • Multi-stage plugin checks with a shell script • Check multiple things – Is at least one interface up? – Is at least one redundant server up? • Expect scripts for interactions • Web form posting tools c 2012 John Sellens Nagios World Conference North America 2012 12
  • 14. Nagios and Another Layer of Indirection Principle: Custom Wraps • “Pervasive wrapper” — redefine $USER1$ $USER1$=/usr/local/mywrapper /usr/local/libexec/nagios • Custom object variables in the environment _web_regexp SomeRegExp NAGIOS__HOSTWEB_REGEXP • Environment macros mean your plugins can know everything c 2012 John Sellens Nagios World Conference North America 2012 13 Notes: • i.e. You can make your configs suddenly very different • enable_environment_macros=1
  • 15. Nagios and Another Layer of Indirection Principle: Simpler Configs • Simple commands in Nagios configs • Same config for every machine • Set limits outside of Nagios configs – Manually or automatically – Move details/smarts outside the configs c 2012 John Sellens Nagios World Conference North America 2012 14 Notes: • Well, maybe not every machine, but try to avoid per-machine configs
  • 16. Nagios and Another Layer of Indirection Principle: Smarter Plugins • Let the plugin do the work • Smart(-er) wrappers for existing plugins – Time of day changes – Logic enhancements – Check only what exists • Plugin can assume first observed state is “normal” and complain if it changes c 2012 John Sellens Nagios World Conference North America 2012 15 Notes: • For example, I recently wrote a simple plugin to make sure someone is listed as “on duty” — the plugin itself behaves different outside of what (it believes are) normal office hours • A plugin could check what kind of RAID (or other) interface there is on a machine, and do the appropriate check • A plugin can keep track of “normal” state and complain if state changes – My check_mysqlvars tells us if any MySQL settings change, as- suming that the original state is “correct”
  • 17. Nagios and Another Layer of Indirection Principle: Derived Thresholds • Let the plugin do the work (again) • Dynamically adjust thresholds – Time of day – Trends, past experience – Based on other current state/activity • Let the machines make config changes, instead of you c 2012 John Sellens Nagios World Conference North America 2012 16 Notes: • There is mathematics that will tell you if something is unusual – Cricket can use Holt-Winters Forecasting for aberrent behaviour detection – Undoubtedly other techniques (standard deviation perhaps?)( – I have forgotten everything I once knew about math
  • 18. Nagios and Another Layer of Indirection How Else Can We Use These Principles? c 2012 John Sellens Nagios World Conference North America 2012 17 Notes: • This is the point at which I start talking about some of the tools I’ve put together • And I hope some of the ideas are new to you
  • 19. Nagios and Another Layer of Indirection Get Found: check_snmpexec • Define exec commands in snmpd.conf • snmpwalk the exec table, find command • snmpget the command • Let machine do the work of keeping track c 2012 John Sellens Nagios World Conference North America 2012 18 Notes: • e.g. check_snmpexec host snmpcomm execname • Sadly, can’t pass arguments via SNMP • We use it for things like checking RAID status, is the mailq empty, IPMI reports ok, etc.
  • 20. Nagios and Another Layer of Indirection Get Limits: check_allstorage • snmpwalk hrStorageTable • Track volumes/devices that exist • Generate and record limits in per-host file • No config changes required when filesystems come and go • check_storage calls check_allstorage and check_inodes c 2012 John Sellens Nagios World Conference North America 2012 19 Notes: • An extension of check_snmp_storage – Author: Patrick Proy ( patrick at proy.org) – http://www.manubulon.com/nagios/ • Similarly for NetApp volumes, inode counts/limits, etc.
  • 21. Nagios and Another Layer of Indirection Get Service: check_winservices • check_winsvc: snmptable windows services – Confirms that services on cmd line are on • check_winservices uses files to know what should be running – Calls check_winsvc with per-host services – Initializes per-host lists if missing c 2012 John Sellens Nagios World Conference North America 2012 20 Notes: • There are global FORCE and IGNORE files, used to initialize per-host lists • Currently no way to check that a service is not running – My most common problem is services that stop, rather than ser- vices that show up
  • 22. Nagios and Another Layer of Indirection Where to Go: mbdivert • Different ways to get to a remote host – Based on hostname, IP, domain, etc. • Send checks through a per-location gateway – Firewall, relay host, etc. • Nagios host/service configs are identical – Access method defined in mbdivert.cfg c 2012 John Sellens Nagios World Conference North America 2012 21 Notes: • Written to go with my MonBOX remote monitoring appliance – Can be used with anything • Knows about ssh, nrpe, potentially more • Wrap your plugins with mbdivert – individually in command definitions – by redefining $USER1$, or – by replacing actual plugin with a symlink to mbdivert named for the plugin (and configuring PATH to start with where the real plugins are)
  • 23. Nagios and Another Layer of Indirection mbdivert Config method ssh pluginmatch check_snmp|check_openmanage divert mspmgt.company.com prefix msp # reset to match any plugin pluginmatch # for sfo, divert to the host itself with nrpe method nrpe divert - prefix sfo # otherwise go direct c 2012 John Sellens Nagios World Conference North America 2012 22 Notes: • Configuration is in mbdivert.cfg • For ssh, there are config items for userid, identify file, known hosts • For nrpe, there are config items for timeout, port
  • 24. Nagios and Another Layer of Indirection What to Say: genoa • GEneric NOtification Author/Arranger/Artist • Uses template files and environment variables to format notifications • Choose a template based on hostname, problem type, notification type, custom object variables c 2012 John Sellens Nagios World Conference North America 2012 23
  • 25. Nagios and Another Layer of Indirection genoa in Configs define command { command_name host-by-email command_line genoa -s } define command { command_name host-by-pager command_line genoa -p -t } c 2012 John Sellens Nagios World Conference North America 2012 24 Notes: • Isn’t that simpler than the typical printf piped into mail? • Uses all the environment variables set by enable_environment_macros=1 • Could also of course use the env command to provide more environment variables
  • 26. Nagios and Another Layer of Indirection Sample genoa Template Subject: $NOTIFICATIONTYPE$ - $HOSTNAME$/$SERVICEDESC$ is $SERVICESTATE$ - alert $NOTIFICATIONNUMBER$ To: $CONTACTEMAIL$ $NOTIFICATIONTYPE$: $SERVICEOUTPUT$ Service: $SERVICEDESC$ Host: $HOSTNAME$ / $HOSTALIAS$ State: $SERVICESTATE$ for $SERVICEDURATION$ Address: $HOSTADDRESS$ Date/Time: $SHORTDATETIME$ genoa template $GENOATEMPLATE$ c 2012 John Sellens Nagios World Conference North America 2012 25 Notes: • Rules for template searching based on – HOSTNAME or HOSTADDRESS – _GENOACLASS custom object variable – For HOST or SERVICE problem – NOTIFICATIONTYPE - problem, acknowledgement, etc – Falls back on a default file • Nagios sometimes sets variables that I didn’t expect, so trying to deter- mine whether the notification is for a HOST problem or a SERVICE prob- lem is more convoluted than I had expected.
  • 27. Nagios and Another Layer of Indirection Sample genoa Pager Templates tdir/pager/SERVICE_PROBLEM XX $HOSTNAME$ $SERVICEDESC$ $SERVICESTATE$ $SERVICEOUTPUT$ for $SERVICEDURATION$ $SHORTDATETIME$ tdir/pager/SERVICE_ACKNOWLEDGEMENT ACK $HOSTNAME$ $SERVICEDESC$ $SERVICEACKAUTHOR$ : $SERVICEACKCOMMENT$ : $SERVICESTATE$ $SERVICEOUTPUT$ for $SERVICEDURATION$ $SHORTDATETIME$ c 2012 John Sellens Nagios World Conference North America 2012 26 Notes: • I was surprised how expressive I could be with just the standard environ- ment variables • But one could imagine running templates through, say, m4
  • 28. Nagios and Another Layer of Indirection Give Me a Call: tellitto • Implements multiple notification methods • Keeps trying until one succeeds – e.g. Try SMS service, modem, mail, etc. • Puts phone/pager numbers in one place • Pipe message into tellitto, or use genoa -t c 2012 John Sellens Nagios World Conference North America 2012 27
  • 29. Nagios and Another Layer of Indirection Sample tellitto Config # Don’t put secrets in here # You can use different orders per contact # for better deliverability bob pageuser bob bob smsgateway 12125551234 bob clickatellgate 12125551234 bob mail -s tellitto-notification bob@example.com sally clickatell 12125557890 sally smsgateway 12125557890 sally pageuser sally sally mail -s tellitto-notification sally@example.com c 2012 John Sellens Nagios World Conference North America 2012 28 Notes: • We have a command smsgateway which uses curl to send to our provider • Ditto for clickatellgate • We have a command pageuser which tries to use Hylfax’s sendpage to send via a modem
  • 30. Nagios and Another Layer of Indirection Principles: • Unix Philosophy • Custom Wraps • Simpler Configs • Smarter Plugins • Derived Thresholds c 2012 John Sellens Nagios World Conference North America 2012 29 Notes: • Tools I’ve written are (or will be) available at http://www.syonex.com/software