SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
Icinga – Open Source Monitoring




Icinga Development Team

@ Open Source Monitoring Conference

06.10.2010 - Nuremberg
Agenda

˜    Icinga Team
˜    Project Structure & Communication
˜    Tools and Platform
˜    Current Architecture
˜    HTTP Interface
˜    Future Architecture
˜    Addons for Icinga
˜    Live-Demo
˜    Roadmap
˜    Questions & Answers
Icinga Team
Icinga Team - Locations
Project Structure & Communication



                 feedback.icinga.org




www.icinga.org     dev.icinga.org      docs.icinga.org   demo.icinga.org




                              Mailing-Lists




  Icinga-Core        Icinga-API         Icinga-Web        Icinga-Docu



                                         translate.
                                         icinga.org
Tools and Platform



      Icinga Quality, Testing and Community Support

             website and open source ticketing system



 Icinga-       Icinga-       Icinga-      Icinga-       Icinga-
  Core           API          Web           Doc         Reports


 C based       based on     based on      based on      based on
  source         PHP       PHP using     Docbook in      Jasper -
  MySQL                     Sencha,      english and    Reporting
PostgreSQL                 Agavi MVC       german
  Oracle

      GIT            GIT          GIT           GIT           GIT
Single node architecture - today



         Icinga-Web

         ExtJS / Agavi



          Icinga-API




                 IDO               Icinga-Core
             • MySQL
          • PostgreSQL             IDMOD and
              • Oracle               IDO2DB
Multi node architecture - today



         Icinga-Web               Icinga-              Icinga-
                                   Slave                Slave
         ExtJS / Agavi

                                            • NSCA
                                            • SSH
          Icinga-API                        • OTHERS




                 IDO                   Icinga-Core
             • MySQL
          • PostgreSQL                  IDMOD and
              • Oracle                    IDO2DB
HTTP Interface

˜    request almost all Icinga database fields that are supported
      by Icinga-API (which covers almost all fields)
˜    filter via nested AND and OR groups (Condition 1 AND
      (Condition 2 OR (Condition 3 AND Condition 4))..etc.)
˜    add Order, Limit, Group By
˜    get data via XML or JSON
˜    sending commands via PUT
HTTP Interface - Example

   !http://localhost/icinga-web/web/api/service/filter[AND(HOST_CURRENT_STATE|=|0;OR
    (SERVICE_CURRENT_STATE|=|1;SERVICE_CURRENT_STATE|=|2))]/ columns(SERVICE_NAME|
    HOST_NAME|SERVICE_CURRENT_STATE|HOST_NAME|HOST_CURRENT_STATE|HOSTGROUP_NAME)/
    order(SERVICE_CURRENT_STATE;DESC)/countColumn=SERVICE_ID/authkey=APITEST123456/
    xml!




<results>!
   <result>!
       <column   name="SERVICE_ID">295</column>!
       <column   name="SERVICE_OBJECT_ID">139</column>!
       <column   name="SERVICE_IS_ACTIVE">1</column>!
       <column   name="SERVICE_INSTANCE_ID">1</column>!
       <column   name="SERVICE_NAME">MailQ</column>!
       <column   name="SERVICE_DISPLAY_NAME">MailQ</column>!
       <column   name="SERVICE_OUTPUT">Error occured:error=1:0:0</column>!
       <column   name="SERVICE_PERFDATA"></column>!
   </result>!
   <result>!
       <column   name="SERVICE_ID">311</column>!
       <column   name="SERVICE_OBJECT_ID">155</column>!
       <column   name="SERVICE_IS_ACTIVE">1</column>!
       <column   name="SERVICE_INSTANCE_ID">1</column>!
       <column   name="SERVICE_NAME">POP3</column>!
       <column   name="SERVICE_DISPLAY_NAME">POP3</column>!
       <column   name="SERVICE_OUTPUT">Verbindungsaufbau abgelehnt</column>!
       <column   name="SERVICE_PERFDATA"></column>!
   </result>!
   <total>2</total>!
</results>
Major problems in distributed and large environments

