SlideShare una empresa de Scribd logo
1 de 27
Rational Configuration Design
       To Prevent Irrational Problem Solving

                John Murphy
Introduction
           Basic             Advanced
   Contacts               Parents and
                          dependencies
                          Managing exceptions

   Hosts                  Automation




   Services


                   2012                         2
Our Scenario




               2012   3
Contacts
Contacts
        Contact                        User
   Contact address for          Login account for an
   support.                     actual user.
   Email, SMS,                  No contact
   Ticketing, etc.              information.




                         2012                          5
Contacts
          Contact Definition
 define contact {                                     define contact {
      contact_name        cu-contact                       name                            contact-user
      contactgroups       cg-main                          host_notifications_enabled      1
      email               servers@domain.com               service_notifications_enabled          1
      use                  contact-user                    host_notification_period               24x7
      }                                                    service_notification_period     24x7
                                                           host_notification_options       d,u
 define contactgroup {                                     service_notification_options    c
      contactgroup_name   cg-main                          host_notification_commands      notify-h-email
      alias               Kmart Contact                    service_notification_commands   notify-s-email
      contactgroup_membersvg-team                          register                        0
      }                                                    }




                                               2012                                                         6
Contacts
         User Definition
 define contact {                                define contact {
      contact_name        vu-jsmurphy                 name                            read-contact
      contactgroups       vg-team                     host_notifications_enabled      0
      use                  read-contact               service_notifications_enabled        0
      }                                               host_notification_period             none
                                                      service_notification_period     none
 define contactgroup {                                host_notification_options       n
      contactgroup_name   vg-team                     service_notification_options    n
      alias               Kmart Team                  host_notification_commands      check_none
      }                                               service_notification_commands    check_none
                                                      register                        0
 define contactgroup {                                }
      contactgroup_name   cg-main
      alias               Kmart Contact
      contactgroup_membersvg-team
      }




                                          2012                                                       7
Contacts
              LDAP/AD For Nagios Core
 ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
 <Directory "/usr/local/nagios/sbin">
  SetEnv TZ "Australia/Melbourne"
  Options ExecCGI
  AllowOverride None
  Order allow,deny
  Allow from all
  AuthName "Nagios Core"
  AuthType Basic
  # AuthUserFile /usr/local/nagios/etc/htpasswd.users
  # Require valid-user

   AuthBasicProvider ldap
   AuthName “Nagios server"
   AuthzLDAPAuthoritative off
   AuthLDAPBindDN "CN=bindAccount,OU=User,DC=domain,DC=com"
   AuthLDAPBindPassword xxxxxxxxx
   AuthLDAPURL ldaps://domain.com/OU=User,DC=Domain,DC=com?sAMAccountName?sub?
     (objectClass=user)
   AuthLDAPGroupAttribute member
   AuthLDAPGroupAttributeIsDN on
   Require ldap-group CN=NagiosAccessGroup,OU=Groups,DC=domain,DC=com
 </Directory>


                                                        2012                     8
Contacts Summary


  Distinguish between your users and your
  contacts.
  Use an existing authentication source for your
  user logins.
  Consider the end-user experience… try to
  ensure it’s easy to get the information they
  need.




                        2012                       9
Hosts
Hosts


  Focus on minimizing host configuration to
  make automation easier.
  Use templates to assign user view information.
  Create host groups based on shared
  monitoring profiles.




                       2012                        11
Hosts
      Host Definitions
 define host {                                         define host {
      host_name     exchange01                              name                    srv-template
      use           srv-template                            alias                   Server host template
      alias         Exchange server                         check_command           check_icmp!250.0,60%!
      address       exchange01                              500.0,80%
      parents       switch001,switch002                     max_check_attempts      3
      hostgroups    srv-exchange, srv-windows               check_interval          10
      icon_image    exchange.png                            retry_interval          2
      register      1                                       check_period            24x7
      }                                                     contact_groups          cg-main
                                                            notification_interval   60
                                                            notification_period     24x7
 define hostgroup {                                         notification_options    d,f
      hostgroup_name srv-windows                            notifications_enabled   1
      alias          Windows group                          register                0
      }                                                }




                                                2012                                                        12
Hosts Summary


  Minimize configuration in host objects to make
  automation easier.
  Hostnames allow for easier maintenance than
  IP addresses.
  Create logical host-groupings that will make
  service assignment easier e.g. OS type,
  Location, Applications it serves.




                       2012                        13
