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
 
Upstreaming 1013
Upstreaming 1013Upstreaming 1013
Upstreaming 1013Linaro
 
LCA13: Upstreaming 101
LCA13: Upstreaming 101LCA13: Upstreaming 101
LCA13: Upstreaming 101Linaro
 
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
 
Upstreaming 1013
Upstreaming 1013Upstreaming 1013
Upstreaming 1013
 
LCA13: Upstreaming 101
LCA13: Upstreaming 101LCA13: Upstreaming 101
LCA13: Upstreaming 101
 
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

[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 

Kürzlich hochgeladen (20)

[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 

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