˜    loadbalancing
      •  check slave availability
      •  dynamic check distribution
      •  specific checks must be forwarded to specific instances
˜    commands are not distributed
      •  there is only a “workaround” for the new web available
˜    transport-layer of check results and commands
      •  ssh-quickfix solution for distributed commands
      •  NSCA is buggy like hell and should be replaced
˜    an abstract interface to the core-elements is needed
Problems with existing implementations

˜    config split and distribution
       •  difficult management
       •  prone to error
˜    DNX (distributed nagios executor)
       •  single point of failure architecture
       •  not able to handle specific network zones
˜    mod_gearman
       •  looks good so far, but very new
       •  network protocol
˜    merlin


˜    based on NEB-Interface
NEB disadvantages

˜    NEB-Development is limited to C/C++ Coders
˜    it is not possible to change a NEB at runtime

˜    NEB’s must reside on the same server
˜    in the worst-case scenario a NEB could crash the Icinga
      process
˜    changes to the Icinga-Core can break a NEB
Future architecture



         Icinga-Web
         and DB-API
         ExtJS / Agavi
         ExtJS / Agavi


          Icinga-API




                          CORE-API
             • MySQL
          • PostgreSQL   Icinga-Core
              • Oracle
Future architecture – Core API

˜    XML - RPC
      •  XML based remote procedure call
      •  firewall awareness
      •  de facto standard
˜    bidirectional connection initiation
˜    checkresult reaper replacement

                              CORE-API


                             Icinga-Core
Future architecture - ABA


                                                    -  ABA switch in config
ABA: From A -> B -> A           Icinga-Core
ABA: Zulu for distribute          CORE-API


                           XML-RPC
                                                 -  external configuration
                                ABA-Dispatcher   -  various schedulers
                                                 -  zoning and monitoring
      HTTP/HTTPS


     ABA-    - load indicator        ABA-                      ABA-
    Worker   - health status        Worker                    Worker
Future architecture - Advantages




         Icinga-Core               Icinga-Core
           CORE-API                 CORE-API


     XML-RPC

         ABA-Dispatcher




                                         - caching
 ABA-                      ABA-          - self learning scheduler
Worker                    Worker
                                         - single ABA failback
Future architecture - ABA Roadmap

˜    we will implement the architecture step by step
       •  the classic way is still working

       •  we have a loosely coupled transport and executing process

˜    flexibility

       •  external processes give us the possibility to check the
          Icinga infrastructure availability

       •  different protocols can be used and an individual
          distribution solution could be implemented
Addons

˜    contribute folder

      •  integration for PNP4Nagios

      •  Business-Process-View and -Editor

˜    EventDB Cronk for SNMP and logfile integration

˜    LConf

˜    Heatmap
Reporting

˜    base reporting based on Jasper is finished

˜    reporting package is downloadable on

       •  http://sourceforge.net/projects/icinga/

       •  https://git.icinga.org/?p=icinga-reports.git

˜    the only thing you need is a JasperServer

˜    single line installation available

       •  ./js-import.sh --input-zip icinga_report_package.zip

˜    Icinga web integration is planned for next year
Live Demo




            Demo
Roadmap

˜    unified roadmap

      •  1.2 - today - stable release

      •  1.3 - 16.02.2011 - unstable Release

      •  1.4 - 11.05.2011 - stable Release

      •  1.5 - 17.08.2011 - unstable Release

      •  1.6 - 09.11.2011 - stable Release

˜    bugfix releases 1.X.X
One more thing




             completed
Mobile Demo




mobile.demo.icinga.org
Questions and Answers




                  Q&A

Contenu connexe

Tendances

Tendances (20)

Icinga 2 at Icinga Camp San Francisco
Icinga 2 at Icinga Camp San FranciscoIcinga 2 at Icinga Camp San Francisco
Icinga 2 at Icinga Camp San Francisco
 
Why favour Icinga over Nagios @ FrOSCon 2015
Why favour Icinga over Nagios @ FrOSCon 2015Why favour Icinga over Nagios @ FrOSCon 2015
Why favour Icinga over Nagios @ FrOSCon 2015
 