Services
Services


   Keep services as generic as possible to
   prevent the need for duplicate services.
   Minimizing service templates allows for easier
   management and baseline changes.
   Use service groups for applications.




                        2012                        15
Services
  Service Definitions
 define service {                                        define service {
      service_description  Windows C: usage                   name                    main-service-template
      use                  main-service-template              service_description     main service template
      hostgroup_name       srv-windows,srv-v-windows          max_check_attempts      3
      check_command                                           check_interval          10
             check_nt!USEDDISKSPACE!-w 80 -c 90               retry_interval          2
      contact_groups       cg-main,cg-main-SMS                check_period            24x7
      register             1                                  notification_interval   60
      }                                                       notification_period     24x7
                                                              notification_options    c
                                                              register                0
                                                         }




                                                  2012                                                        16
The puzzle completed




                       2012   17
Services Summary


  Strike a balance between your service-
  templates and your service definitions.
  Service groups are a very useful feature when
  used appropriately, used inappropriately they
  are an administrative burden.
  Device life-cycle happens, ensure your
  configuration isn’t burdened by over-
  complexity.



                       2012                       18
Advanced
Good Parenting (or how to not get woken up 20 times at ~3am)
         Parenting              Service Dependencies
    Use host parenting.               Parent indirectly
    Use host parenting.               monitored services
                                      with service
    Use host parenting.               dependencies.




                               2012                            20
Indirect Services
     …And the art of dependencies
                           A typical ESX
                           monitoring setup…
                           Q. But what happens
                           when the vSphere
                           server fails?




                    2012                         21
Indirect Services
     …And the art of dependencies
                           A. Something like this




                    2012                            22
Indirect Services
      …And the art of dependencies
 define service {                                      define servicedependency {
    host_name           vSphereServer                       dependent_hostgroup_name        srv-v-windows
    service_description Ping dependency                     dependent_service_description   CPU Usage
    use                 main-service-template               host_name                       vSphereServer
    check_command check_ping!100,80%!200,90%                service_description             Ping dependency
    register            1                                   inherits_parent                 1
 }                                                          execution_failure_criteria      w,u,c,p
                                                            notification_failure_criteria   w,u,c
 define service {                                           dependency_period               24x7
    service_description CPU Usage                      }
    use                 main-service-template
    hostgroup_name srv-v-windows
    check_command check_esx!CPU
    contact_groups      cg-main
    register            1
 }




                                                2012                                                          23
Managing Exceptions


   Clearly label
   exceptions in your
   config.
   Make sure you can
   use the same solution
   again if necessary.



                               Image by Mike Bade:
                               http://robotseatingpies.blogspot.com.au/2011/06/robots-dont-have-feelings_16.html




                        2012                                                                                  24
Automation (or intrapreneurship ideas for the lazy)


    Every piece of infrastructure is a potential data
    source… make use of it!
       AD/LDAP Servers.
       Virtual infrastructure API’s.
       Patching systems.
       Asset databases.
       Network management platforms.
       Network LLDP/CDP tables.
       SNMP enabled servers.
       Help I’m running out of space!
                                 2012                   25
Q&A
Thanks For Listening!

Más contenido relacionado

Similar a Nagios Conference 2012 - John Murphy - Rational Configuration Design

Managing a shared mysql farm dpc11
Managing a shared mysql farm dpc11Managing a shared mysql farm dpc11
Managing a shared mysql farm dpc11Combell NV
 
Nagios Conference 2012 - Mike Guthrie - Nagios XI 2012
Nagios Conference 2012 - Mike Guthrie - Nagios XI 2012Nagios Conference 2012 - Mike Guthrie - Nagios XI 2012
Nagios Conference 2012 - Mike Guthrie - Nagios XI 2012Nagios
 
PGConf APAC 2018 - Lightening Talk #2 - Centralizing Authorization in PostgreSQL
PGConf APAC 2018 - Lightening Talk #2 - Centralizing Authorization in PostgreSQLPGConf APAC 2018 - Lightening Talk #2 - Centralizing Authorization in PostgreSQL
PGConf APAC 2018 - Lightening Talk #2 - Centralizing Authorization in PostgreSQLPGConf APAC
 
Centralising Authorisation in PostgreSQL
Centralising Authorisation in PostgreSQLCentralising Authorisation in PostgreSQL
Centralising Authorisation in PostgreSQLGary Evans
 