Welcome Icinga Camp San Francisco 2014
Welcome Icinga Camp San Francisco 2014Welcome Icinga Camp San Francisco 2014
Welcome Icinga Camp San Francisco 2014
 
Icinga Camp Barcelona - Current State of Icinga
Icinga Camp Barcelona - Current State of IcingaIcinga Camp Barcelona - Current State of Icinga
Icinga Camp Barcelona - Current State of Icinga
 
ChatOps with Icinga and StackStorm
ChatOps with Icinga and StackStormChatOps with Icinga and StackStorm
ChatOps with Icinga and StackStorm
 
Why favour Icinga over Nagios @ OSDC 2015
Why favour Icinga over Nagios @ OSDC 2015Why favour Icinga over Nagios @ OSDC 2015
Why favour Icinga over Nagios @ OSDC 2015
 
Icinga 2 API @ Icinga Camp Portland at Puppetlabs
Icinga 2 API @ Icinga Camp Portland at PuppetlabsIcinga 2 API @ Icinga Camp Portland at Puppetlabs
Icinga 2 API @ Icinga Camp Portland at Puppetlabs
 
Why favour Icinga over Nagios - Rootconf 2015
Why favour Icinga over Nagios - Rootconf 2015Why favour Icinga over Nagios - Rootconf 2015
Why favour Icinga over Nagios - Rootconf 2015
 
Why favor Icinga over Nagios @ DebConf15
Why favor Icinga over Nagios @ DebConf15Why favor Icinga over Nagios @ DebConf15
Why favor Icinga over Nagios @ DebConf15
 
Icinga 2012 Development at 6th TF-NOC Meeting
Icinga 2012 Development at 6th TF-NOC MeetingIcinga 2012 Development at 6th TF-NOC Meeting
Icinga 2012 Development at 6th TF-NOC Meeting
 
Icinga at OSMC 2012
Icinga at OSMC 2012Icinga at OSMC 2012
Icinga at OSMC 2012
 
Icinga Web 2 is more
Icinga Web 2 is moreIcinga Web 2 is more
Icinga Web 2 is more
 
Monitoring Open Source Databases with Icinga
Monitoring Open Source Databases with IcingaMonitoring Open Source Databases with Icinga
Monitoring Open Source Databases with Icinga
 
Icinga Camp Antwerp - Icinga2 Cluster
Icinga Camp Antwerp - Icinga2 ClusterIcinga Camp Antwerp - Icinga2 Cluster
Icinga Camp Antwerp - Icinga2 Cluster
 
Icinga Camp Barcelona - Icinga
Icinga Camp Barcelona - IcingaIcinga Camp Barcelona - Icinga
Icinga Camp Barcelona - Icinga
 
State of Development - Icinga Meetup Linz August 2019
State of Development - Icinga Meetup Linz August 2019State of Development - Icinga Meetup Linz August 2019
State of Development - Icinga Meetup Linz August 2019
 
Icinga2 - Apify them all
Icinga2 - Apify them allIcinga2 - Apify them all
Icinga2 - Apify them all
 
Toshaan Bharvani – Icinga2 and Ansible, how to manage and migrate
Toshaan Bharvani – Icinga2 and Ansible, how to manage and migrateToshaan Bharvani – Icinga2 and Ansible, how to manage and migrate
Toshaan Bharvani – Icinga2 and Ansible, how to manage and migrate
 
Icinga Web 2 is more - Module magic at Icinga Camp San Francisco
Icinga Web 2 is more - Module magic at Icinga Camp San FranciscoIcinga Web 2 is more - Module magic at Icinga Camp San Francisco
Icinga Web 2 is more - Module magic at Icinga Camp San Francisco
 
Icinga 2010 at CeBIT
Icinga 2010 at CeBITIcinga 2010 at CeBIT
Icinga 2010 at CeBIT
 

En vedette

Cebit 2015 icinga
Cebit 2015 icingaCebit 2015 icinga
Cebit 2015 icinga
Icinga
 

En vedette (16)

Icinga 2011 at FrOSCon 6
Icinga 2011 at FrOSCon 6Icinga 2011 at FrOSCon 6
Icinga 2011 at FrOSCon 6
 
Icinga 2010 at Nagios Workshop
Icinga 2010 at Nagios WorkshopIcinga 2010 at Nagios Workshop
Icinga 2010 at Nagios Workshop
 
Icinga 2011 at OSMC
Icinga 2011 at OSMCIcinga 2011 at OSMC
Icinga 2011 at OSMC
 
Icinga 2012 at Monitoring Workshop
Icinga 2012 at Monitoring WorkshopIcinga 2012 at Monitoring Workshop
Icinga 2012 at Monitoring Workshop
 
Introduction into Icinga Web 2
Introduction into Icinga Web 2Introduction into Icinga Web 2
Introduction into Icinga Web 2
 
Icinga Web 2 at Icinga Camp San Francisco
Icinga Web 2 at Icinga Camp San FranciscoIcinga Web 2 at Icinga Camp San Francisco
Icinga Web 2 at Icinga Camp San Francisco
 
Icinga Camp Barcelona - Icinga Web 2
Icinga Camp Barcelona - Icinga Web 2Icinga Camp Barcelona - Icinga Web 2
Icinga Camp Barcelona - Icinga Web 2
 
Icinga 1, Icinga 2 @ FrOSCon 2014
Icinga 1, Icinga 2 @ FrOSCon 2014Icinga 1, Icinga 2 @ FrOSCon 2014
Icinga 1, Icinga 2 @ FrOSCon 2014
 
Icinga at Flossuk 2015 in York
Icinga at Flossuk 2015 in YorkIcinga at Flossuk 2015 in York
Icinga at Flossuk 2015 in York
 
IcingaCamp Portland 2015 - Welcome
IcingaCamp Portland 2015 - WelcomeIcingaCamp Portland 2015 - Welcome
IcingaCamp Portland 2015 - Welcome
 
What is new in icinga2
What is new in icinga2What is new in icinga2
What is new in icinga2
 
Icinga Web 2 at Icinga Camp Antwerp
Icinga Web 2 at Icinga Camp AntwerpIcinga Web 2 at Icinga Camp Antwerp
Icinga Web 2 at Icinga Camp Antwerp
 
Loadays 2015 - Enterprise Monitoring with Icinga
Loadays 2015 - Enterprise Monitoring with IcingaLoadays 2015 - Enterprise Monitoring with Icinga
Loadays 2015 - Enterprise Monitoring with Icinga
 
Icinga @ OSMC 2014
Icinga @ OSMC 2014Icinga @ OSMC 2014
Icinga @ OSMC 2014
 
Cebit 2015 icinga
Cebit 2015 icingaCebit 2015 icinga
Cebit 2015 icinga
 
Icinga2 at PuppetLabs
Icinga2 at PuppetLabsIcinga2 at PuppetLabs
Icinga2 at PuppetLabs
 

Similaire à Icinga 2010 at OSMC

Openstack India May Meetup
Openstack India May MeetupOpenstack India May Meetup
Openstack India May Meetup
Deepak Garg
 

Similaire à Icinga 2010 at OSMC (20)

OSMC 2010 | Monitoring mit Icinga by Icinga Team
OSMC 2010 | Monitoring mit Icinga by Icinga TeamOSMC 2010 | Monitoring mit Icinga by Icinga Team
OSMC 2010 | Monitoring mit Icinga by Icinga Team
 
Icinga 2009 at OSMC
Icinga 2009 at OSMCIcinga 2009 at OSMC
Icinga 2009 at OSMC
 
Introduction to Kafka
Introduction to KafkaIntroduction to Kafka
Introduction to Kafka
 
Logs aggregation and analysis
Logs aggregation and analysisLogs aggregation and analysis
Logs aggregation and analysis
 
Icinga @CLT 2013
Icinga @CLT 2013Icinga @CLT 2013
Icinga @CLT 2013
 
Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...
Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...
Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...
 
OSMC 2014: Current state of Icinga | Icinga Team
OSMC 2014: Current state of Icinga | Icinga TeamOSMC 2014: Current state of Icinga | Icinga Team
OSMC 2014: Current state of Icinga | Icinga Team
 