Allowing or preventing domain users from joining workstations to the domain
Allowing or preventing domain users from joining workstations to the domainAllowing or preventing domain users from joining workstations to the domain
Allowing or preventing domain users from joining workstations to the domainlaonap166
 
0505 Windows Server 2008 一日精華營 PartI
0505 Windows Server 2008 一日精華營 PartI0505 Windows Server 2008 一日精華營 PartI
0505 Windows Server 2008 一日精華營 PartITimothy Chen
 
common_schema 2.0: DBA's Framework for MySQL
common_schema 2.0: DBA's Framework for MySQLcommon_schema 2.0: DBA's Framework for MySQL
common_schema 2.0: DBA's Framework for MySQLShlomi Noach
 
Best practices for implementing, administering, and troubleshooting XenDeskto...
Best practices for implementing, administering, and troubleshooting XenDeskto...Best practices for implementing, administering, and troubleshooting XenDeskto...
Best practices for implementing, administering, and troubleshooting XenDeskto...David McGeough
 
Applying Code Customizations to Magento 2
Applying Code Customizations to Magento 2 Applying Code Customizations to Magento 2
Applying Code Customizations to Magento 2 Igor Miniailo
 
Mysql gdb-101022041146-phpapp01
Mysql gdb-101022041146-phpapp01Mysql gdb-101022041146-phpapp01
Mysql gdb-101022041146-phpapp01Bob Huang
 
Service discovery and configuration provisioning
Service discovery and configuration provisioningService discovery and configuration provisioning
Service discovery and configuration provisioningSource Ministry
 
A Groovy Kind of Java (San Francisco Java User Group)
A Groovy Kind of Java (San Francisco Java User Group)A Groovy Kind of Java (San Francisco Java User Group)
A Groovy Kind of Java (San Francisco Java User Group)Nati Shalom
 
Advanced Ops Manager Topics
Advanced Ops Manager TopicsAdvanced Ops Manager Topics
Advanced Ops Manager TopicsMongoDB
 
Automated Server Administration for DevSecOps
Automated Server Administration for DevSecOpsAutomated Server Administration for DevSecOps
Automated Server Administration for DevSecOpsAarno Aukia
 
Where to start with power cli
Where to start with power cliWhere to start with power cli
Where to start with power cliChris Halverson
 
Introduction To Managing VMware With PowerShell
Introduction To Managing VMware With PowerShellIntroduction To Managing VMware With PowerShell
Introduction To Managing VMware With PowerShellHal Rottenberg
 

Similar a Nagios Conference 2012 - John Murphy - Rational Configuration Design (20)

Managing a shared mysql farm dpc11
Managing a shared mysql farm dpc11Managing a shared mysql farm dpc11
Managing a shared mysql farm dpc11
 
Nagios Conference 2012 - Mike Guthrie - Nagios XI 2012
Nagios Conference 2012 - Mike Guthrie - Nagios XI 2012Nagios Conference 2012 - Mike Guthrie - Nagios XI 2012
Nagios Conference 2012 - Mike Guthrie - Nagios XI 2012
 
PGConf APAC 2018 - Lightening Talk #2 - Centralizing Authorization in PostgreSQL
PGConf APAC 2018 - Lightening Talk #2 - Centralizing Authorization in PostgreSQLPGConf APAC 2018 - Lightening Talk #2 - Centralizing Authorization in PostgreSQL
PGConf APAC 2018 - Lightening Talk #2 - Centralizing Authorization in PostgreSQL
 
Centralising Authorisation in PostgreSQL
Centralising Authorisation in PostgreSQLCentralising Authorisation in PostgreSQL
Centralising Authorisation in PostgreSQL
 
Allowing or preventing domain users from joining workstations to the domain
Allowing or preventing domain users from joining workstations to the domainAllowing or preventing domain users from joining workstations to the domain
Allowing or preventing domain users from joining workstations to the domain
 
Moodle + Adobe Connect
Moodle + Adobe Connect Moodle + Adobe Connect
Moodle + Adobe Connect
 
Php version 7
Php version 7Php version 7
Php version 7
 
0505 Windows Server 2008 一日精華營 PartI
0505 Windows Server 2008 一日精華營 PartI0505 Windows Server 2008 一日精華營 PartI
0505 Windows Server 2008 一日精華營 PartI
 
common_schema 2.0: DBA's Framework for MySQL
common_schema 2.0: DBA's Framework for MySQLcommon_schema 2.0: DBA's Framework for MySQL
common_schema 2.0: DBA's Framework for MySQL
 