PLNOG 18 - Paweł Małachowski - Spy hard czyli regexpem po pakietach
PLNOG 18 - Paweł Małachowski - Spy hard czyli regexpem po pakietachPLNOG 18 - Paweł Małachowski - Spy hard czyli regexpem po pakietach
PLNOG 18 - Paweł Małachowski - Spy hard czyli regexpem po pakietach
 
DBCC 2021 - FLiP Stack for Cloud Data Lakes
DBCC 2021 - FLiP Stack for Cloud Data LakesDBCC 2021 - FLiP Stack for Cloud Data Lakes
DBCC 2021 - FLiP Stack for Cloud Data Lakes
 
Yet another intro to Apache Spark
Yet another intro to Apache SparkYet another intro to Apache Spark
Yet another intro to Apache Spark
 
Icinga Camp Bangalore - Icinga integrations
Icinga Camp Bangalore - Icinga integrationsIcinga Camp Bangalore - Icinga integrations
Icinga Camp Bangalore - Icinga integrations
 
Webinar - DreamObjects/Ceph Case Study
Webinar - DreamObjects/Ceph Case StudyWebinar - DreamObjects/Ceph Case Study
Webinar - DreamObjects/Ceph Case Study
 
Global Big Data Conference Sept 2014 AWS Kinesis Spark Streaming Approximatio...
Global Big Data Conference Sept 2014 AWS Kinesis Spark Streaming Approximatio...Global Big Data Conference Sept 2014 AWS Kinesis Spark Streaming Approximatio...
Global Big Data Conference Sept 2014 AWS Kinesis Spark Streaming Approximatio...
 
IPv6 Development in ITB 2013
IPv6 Development in ITB 2013IPv6 Development in ITB 2013
IPv6 Development in ITB 2013
 
Spy hard, challenges of 100G deep packet inspection on x86 platform
Spy hard, challenges of 100G deep packet inspection on x86 platformSpy hard, challenges of 100G deep packet inspection on x86 platform
Spy hard, challenges of 100G deep packet inspection on x86 platform
 
07 (IDNOG02) SDN Research activity in Institut Teknologi Bandung by Affan Bas...
07 (IDNOG02) SDN Research activity in Institut Teknologi Bandung by Affan Bas...07 (IDNOG02) SDN Research activity in Institut Teknologi Bandung by Affan Bas...
07 (IDNOG02) SDN Research activity in Institut Teknologi Bandung by Affan Bas...
 
xPatterns - Spark Summit 2014
xPatterns - Spark Summit   2014xPatterns - Spark Summit   2014
xPatterns - Spark Summit 2014
 
Openstack India May Meetup
Openstack India May MeetupOpenstack India May Meetup
Openstack India May Meetup
 
Cloud Networking Trends
Cloud Networking TrendsCloud Networking Trends
Cloud Networking Trends
 
Ansible- Durham Meetup: Using Ansible for Cisco ACI deployment
Ansible- Durham Meetup: Using Ansible for Cisco ACI deploymentAnsible- Durham Meetup: Using Ansible for Cisco ACI deployment
Ansible- Durham Meetup: Using Ansible for Cisco ACI deployment
 

Plus de Icinga

Plus de Icinga (20)

Upgrading Incident Management with Icinga - Icinga Camp Milan 2023
Upgrading Incident Management with Icinga - Icinga Camp Milan 2023Upgrading Incident Management with Icinga - Icinga Camp Milan 2023
Upgrading Incident Management with Icinga - Icinga Camp Milan 2023
 
Extending Icinga Web with Modules: powerful, smart and easily created - Icing...
Extending Icinga Web with Modules: powerful, smart and easily created - Icing...Extending Icinga Web with Modules: powerful, smart and easily created - Icing...
Extending Icinga Web with Modules: powerful, smart and easily created - Icing...
 
Infrastructure Monitoring for Cloud Native Enterprises - Icinga Camp Milan 2023
Infrastructure Monitoring for Cloud Native Enterprises - Icinga Camp Milan 2023Infrastructure Monitoring for Cloud Native Enterprises - Icinga Camp Milan 2023
Infrastructure Monitoring for Cloud Native Enterprises - Icinga Camp Milan 2023
 
Incident management: Best industry practices your team should know - Icinga C...
Incident management: Best industry practices your team should know - Icinga C...Incident management: Best industry practices your team should know - Icinga C...
Incident management: Best industry practices your team should know - Icinga C...
 
Monitoring Cooling Units in a pharmaceutical GxP regulated environment - Icin...
Monitoring Cooling Units in a pharmaceutical GxP regulated environment - Icin...Monitoring Cooling Units in a pharmaceutical GxP regulated environment - Icin...
Monitoring Cooling Units in a pharmaceutical GxP regulated environment - Icin...
 
SNMP Monitoring at scale - Icinga Camp Milan 2023
SNMP Monitoring at scale - Icinga Camp Milan 2023SNMP Monitoring at scale - Icinga Camp Milan 2023
SNMP Monitoring at scale - Icinga Camp Milan 2023
 
Monitoring Kubernetes with Icinga - Icinga Camp Milan 2023
Monitoring Kubernetes with Icinga - Icinga Camp Milan 2023Monitoring Kubernetes with Icinga - Icinga Camp Milan 2023
Monitoring Kubernetes with Icinga - Icinga Camp Milan 2023
 
Current State of Icinga - Icinga Camp Milan 2023
Current State of Icinga - Icinga Camp Milan 2023Current State of Icinga - Icinga Camp Milan 2023
Current State of Icinga - Icinga Camp Milan 2023
 
Efficient IT operations using monitoring systems and standardized tools - Ici...
Efficient IT operations using monitoring systems and standardized tools - Ici...Efficient IT operations using monitoring systems and standardized tools - Ici...
Efficient IT operations using monitoring systems and standardized tools - Ici...
 
Tornado Complex Event Processing Framework for Icinga - Icinga Camp Zurich 2019
Tornado Complex Event Processing Framework for Icinga - Icinga Camp Zurich 2019Tornado Complex Event Processing Framework for Icinga - Icinga Camp Zurich 2019
Tornado Complex Event Processing Framework for Icinga - Icinga Camp Zurich 2019
 
Signalilo: Visualizing Prometheus alerts in Icinga2 - Icinga Camp Zurich 2019
Signalilo: Visualizing Prometheus alerts in Icinga2 - Icinga Camp Zurich 2019Signalilo: Visualizing Prometheus alerts in Icinga2 - Icinga Camp Zurich 2019
Signalilo: Visualizing Prometheus alerts in Icinga2 - Icinga Camp Zurich 2019
 
Moving from Icinga 1 to Icinga 2 + Director - Icinga Camp Zurich 2019
Moving from Icinga 1 to Icinga 2 + Director - Icinga Camp Zurich 2019Moving from Icinga 1 to Icinga 2 + Director - Icinga Camp Zurich 2019
Moving from Icinga 1 to Icinga 2 + Director - Icinga Camp Zurich 2019
 
Icinga Director and vSphereDB - how they play together - Icinga Camp Zurich 2019
Icinga Director and vSphereDB - how they play together - Icinga Camp Zurich 2019Icinga Director and vSphereDB - how they play together - Icinga Camp Zurich 2019
Icinga Director and vSphereDB - how they play together - Icinga Camp Zurich 2019
 
Current State of Icinga - Icinga Camp Zurich 2019
Current State of Icinga - Icinga Camp Zurich 2019Current State of Icinga - Icinga Camp Zurich 2019
Current State of Icinga - Icinga Camp Zurich 2019
 
NetEye 4 based on Icinga 2 - Icinga Camp Milan 2019
NetEye 4 based on Icinga 2 - Icinga Camp Milan 2019NetEye 4 based on Icinga 2 - Icinga Camp Milan 2019
NetEye 4 based on Icinga 2 - Icinga Camp Milan 2019
 
Integrating Icinga 2 and ntopng - Icinga Camp Milan 2019
Integrating Icinga 2 and ntopng - Icinga Camp Milan 2019Integrating Icinga 2 and ntopng - Icinga Camp Milan 2019
Integrating Icinga 2 and ntopng - Icinga Camp Milan 2019
 