Best practices for implementing, administering, and troubleshooting XenDeskto...
Best practices for implementing, administering, and troubleshooting XenDeskto...Best practices for implementing, administering, and troubleshooting XenDeskto...
Best practices for implementing, administering, and troubleshooting XenDeskto...
 
Vaibhav
VaibhavVaibhav
Vaibhav
 
Applying Code Customizations to Magento 2
Applying Code Customizations to Magento 2 Applying Code Customizations to Magento 2
Applying Code Customizations to Magento 2
 
Mysql gdb-101022041146-phpapp01
Mysql gdb-101022041146-phpapp01Mysql gdb-101022041146-phpapp01
Mysql gdb-101022041146-phpapp01
 
Firebird
FirebirdFirebird
Firebird
 
Service discovery and configuration provisioning
Service discovery and configuration provisioningService discovery and configuration provisioning
Service discovery and configuration provisioning
 
A Groovy Kind of Java (San Francisco Java User Group)
A Groovy Kind of Java (San Francisco Java User Group)A Groovy Kind of Java (San Francisco Java User Group)
A Groovy Kind of Java (San Francisco Java User Group)
 
Advanced Ops Manager Topics
Advanced Ops Manager TopicsAdvanced Ops Manager Topics
Advanced Ops Manager Topics
 
Automated Server Administration for DevSecOps
Automated Server Administration for DevSecOpsAutomated Server Administration for DevSecOps
Automated Server Administration for DevSecOps
 
Where to start with power cli
Where to start with power cliWhere to start with power cli
Where to start with power cli
 
Introduction To Managing VMware With PowerShell
Introduction To Managing VMware With PowerShellIntroduction To Managing VMware With PowerShell
Introduction To Managing VMware With PowerShell
 

Más de Nagios

Nagios XI Best Practices
Nagios XI Best PracticesNagios XI Best Practices
Nagios XI Best PracticesNagios
 
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
 
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
 
Sean Falzon - Nagios - Resilient Notifications
Sean Falzon - Nagios - Resilient NotificationsSean Falzon - Nagios - Resilient Notifications
Sean Falzon - Nagios - Resilient NotificationsNagios
 
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
 
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
 
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
 
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
 
Bryan Heden - Agile Networks - Using Nagios XI as the platform for Monitoring...
Bryan Heden - Agile Networks - Using Nagios XI as the platform for Monitoring...Bryan Heden - Agile Networks - Using Nagios XI as the platform for Monitoring...
Bryan Heden - Agile Networks - Using Nagios XI as the platform for Monitoring...Nagios
 
Matt Bruzek - Monitoring Your Public Cloud With Nagios
Matt Bruzek - Monitoring Your Public Cloud With NagiosMatt Bruzek - Monitoring Your Public Cloud With Nagios
Matt Bruzek - Monitoring Your Public Cloud With 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
 
Nrpe - Nagios Remote Plugin Executor. NRPE plugin for Nagios Core
Nrpe - Nagios Remote Plugin Executor. NRPE plugin for Nagios CoreNrpe - Nagios Remote Plugin Executor. NRPE plugin for Nagios Core
Nrpe - Nagios Remote Plugin Executor. NRPE plugin for Nagios CoreNagios
 
Nagios Log Server - Features
Nagios Log Server - FeaturesNagios Log Server - Features
Nagios Log Server - FeaturesNagios
 
Nagios Network Analyzer - Features
Nagios Network Analyzer - FeaturesNagios Network Analyzer - Features
Nagios Network Analyzer - FeaturesNagios
 
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
 

Más de Nagios (20)

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

Último

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
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
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
 

Último (20)

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.
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
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
 