DevOps monitoring: Best Practices using OpenShift combined with Icinga & Big ...
DevOps monitoring: Best Practices using OpenShift combined with Icinga & Big ...DevOps monitoring: Best Practices using OpenShift combined with Icinga & Big ...
DevOps monitoring: Best Practices using OpenShift combined with Icinga & Big ...
 
Current State of Icinga - Icinga Camp Milan 2019
Current State of Icinga - Icinga Camp Milan 2019Current State of Icinga - Icinga Camp Milan 2019
Current State of Icinga - Icinga Camp Milan 2019
 
Best of Icinga Modules - Icinga Camp Milan 2019
Best of Icinga Modules - Icinga Camp Milan 2019Best of Icinga Modules - Icinga Camp Milan 2019
Best of Icinga Modules - Icinga Camp Milan 2019
 
hallenges of Monitoring Big Infrastructure - Icinga Camp Milan 2019
hallenges of Monitoring Big Infrastructure - Icinga Camp Milan 2019hallenges of Monitoring Big Infrastructure - Icinga Camp Milan 2019
hallenges of Monitoring Big Infrastructure - Icinga Camp Milan 2019
 

Icinga 2010 at OSMC

  • 1. Icinga – Open Source Monitoring Icinga Development Team @ Open Source Monitoring Conference 06.10.2010 - Nuremberg
  • 2. Agenda ˜  Icinga Team ˜  Project Structure & Communication ˜  Tools and Platform ˜  Current Architecture ˜  HTTP Interface ˜  Future Architecture ˜  Addons for Icinga ˜  Live-Demo ˜  Roadmap ˜  Questions & Answers
  • 4. Icinga Team - Locations
  • 5. Project Structure & Communication feedback.icinga.org www.icinga.org dev.icinga.org docs.icinga.org demo.icinga.org Mailing-Lists Icinga-Core Icinga-API Icinga-Web Icinga-Docu translate. icinga.org
  • 6. Tools and Platform Icinga Quality, Testing and Community Support website and open source ticketing system Icinga- Icinga- Icinga- Icinga- Icinga- Core API Web Doc Reports C based based on based on based on based on source PHP PHP using Docbook in Jasper - MySQL Sencha, english and Reporting PostgreSQL Agavi MVC german Oracle GIT GIT GIT GIT GIT
  • 7. Single node architecture - today Icinga-Web ExtJS / Agavi Icinga-API IDO Icinga-Core • MySQL • PostgreSQL IDMOD and • Oracle IDO2DB
  • 8. Multi node architecture - today Icinga-Web Icinga- Icinga- Slave Slave ExtJS / Agavi • NSCA • SSH Icinga-API • OTHERS IDO Icinga-Core • MySQL • PostgreSQL IDMOD and • Oracle IDO2DB
  • 9. HTTP Interface ˜  request almost all Icinga database fields that are supported by Icinga-API (which covers almost all fields) ˜  filter via nested AND and OR groups (Condition 1 AND (Condition 2 OR (Condition 3 AND Condition 4))..etc.) ˜  add Order, Limit, Group By ˜  get data via XML or JSON ˜  sending commands via PUT
  • 10. HTTP Interface - Example !http://localhost/icinga-web/web/api/service/filter[AND(HOST_CURRENT_STATE|=|0;OR (SERVICE_CURRENT_STATE|=|1;SERVICE_CURRENT_STATE|=|2))]/ columns(SERVICE_NAME| HOST_NAME|SERVICE_CURRENT_STATE|HOST_NAME|HOST_CURRENT_STATE|HOSTGROUP_NAME)/ order(SERVICE_CURRENT_STATE;DESC)/countColumn=SERVICE_ID/authkey=APITEST123456/ xml! <results>! <result>! <column name="SERVICE_ID">295</column>! <column name="SERVICE_OBJECT_ID">139</column>! <column name="SERVICE_IS_ACTIVE">1</column>! <column name="SERVICE_INSTANCE_ID">1</column>! <column name="SERVICE_NAME">MailQ</column>! <column name="SERVICE_DISPLAY_NAME">MailQ</column>! <column name="SERVICE_OUTPUT">Error occured:error=1:0:0</column>! <column name="SERVICE_PERFDATA"></column>! </result>! <result>! <column name="SERVICE_ID">311</column>! <column name="SERVICE_OBJECT_ID">155</column>! <column name="SERVICE_IS_ACTIVE">1</column>! <column name="SERVICE_INSTANCE_ID">1</column>! <column name="SERVICE_NAME">POP3</column>! <column name="SERVICE_DISPLAY_NAME">POP3</column>! <column name="SERVICE_OUTPUT">Verbindungsaufbau abgelehnt</column>! <column name="SERVICE_PERFDATA"></column>! </result>! <total>2</total>! </results>
  • 11. Major problems in distributed and large environments ˜  loadbalancing •  check slave availability •  dynamic check distribution •  specific checks must be forwarded to specific instances ˜  commands are not distributed •  there is only a “workaround” for the new web available ˜  transport-layer of check results and commands •  ssh-quickfix solution for distributed commands •  NSCA is buggy like hell and should be replaced ˜  an abstract interface to the core-elements is needed
  • 12. Problems with existing implementations ˜  config split and distribution •  difficult management •  prone to error ˜  DNX (distributed nagios executor) •  single point of failure architecture •  not able to handle specific network zones ˜  mod_gearman •  looks good so far, but very new •  network protocol ˜  merlin ˜  based on NEB-Interface
  • 13. NEB disadvantages ˜  NEB-Development is limited to C/C++ Coders ˜  it is not possible to change a NEB at runtime ˜  NEB’s must reside on the same server ˜  in the worst-case scenario a NEB could crash the Icinga process ˜  changes to the Icinga-Core can break a NEB
  • 14. Future architecture Icinga-Web and DB-API ExtJS / Agavi ExtJS / Agavi Icinga-API CORE-API • MySQL • PostgreSQL Icinga-Core • Oracle
  • 15. Future architecture – Core API ˜  XML - RPC •  XML based remote procedure call •  firewall awareness •  de facto standard ˜  bidirectional connection initiation ˜  checkresult reaper replacement CORE-API Icinga-Core
  • 16. Future architecture - ABA -  ABA switch in config ABA: From A -> B -> A Icinga-Core ABA: Zulu for distribute CORE-API XML-RPC -  external configuration ABA-Dispatcher -  various schedulers -  zoning and monitoring HTTP/HTTPS ABA- - load indicator ABA- ABA- Worker - health status Worker Worker
  • 17. Future architecture - Advantages Icinga-Core Icinga-Core CORE-API CORE-API XML-RPC ABA-Dispatcher - caching ABA- ABA- - self learning scheduler Worker Worker - single ABA failback
  • 18. Future architecture - ABA Roadmap ˜  we will implement the architecture step by step •  the classic way is still working •  we have a loosely coupled transport and executing process ˜  flexibility •  external processes give us the possibility to check the Icinga infrastructure availability •  different protocols can be used and an individual distribution solution could be implemented
  • 19. Addons ˜  contribute folder •  integration for PNP4Nagios •  Business-Process-View and -Editor ˜  EventDB Cronk for SNMP and logfile integration ˜  LConf ˜  Heatmap
  • 20. Reporting ˜  base reporting based on Jasper is finished ˜  reporting package is downloadable on •  http://sourceforge.net/projects/icinga/ •  https://git.icinga.org/?p=icinga-reports.git ˜  the only thing you need is a JasperServer ˜  single line installation available •  ./js-import.sh --input-zip icinga_report_package.zip ˜  Icinga web integration is planned for next year
  • 21. Live Demo Demo
  • 22. Roadmap ˜  unified roadmap •  1.2 - today - stable release •  1.3 - 16.02.2011 - unstable Release •  1.4 - 11.05.2011 - stable Release •  1.5 - 17.08.2011 - unstable Release •  1.6 - 09.11.2011 - stable Release ˜  bugfix releases 1.X.X
  • 23. One more thing completed