Nagios Conference 2012 - John Murphy - Rational Configuration Design

  • 1. Rational Configuration Design To Prevent Irrational Problem Solving John Murphy
  • 2. Introduction Basic Advanced Contacts Parents and dependencies Managing exceptions Hosts Automation Services 2012 2
  • 3. Our Scenario 2012 3
  • 5. Contacts Contact User Contact address for Login account for an support. actual user. Email, SMS, No contact Ticketing, etc. information. 2012 5
  • 6. Contacts Contact Definition define contact { define contact { contact_name cu-contact name contact-user contactgroups cg-main host_notifications_enabled 1 email servers@domain.com service_notifications_enabled 1 use contact-user host_notification_period 24x7 } service_notification_period 24x7 host_notification_options d,u define contactgroup { service_notification_options c contactgroup_name cg-main host_notification_commands notify-h-email alias Kmart Contact service_notification_commands notify-s-email contactgroup_membersvg-team register 0 } } 2012 6
  • 7. Contacts User Definition define contact { define contact { contact_name vu-jsmurphy name read-contact contactgroups vg-team host_notifications_enabled 0 use read-contact service_notifications_enabled 0 } host_notification_period none service_notification_period none define contactgroup { host_notification_options n contactgroup_name vg-team service_notification_options n alias Kmart Team host_notification_commands check_none } service_notification_commands check_none register 0 define contactgroup { } contactgroup_name cg-main alias Kmart Contact contactgroup_membersvg-team } 2012 7
  • 8. Contacts LDAP/AD For Nagios Core ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin" <Directory "/usr/local/nagios/sbin"> SetEnv TZ "Australia/Melbourne" Options ExecCGI AllowOverride None Order allow,deny Allow from all AuthName "Nagios Core" AuthType Basic # AuthUserFile /usr/local/nagios/etc/htpasswd.users # Require valid-user AuthBasicProvider ldap AuthName “Nagios server" AuthzLDAPAuthoritative off AuthLDAPBindDN "CN=bindAccount,OU=User,DC=domain,DC=com" AuthLDAPBindPassword xxxxxxxxx AuthLDAPURL ldaps://domain.com/OU=User,DC=Domain,DC=com?sAMAccountName?sub? (objectClass=user) AuthLDAPGroupAttribute member AuthLDAPGroupAttributeIsDN on Require ldap-group CN=NagiosAccessGroup,OU=Groups,DC=domain,DC=com </Directory> 2012 8
  • 9. Contacts Summary Distinguish between your users and your contacts. Use an existing authentication source for your user logins. Consider the end-user experience… try to ensure it’s easy to get the information they need. 2012 9
  • 10. Hosts
  • 11. Hosts Focus on minimizing host configuration to make automation easier. Use templates to assign user view information. Create host groups based on shared monitoring profiles. 2012 11
  • 12. Hosts Host Definitions define host { define host { host_name exchange01 name srv-template use srv-template alias Server host template alias Exchange server check_command check_icmp!250.0,60%! address exchange01 500.0,80% parents switch001,switch002 max_check_attempts 3 hostgroups srv-exchange, srv-windows check_interval 10 icon_image exchange.png retry_interval 2 register 1 check_period 24x7 } contact_groups cg-main notification_interval 60 notification_period 24x7 define hostgroup { notification_options d,f hostgroup_name srv-windows notifications_enabled 1 alias Windows group register 0 } } 2012 12
  • 13. Hosts Summary Minimize configuration in host objects to make automation easier. Hostnames allow for easier maintenance than IP addresses. Create logical host-groupings that will make service assignment easier e.g. OS type, Location, Applications it serves. 2012 13
  • 15. Services Keep services as generic as possible to prevent the need for duplicate services. Minimizing service templates allows for easier management and baseline changes. Use service groups for applications. 2012 15
  • 16. Services Service Definitions define service { define service { service_description Windows C: usage name main-service-template use main-service-template service_description main service template hostgroup_name srv-windows,srv-v-windows max_check_attempts 3 check_command check_interval 10 check_nt!USEDDISKSPACE!-w 80 -c 90 retry_interval 2 contact_groups cg-main,cg-main-SMS check_period 24x7 register 1 notification_interval 60 } notification_period 24x7 notification_options c register 0 } 2012 16
  • 18. Services Summary Strike a balance between your service- templates and your service definitions. Service groups are a very useful feature when used appropriately, used inappropriately they are an administrative burden. Device life-cycle happens, ensure your configuration isn’t burdened by over- complexity. 2012 18
  • 20. Good Parenting (or how to not get woken up 20 times at ~3am) Parenting Service Dependencies Use host parenting. Parent indirectly Use host parenting. monitored services with service Use host parenting. dependencies. 2012 20
  • 21. Indirect Services …And the art of dependencies A typical ESX monitoring setup… Q. But what happens when the vSphere server fails? 2012 21
  • 22. Indirect Services …And the art of dependencies A. Something like this 2012 22
  • 23. Indirect Services …And the art of dependencies define service { define servicedependency { host_name vSphereServer dependent_hostgroup_name srv-v-windows service_description Ping dependency dependent_service_description CPU Usage use main-service-template host_name vSphereServer check_command check_ping!100,80%!200,90% service_description Ping dependency register 1 inherits_parent 1 } execution_failure_criteria w,u,c,p notification_failure_criteria w,u,c define service { dependency_period 24x7 service_description CPU Usage } use main-service-template hostgroup_name srv-v-windows check_command check_esx!CPU contact_groups cg-main register 1 } 2012 23
  • 24. Managing Exceptions Clearly label exceptions in your config. Make sure you can use the same solution again if necessary. Image by Mike Bade: http://robotseatingpies.blogspot.com.au/2011/06/robots-dont-have-feelings_16.html 2012 24
  • 25. Automation (or intrapreneurship ideas for the lazy) Every piece of infrastructure is a potential data source… make use of it! AD/LDAP Servers. Virtual infrastructure API’s. Patching systems. Asset databases. Network management platforms. Network LLDP/CDP tables. SNMP enabled servers. Help I’m running out of space! 2012 25
  • 26. Q&A

Notas del editor

  1. Work for Kmart Australia, Server engineer, etc. Philosophical discussion, no wrong/right but sometimes… unique ways of handling problems.
  2. Basics: Core triumvirate of objects. Pretend web developers (User experience first (contact/user distinction), making stuff work second (host/services)). Services: Object scaling and host/service relationship. Advanced: A brief look at more advanced topics. Parents and dependencies: How to not get spammed Exceptions: How to deal with non-uniform requests. Using network resources to automate.
  3. Basics: Core triumvirate of objects. Pretend web developers (User experience first (contact/user distinction), making stuff work second (host/services)). Services: Object scaling and host/service relationship. Advanced: A brief look at more advanced topics. Parents and dependencies: How to not get spammed Exceptions: How to deal with non-uniform requests. Using network resources to automate.
  4. Separate user and contact objects, so you can provide UAC and handle complex assignments in a manageable fashion. A contact is an object used to notify a person or a team of a problem. One-To-One relationship of contact to contact-group. A user is a human, a real person… a dummy account to match a Nagios login for access control. Many-To-One relationship of User to User-group and User-group to Contact-group. AD, LDAP, Database, etc integration.
  5. Minimize contact template objects, reduces future work. Defining on contact will override template. Not going to touch on contact escalation.
  6. User objects are basically a contact definition that will receive nothing. Separate users into specific view groups, attach this when a user needs to see something… add the contact group if he needs to be contacted.
  7. For Nagios Core, XI already has an AD login component. When logon occurs, Nagios will match the apache http user context with a contact when possible. Use this to assign a user a “world view”
  8. Logical configuration groupings (base groupings on OS, Location, Application). Minimize configuration in host for automation purposes and move as much as possible to templates. Assigning views to user objects.
  9. Logical configuration groupings (base groupings on OS, Location, Application). Minimize configuration in host for automation purposes and move as much as possible to templates. Assigning views to user objects.
  10. Use hostnames whenever possible. Regex matching hosts in host groups
  11. Logical configuration groupings (base groupings on OS, Location, Application). Minimize configuration in host for automation purposes and move as much as possible to templates. Assigning views to user objects.
  12. One-To-Many relationship of services to host groups Use service-groups for applications, minimize service-templates
  13. Usually you can find a check period that will work for 95% of your checks. Unlike hosts, do not add contacts at the template… add them instead at the actual service definition. Services change contact frequently, hosts do not.
  14. Last pieces of puzzle/complete picture Arrow directions dictate which object references which other object.
  15. Jim trips on a network cable causing Europe to fail, email spammed. Ensure parents are defined and use multi-tenancy ensure service dependencies are defined when one piece of infrastructure relies on another. Indirectly monitored services = CPU usage on VMware infrastructure via VMware API.
  16. A happy ESX environment with vSphere and working monitoring.
  17. A sad ESX environment when vSphere fails and those services stop working.
  18. You can use hostgroups to do broad strokes with service-dependencies.
  19. Despite perfect design some one is going to “Kick your sand castle” Ensure that exceptions are properly labeled Ensure that this exception is re-usable in the future so that future exceptions will be consistent
  20. Importance of naming conventions. Use AD to get computer accounts. Use virtualization API’s to get virtual infrastructure. Patching systems or resource databases. Use SNMP to get network tables/device type and/or LLDP/CDP tables to walk networks. Network management systems (I.e. Ciscoworks, NSM, etc).