SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
Icinga – Open Source Monitoring




Icinga Development Team

@ Nagios(Icinga  ) Workshop 2010

31.05.2010 - Nuremberg
Agenda

  The  Icinga Project
  Project Structure
  Tools and Plattform
  Icinga Development Team
  History
  Project Status Update
  Live-Demo
  Roadmap
  Questions & Answers
The Project Structure




• Biweekly Mumble session
• Team Mailinglist for communication
• Ticketing und project-management (dev.icinga.org)




          Icinga Quality, Testing and Community Support




                  Icinga-    Icinga-     Icinga-      Icinga-
  Icinga-API
                   Core       Web         Docu        Report
Tools and Platform



          Icinga Quality, Testing and Community Support

                website and open source ticketing system


  Icinga-API    Icinga-Core Icinga-Web      Icinga-Doc     Icinga-Rep

   based on      based on       based on     based on       based on
     PHP         existing C    PHP using    Docbook in       Jasper
                  source      ExtJS Agavi   english and     Reporting
                  MySQL         MVC and       german
                PostgreSQL     Icinga-API
                  Oracle


          GIT           GIT           GIT           GIT            GIT
The Icinga Development Team

    Core Team                    Docu Team
      •  Michael Friedrich          •  Lara Berdelsmann
      •  Hiren Patel                •  Wolfgang Nieder
      •  Christoph Maser          Quality and Testing
      •  Alexander Wirth            •  Matthias Flacke
      •  Massimo Forni              •  many others
    API Team                     Organisation
      •  Jannis Mosshammer          •  Bernd Erk
      •  Marius Hein              Marketing and Support
    Web Team                       •  Karolina Hein
      •  Marius Hein                •  Scott Evans
      •  Jannis Mosshammer          •  Amanda Mailer
      •  Michael Lübben
Annual History

    Release of 8 Icinga Versions (currently 1.0.1 core)
    near to 500 downloads a week on sourceforge

    near to 3.000 downloads of icinga-web on sourceforge
    near to 13.000 downloads of icinga-core on sourceforge
    near to 850 followers on twitter

    passed Nagios runtime performance and stability

    multilanguage support for webinterface
    popular webcasts on YouTube
Project Status Update - Doc

    create various formats based on a single technical base
    layout is independent from content
    generate various formats like HTML, XHTML, PDF,
     PostScript, RTF, MANPAGES using XSLT, XSL-FO
    use different stylesheets
  modularity     using includes
  two  languages (en, de) available now on
     docs.icinga.org and more to come (es)
    PDF and MANPAGES will be available soon
Project Status Update – Core

    Applied a huge set of patches from mailinglist
    Applied service escalation patch
    Maintaining Debian, RedHat and SLES Packages
    Extended IDOUTILS Housekeeping in external thread
    30% - 35% Performance increase using IDO2DB compared
     to NDO2DB
    Added stable support for more RDBMs
     •  MySQL
     •  PostgreSQL
     •  Oracle
    checkout the changelog for more information
Project Status Update – docs.icinga.org
Project Status Update – API

    no dependencies to other libraries or frameworks

    opportunity to be free from complex data schemas

    available interfaces

         output: database (PHP-PDO)

         input: pipe, ssh

    support multiple satellites
Project Status Update – API Example I – Connect Icinga




$apiFile	
  =	
  'icinga-­‐api/IcingaApi.php';	
  
$idoConfig	
  =	
  array	
  (	
  
            	
  'type'      	
       	
  =>	
  'mysql',	
  
            	
  'host'      	
       	
  =>	
  'database_master',	
  
            	
  'database'  	
       	
  =>	
  'icinga_db',	
  
            	
  'user'      	
       	
  =>	
  'icinga_user',	
  
            	
  'password'  	
       	
  =>	
  'very_secret',	
  
            	
  'table_prefix'       	
  =>	
  'icinga_',	
  
);
Project Status Update – API Example II – Search Data

require_once($apiFile);	
  

$api	
  =	
  IcingaApi::getConnection(IcingaApi::CONNECTION_IDO,	
  $idoConfig);	
  

$apiRes	
  =	
  $api-­‐>createSearch()	
  
            	
  -­‐>setSearchTarget(IcingaApi::TARGET_SERVICE)	
  
            	
  -­‐>setResultColumns(array(	
  
            	
             	
  'SERVICE_NAME',	
         	
    	
  	
  
            	
             	
  'SERVICE_OUTPUT',	
  	
  
            	
             	
  'SERVICE_PERFDATA',	
  	
  
            	
             	
  'SERVICE_CURRENT_STATE'	
  
            	
  ))	
  
            	
  -­‐>setSearchFilter(array(	
  
            	
             	
  array('CONTACTGROUP_NAME',	
  '%',	
  IcingaApi::MATCH_LIKE),	
  
            	
             	
  array('HOST_NAME',	
  'localhost')	
  
	
          	
  ))	
  
            	
  -­‐>setSearchGroup('SERVICE_NAME')	
  
            	
  -­‐>setSearchOrder(array('SERVICE_NAME'))	
  
            	
  -­‐>fetch();
Project Status Update – API Example III – Send Data

$config	
  =	
  array	
  (	
  
            	
  'ssh_bin'	
           	
  =>	
  '/usr/bin/ssh',	
  
            	
  'ssh_user'     	
     	
  =>	
  'icinga',	
  
            	
  'ssh_host'	
          	
  =>	
  'monitoring_server',	
  
            	
  'ssh_port'     	
     	
  =>	
  22,	
  
            	
  'ssh_timeout'         	
  =>	
  20,	
  
            	
  'ssh_pipe'     	
     	
  =>	
  '/usr/local/icinga/var/rw/icinga.cmd'	
  
);	
  

$cmd	
  =	
  IcingaApi::getCommandObject();	
  

$cmd-­‐>setCommand('SCHEDULE_SVC_CHECK')	
  
           	
  -­‐>setTarget(IcingaApi::COMMAND_INSTANCE,	
  '1')	
  
           	
  -­‐>setTarget(IcingaApi::COMMAND_HOST,	
  'linux-­‐www-­‐20')	
  
           	
  -­‐>setTarget(IcingaApi::COMMAND_SERVICE,	
  'apache-­‐procs')	
  
           	
  -­‐>setTarget(IcingaApi::COMMAND_CHECKTIME,	
  '1251449262');	
  

$cmdDisp	
  =	
  IcingaApi::getCommandDispatcher();	
  

$cmdDisp-­‐>setInterface(IcingaApi::COMMAND_SSH,	
  $config)	
  
           	
  -­‐>setCommand(array($cmd))	
  
           	
  -­‐>send();
Project Status Update – Web architecture



                Icinga-Web
                Your Addon
            ExtJS / Agavi / Appkit



                 Icinga-API




                    IDODB
                                           Icinga-Core
                   • MySQL
                • PostgreSQL               IDMOD and
                    • Oracle                 IDO2DB
Project Status Update – Web Features

    persistent user settings
    multiple authentication adapters
    easily extendable using custom cronks and modules
    create custom views on all monitoring items
    state of the art web 2.0 interface
    multilanguage support
    frontend layer for individual cronks
    flexible module loader based on phing available
    Cronk and Module skeletons available for download
translate.icinga.org
Project Status Update – Reporting

    multiformat reporting based on JasperReports
    standalone Tomcat application using external db-
     connection
    easily extendable and reusable
    webinterface integration with scheduler
    external report styles
    report templates still available
     •  host activity
     •  service activity
     •  host availability
     •  host- and service top10
     •  host- and hostgroup overview
Project Status Update – Reporting architecture




              Apache Tomcat


              Reporting-WAR




                    IDODB
                                                 Icinga-Core
                   • MySQL
                • PostgreSQL                     IDMOD and
                    • Oracle                       IDO2DB
Project Status Update – Reporting Challenges

    service level agreement reporting using idoutils
      •  service level needs to be defined
      •  monitoring on service level using business process addon
    initial state problem
    states outside given date ranges
    performance
    and ...
Project Status Update – Reporting SQL Challenges

select sum(state_duration),
  state
from (
  (select timestampdiff(second, if (state2.state_time < $P{p_date_start}, $P{p_date_start}, state2.state_time), if (state1.state_time > $P{p_date_end}
  and state2.state_time                    > $P{p_date_start}, $P{p_date_end}, state1.state_time)) as state_duration,
    state2.state,
    state2.output
  from icinga_statehistory as state1,
    icinga_statehistory as state2
  where state2.statehistory_id =
    (select statehistory_id                                                     union all
  from icinga_statehistory as sstart                                             (select if(
  where sstart.statehistory_id < state1.statehistory_id                            (select idc.statehistory_id
  and sstart.state_type       =1                                                   from icinga_statehistory as idc
  and sstart.instance_id      =1                                                   where idc.state_type = 1
  and sstart.object_id       = $P{p_host_object_id}                                and idc.instance_id = 1
  order by sstart.state_time desc limit 0,1                                        and idc.object_id = $P{p_host_object_id}
  )                                                                                and idc.state_time > $P{p_date_end} limit 0,1
and state1.statehistory_id IN                                                      )            is null, timestampdiff(second, state3.state_time, $P{p_date_end}), 0)
  (select statehistory_id                                                                            as state_duration,
  from (                                                                           state3.state,
    (select ida.statehistory_id                                                    state3.output
    from icinga_statehistory as ida                                              from icinga_statehistory as state3
    where ida.state_type = 1                                                     where state3.state_type = 1
    and ida.instance_id = 1                                                      and state3.instance_id = 1
    and ida.object_id = $P{p_host_object_id}                                     and state3.object_id = $P{p_host_object_id}
    and ida.state_time between $P{p_date_start} AND $P{p_date_end}               and state3.state_time between $P{p_date_start} AND $P{p_date_end}
    )                                                                            order by state3.statehistory_id desc limit 0,1
union                                                                            )) as send
    (select idb.statehistory_id                                                 group by state
    from icinga_statehistory as idb
    where idb.state_type = 1
    and idb.instance_id = 1
    and idb.object_id = $P{p_host_object_id}
    and idb.state_time > $P{p_date_end} limit 0,1
    )) as ids
  )
)
Reporting Screens
Live Demo




            Demo
Project Compatibility

    downward compatible to Nagios®
     •  configuration

     •  plugins

     •  addons

    compatible database schemas

    checkout our webcast for differences between
     Nagios® and Icinga
Roadmap



  Core-Roadmap                Web-Roadmap


•    30. June 1.0.2          •  30. June 1.0.2
•    18. August 1.0.3        •  18. August 1.0.3




                unified stable release
                  06. October 2010
Project Status Update – feedback.icinga.org
Questions and Answers




                  Q&A

Más contenido relacionado

Was ist angesagt?

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 migrateIcinga
 
Icinga @OSMC 2013
Icinga @OSMC 2013Icinga @OSMC 2013
Icinga @OSMC 2013Icinga
 
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 FranciscoIcinga
 
Icinga lsm 2015 copy
Icinga lsm 2015 copyIcinga lsm 2015 copy
Icinga lsm 2015 copyNETWAYS
 
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 2015Icinga
 
Icinga 2010 at OSMC
Icinga 2010 at OSMCIcinga 2010 at OSMC
Icinga 2010 at OSMCIcinga
 
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 2019Icinga
 
Icinga 2011 at Chemnitzer Linuxtage
Icinga 2011 at Chemnitzer LinuxtageIcinga 2011 at Chemnitzer Linuxtage
Icinga 2011 at Chemnitzer LinuxtageIcinga
 
Icinga2 Hacking Session 2014-10-10
Icinga2 Hacking Session 2014-10-10Icinga2 Hacking Session 2014-10-10
Icinga2 Hacking Session 2014-10-10Icinga
 
Monitoring Open Source Databases with Icinga
Monitoring Open Source Databases with IcingaMonitoring Open Source Databases with Icinga
Monitoring Open Source Databases with IcingaIcinga
 
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 IcingaIcinga
 
Icinga Camp Barcelona - Icinga
Icinga Camp Barcelona - IcingaIcinga Camp Barcelona - Icinga
Icinga Camp Barcelona - IcingaIcinga
 
Icinga 2 and Puppet - Automate Monitoring
Icinga 2 and Puppet - Automate MonitoringIcinga 2 and Puppet - Automate Monitoring
Icinga 2 and Puppet - Automate MonitoringOlinData
 
Icinga @GUUG 2013
Icinga @GUUG 2013Icinga @GUUG 2013
Icinga @GUUG 2013Icinga
 
Open Source Monitoring with Icinga at Fossasia 2015
Open Source Monitoring with Icinga at Fossasia 2015Open Source Monitoring with Icinga at Fossasia 2015
Open Source Monitoring with Icinga at Fossasia 2015Icinga
 
Icinga2 - Apify them all
Icinga2 - Apify them allIcinga2 - Apify them all
Icinga2 - Apify them allIcinga
 
Current State of Icinga - FlossUK 2014
Current State of Icinga - FlossUK 2014Current State of Icinga - FlossUK 2014
Current State of Icinga - FlossUK 2014Icinga
 
Icinga Camp Antwerp - Current State of Icinga
Icinga Camp Antwerp - Current State of IcingaIcinga Camp Antwerp - Current State of Icinga
Icinga Camp Antwerp - Current State of IcingaIcinga
 
Icinga 1, Icinga 2 @ FrOSCon 2014
Icinga 1, Icinga 2 @ FrOSCon 2014Icinga 1, Icinga 2 @ FrOSCon 2014
Icinga 1, Icinga 2 @ FrOSCon 2014Icinga
 
Icinga 2011 at Nagios Workshop
Icinga 2011 at Nagios WorkshopIcinga 2011 at Nagios Workshop
Icinga 2011 at Nagios WorkshopIcinga
 

Was ist angesagt? (20)

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 @OSMC 2013
Icinga @OSMC 2013Icinga @OSMC 2013
Icinga @OSMC 2013
 
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 lsm 2015 copy
Icinga lsm 2015 copyIcinga lsm 2015 copy
Icinga lsm 2015 copy
 
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
 
Icinga 2010 at OSMC
Icinga 2010 at OSMCIcinga 2010 at OSMC
Icinga 2010 at OSMC
 
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
 
Icinga 2011 at Chemnitzer Linuxtage
Icinga 2011 at Chemnitzer LinuxtageIcinga 2011 at Chemnitzer Linuxtage
Icinga 2011 at Chemnitzer Linuxtage
 
Icinga2 Hacking Session 2014-10-10
Icinga2 Hacking Session 2014-10-10Icinga2 Hacking Session 2014-10-10
Icinga2 Hacking Session 2014-10-10
 
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 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
 
Icinga Camp Barcelona - Icinga
Icinga Camp Barcelona - IcingaIcinga Camp Barcelona - Icinga
Icinga Camp Barcelona - Icinga
 
Icinga 2 and Puppet - Automate Monitoring
Icinga 2 and Puppet - Automate MonitoringIcinga 2 and Puppet - Automate Monitoring
Icinga 2 and Puppet - Automate Monitoring
 
Icinga @GUUG 2013
Icinga @GUUG 2013Icinga @GUUG 2013
Icinga @GUUG 2013
 
Open Source Monitoring with Icinga at Fossasia 2015
Open Source Monitoring with Icinga at Fossasia 2015Open Source Monitoring with Icinga at Fossasia 2015
Open Source Monitoring with Icinga at Fossasia 2015
 
Icinga2 - Apify them all
Icinga2 - Apify them allIcinga2 - Apify them all
Icinga2 - Apify them all
 
Current State of Icinga - FlossUK 2014
Current State of Icinga - FlossUK 2014Current State of Icinga - FlossUK 2014
Current State of Icinga - FlossUK 2014
 
Icinga Camp Antwerp - Current State of Icinga
Icinga Camp Antwerp - Current State of IcingaIcinga Camp Antwerp - Current State of Icinga
Icinga Camp Antwerp - Current State of Icinga
 
Icinga 1, Icinga 2 @ FrOSCon 2014
Icinga 1, Icinga 2 @ FrOSCon 2014Icinga 1, Icinga 2 @ FrOSCon 2014
Icinga 1, Icinga 2 @ FrOSCon 2014
 
Icinga 2011 at Nagios Workshop
Icinga 2011 at Nagios WorkshopIcinga 2011 at Nagios Workshop
Icinga 2011 at Nagios Workshop
 

Andere mochten auch

Icinga 2011 at FrOSCon 6
Icinga 2011 at FrOSCon 6Icinga 2011 at FrOSCon 6
Icinga 2011 at FrOSCon 6Icinga
 
Icinga 2011 at OSMC
Icinga 2011 at OSMCIcinga 2011 at OSMC
Icinga 2011 at OSMCIcinga
 
Icinga 2010 at CeBIT
Icinga 2010 at CeBITIcinga 2010 at CeBIT
Icinga 2010 at CeBITIcinga
 
Icinga 2012 at Monitoring Workshop
Icinga 2012 at Monitoring WorkshopIcinga 2012 at Monitoring Workshop
Icinga 2012 at Monitoring WorkshopIcinga
 
Introduction into Icinga Web 2
Introduction into Icinga Web 2Introduction into Icinga Web 2
Introduction into Icinga Web 2Icinga
 
IcingaCamp Portland 2015 - Welcome
IcingaCamp Portland 2015 - WelcomeIcingaCamp Portland 2015 - Welcome
IcingaCamp Portland 2015 - WelcomeIcinga
 
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 FranciscoIcinga
 
Icinga Camp Barcelona - Icinga Web 2
Icinga Camp Barcelona - Icinga Web 2Icinga Camp Barcelona - Icinga Web 2
Icinga Camp Barcelona - Icinga Web 2Icinga
 
Icinga at Flossuk 2015 in York
Icinga at Flossuk 2015 in YorkIcinga at Flossuk 2015 in York
Icinga at Flossuk 2015 in YorkIcinga
 
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 AntwerpIcinga
 
Welcome Icinga Camp San Francisco 2014
Welcome Icinga Camp San Francisco 2014Welcome Icinga Camp San Francisco 2014
Welcome Icinga Camp San Francisco 2014Icinga
 
Loadays 2015 - Enterprise Monitoring with Icinga
Loadays 2015 - Enterprise Monitoring with IcingaLoadays 2015 - Enterprise Monitoring with Icinga
Loadays 2015 - Enterprise Monitoring with IcingaIcinga
 
Icinga @ OSMC 2014
Icinga @ OSMC 2014Icinga @ OSMC 2014
Icinga @ OSMC 2014Icinga
 
Icinga Camp Antwerp - Icinga2 Cluster
Icinga Camp Antwerp - Icinga2 ClusterIcinga Camp Antwerp - Icinga2 Cluster
Icinga Camp Antwerp - Icinga2 ClusterIcinga
 
Cebit 2015 icinga
Cebit 2015 icingaCebit 2015 icinga
Cebit 2015 icingaIcinga
 
Icinga2 at PuppetLabs
Icinga2 at PuppetLabsIcinga2 at PuppetLabs
Icinga2 at PuppetLabsIcinga
 

Andere mochten auch (16)

Icinga 2011 at FrOSCon 6
Icinga 2011 at FrOSCon 6Icinga 2011 at FrOSCon 6
Icinga 2011 at FrOSCon 6
 
Icinga 2011 at OSMC
Icinga 2011 at OSMCIcinga 2011 at OSMC
Icinga 2011 at OSMC
 
Icinga 2010 at CeBIT
Icinga 2010 at CeBITIcinga 2010 at CeBIT
Icinga 2010 at CeBIT
 
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
 
IcingaCamp Portland 2015 - Welcome
IcingaCamp Portland 2015 - WelcomeIcingaCamp Portland 2015 - Welcome
IcingaCamp Portland 2015 - Welcome
 
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 at Flossuk 2015 in York
Icinga at Flossuk 2015 in YorkIcinga at Flossuk 2015 in York
Icinga at Flossuk 2015 in York
 
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
 
Welcome Icinga Camp San Francisco 2014
Welcome Icinga Camp San Francisco 2014Welcome Icinga Camp San Francisco 2014
Welcome Icinga Camp San Francisco 2014
 
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
 
Icinga Camp Antwerp - Icinga2 Cluster
Icinga Camp Antwerp - Icinga2 ClusterIcinga Camp Antwerp - Icinga2 Cluster
Icinga Camp Antwerp - Icinga2 Cluster
 
Cebit 2015 icinga
Cebit 2015 icingaCebit 2015 icinga
Cebit 2015 icinga
 
Icinga2 at PuppetLabs
Icinga2 at PuppetLabsIcinga2 at PuppetLabs
Icinga2 at PuppetLabs
 

Ähnlich wie Icinga 2010 at Nagios Workshop

Icinga 2009 at OSMC
Icinga 2009 at OSMCIcinga 2009 at OSMC
Icinga 2009 at OSMCIcinga
 
OSMC 2009 | Icinga by Icinga Team
OSMC 2009 | Icinga by Icinga TeamOSMC 2009 | Icinga by Icinga Team
OSMC 2009 | Icinga by Icinga TeamNETWAYS
 
Relational Database Access with Python ‘sans’ ORM
Relational Database Access with Python ‘sans’ ORM  Relational Database Access with Python ‘sans’ ORM
Relational Database Access with Python ‘sans’ ORM Mark Rees
 
SF Big Analytics 20191112: How to performance-tune Spark applications in larg...
SF Big Analytics 20191112: How to performance-tune Spark applications in larg...SF Big Analytics 20191112: How to performance-tune Spark applications in larg...
SF Big Analytics 20191112: How to performance-tune Spark applications in larg...Chester Chen
 
[Srijan Wednesday Webinars] Ruling Drupal 8 with #d8rules
[Srijan Wednesday Webinars] Ruling Drupal 8 with #d8rules[Srijan Wednesday Webinars] Ruling Drupal 8 with #d8rules
[Srijan Wednesday Webinars] Ruling Drupal 8 with #d8rulesSrijan Technologies
 
Relational Database Access with Python
Relational Database Access with PythonRelational Database Access with Python
Relational Database Access with PythonMark Rees
 
Developing your first application using FI-WARE
Developing your first application using FI-WAREDeveloping your first application using FI-WARE
Developing your first application using FI-WAREFermin Galan
 
PostgreSQL - масштабирование в моде, Valentine Gogichashvili (Zalando SE)
PostgreSQL - масштабирование в моде, Valentine Gogichashvili (Zalando SE)PostgreSQL - масштабирование в моде, Valentine Gogichashvili (Zalando SE)
PostgreSQL - масштабирование в моде, Valentine Gogichashvili (Zalando SE)Ontico
 
Giga Spaces Data Grid / Data Caching Overview
Giga Spaces Data Grid / Data Caching OverviewGiga Spaces Data Grid / Data Caching Overview
Giga Spaces Data Grid / Data Caching Overviewjimliddle
 
Building Your Own IoT Platform using FIWARE GEis
Building Your Own IoT Platform using FIWARE GEisBuilding Your Own IoT Platform using FIWARE GEis
Building Your Own IoT Platform using FIWARE GEisFIWARE
 
Jump Start into Apache® Spark™ and Databricks
Jump Start into Apache® Spark™ and DatabricksJump Start into Apache® Spark™ and Databricks
Jump Start into Apache® Spark™ and DatabricksDatabricks
 
Introduction to Apache Amaterasu (Incubating): CD Framework For Your Big Data...
Introduction to Apache Amaterasu (Incubating): CD Framework For Your Big Data...Introduction to Apache Amaterasu (Incubating): CD Framework For Your Big Data...
Introduction to Apache Amaterasu (Incubating): CD Framework For Your Big Data...DataWorks Summit
 
Creating PostgreSQL-as-a-Service at Scale
Creating PostgreSQL-as-a-Service at ScaleCreating PostgreSQL-as-a-Service at Scale
Creating PostgreSQL-as-a-Service at ScaleSean Chittenden
 
Developing your first application using FIWARE
Developing your first application using FIWAREDeveloping your first application using FIWARE
Developing your first application using FIWAREFIWARE
 
Google App Engine Developer - Day2
Google App Engine Developer - Day2Google App Engine Developer - Day2
Google App Engine Developer - Day2Simon Su
 
Spline 0.3 and Plans for 0.4
Spline 0.3 and Plans for 0.4 Spline 0.3 and Plans for 0.4
Spline 0.3 and Plans for 0.4 Vaclav Kosar
 
6 tips for improving ruby performance
6 tips for improving ruby performance6 tips for improving ruby performance
6 tips for improving ruby performanceEngine Yard
 
Getting data into Rudder
Getting data into RudderGetting data into Rudder
Getting data into RudderRUDDER
 

Ähnlich wie Icinga 2010 at Nagios Workshop (20)

Icinga 2009 at OSMC
Icinga 2009 at OSMCIcinga 2009 at OSMC
Icinga 2009 at OSMC
 
OSMC 2009 | Icinga by Icinga Team
OSMC 2009 | Icinga by Icinga TeamOSMC 2009 | Icinga by Icinga Team
OSMC 2009 | Icinga by Icinga Team
 
Relational Database Access with Python ‘sans’ ORM
Relational Database Access with Python ‘sans’ ORM  Relational Database Access with Python ‘sans’ ORM
Relational Database Access with Python ‘sans’ ORM
 
SF Big Analytics 20191112: How to performance-tune Spark applications in larg...
SF Big Analytics 20191112: How to performance-tune Spark applications in larg...SF Big Analytics 20191112: How to performance-tune Spark applications in larg...
SF Big Analytics 20191112: How to performance-tune Spark applications in larg...
 
[Srijan Wednesday Webinars] Ruling Drupal 8 with #d8rules
[Srijan Wednesday Webinars] Ruling Drupal 8 with #d8rules[Srijan Wednesday Webinars] Ruling Drupal 8 with #d8rules
[Srijan Wednesday Webinars] Ruling Drupal 8 with #d8rules
 
Siddhi - cloud-native stream processor
Siddhi - cloud-native stream processorSiddhi - cloud-native stream processor
Siddhi - cloud-native stream processor
 
Relational Database Access with Python
Relational Database Access with PythonRelational Database Access with Python
Relational Database Access with Python
 
Developing your first application using FI-WARE
Developing your first application using FI-WAREDeveloping your first application using FI-WARE
Developing your first application using FI-WARE
 
PostgreSQL - масштабирование в моде, Valentine Gogichashvili (Zalando SE)
PostgreSQL - масштабирование в моде, Valentine Gogichashvili (Zalando SE)PostgreSQL - масштабирование в моде, Valentine Gogichashvili (Zalando SE)
PostgreSQL - масштабирование в моде, Valentine Gogichashvili (Zalando SE)
 
Giga Spaces Data Grid / Data Caching Overview
Giga Spaces Data Grid / Data Caching OverviewGiga Spaces Data Grid / Data Caching Overview
Giga Spaces Data Grid / Data Caching Overview
 
Building Your Own IoT Platform using FIWARE GEis
Building Your Own IoT Platform using FIWARE GEisBuilding Your Own IoT Platform using FIWARE GEis
Building Your Own IoT Platform using FIWARE GEis
 
Jump Start into Apache® Spark™ and Databricks
Jump Start into Apache® Spark™ and DatabricksJump Start into Apache® Spark™ and Databricks
Jump Start into Apache® Spark™ and Databricks
 
Introduction to Apache Amaterasu (Incubating): CD Framework For Your Big Data...
Introduction to Apache Amaterasu (Incubating): CD Framework For Your Big Data...Introduction to Apache Amaterasu (Incubating): CD Framework For Your Big Data...
Introduction to Apache Amaterasu (Incubating): CD Framework For Your Big Data...
 
Creating PostgreSQL-as-a-Service at Scale
Creating PostgreSQL-as-a-Service at ScaleCreating PostgreSQL-as-a-Service at Scale
Creating PostgreSQL-as-a-Service at Scale
 
Iac d.damyanov 4.pptx
Iac d.damyanov 4.pptxIac d.damyanov 4.pptx
Iac d.damyanov 4.pptx
 
Developing your first application using FIWARE
Developing your first application using FIWAREDeveloping your first application using FIWARE
Developing your first application using FIWARE
 
Google App Engine Developer - Day2
Google App Engine Developer - Day2Google App Engine Developer - Day2
Google App Engine Developer - Day2
 
Spline 0.3 and Plans for 0.4
Spline 0.3 and Plans for 0.4 Spline 0.3 and Plans for 0.4
Spline 0.3 and Plans for 0.4
 
6 tips for improving ruby performance
6 tips for improving ruby performance6 tips for improving ruby performance
6 tips for improving ruby performance
 
Getting data into Rudder
Getting data into RudderGetting data into Rudder
Getting data into Rudder
 

Mehr von Icinga

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 2023Icinga
 
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...Icinga
 
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 2023Icinga
 
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...Icinga
 
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 2023Icinga
 
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 2023Icinga
 
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 2023Icinga
 
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...Icinga
 
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 2019Icinga
 
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 2019Icinga
 
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 2019Icinga
 
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 2019Icinga
 
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 2019Icinga
 
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 2019Icinga
 
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 2019Icinga
 
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 ...Icinga
 
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 2019Icinga
 
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 2019Icinga
 
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 2019Icinga
 
Discover the real user experience with Alyvix - Icinga Camp Milan 2019
Discover the real user experience with Alyvix - Icinga Camp Milan 2019Discover the real user experience with Alyvix - Icinga Camp Milan 2019
Discover the real user experience with Alyvix - Icinga Camp Milan 2019Icinga
 

Mehr von 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
 
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
 
Discover the real user experience with Alyvix - Icinga Camp Milan 2019
Discover the real user experience with Alyvix - Icinga Camp Milan 2019Discover the real user experience with Alyvix - Icinga Camp Milan 2019
Discover the real user experience with Alyvix - Icinga Camp Milan 2019
 

Icinga 2010 at Nagios Workshop

  • 1. Icinga – Open Source Monitoring Icinga Development Team @ Nagios(Icinga  ) Workshop 2010 31.05.2010 - Nuremberg
  • 2. Agenda   The Icinga Project   Project Structure   Tools and Plattform   Icinga Development Team   History   Project Status Update   Live-Demo   Roadmap   Questions & Answers
  • 3. The Project Structure • Biweekly Mumble session • Team Mailinglist for communication • Ticketing und project-management (dev.icinga.org) Icinga Quality, Testing and Community Support Icinga- Icinga- Icinga- Icinga- Icinga-API Core Web Docu Report
  • 4. Tools and Platform Icinga Quality, Testing and Community Support website and open source ticketing system Icinga-API Icinga-Core Icinga-Web Icinga-Doc Icinga-Rep based on based on based on based on based on PHP existing C PHP using Docbook in Jasper source ExtJS Agavi english and Reporting MySQL MVC and german PostgreSQL Icinga-API Oracle GIT GIT GIT GIT GIT
  • 5. The Icinga Development Team   Core Team   Docu Team •  Michael Friedrich •  Lara Berdelsmann •  Hiren Patel •  Wolfgang Nieder •  Christoph Maser   Quality and Testing •  Alexander Wirth •  Matthias Flacke •  Massimo Forni •  many others   API Team   Organisation •  Jannis Mosshammer •  Bernd Erk •  Marius Hein   Marketing and Support   Web Team •  Karolina Hein •  Marius Hein •  Scott Evans •  Jannis Mosshammer •  Amanda Mailer •  Michael Lübben
  • 6. Annual History   Release of 8 Icinga Versions (currently 1.0.1 core)   near to 500 downloads a week on sourceforge   near to 3.000 downloads of icinga-web on sourceforge   near to 13.000 downloads of icinga-core on sourceforge   near to 850 followers on twitter   passed Nagios runtime performance and stability   multilanguage support for webinterface   popular webcasts on YouTube
  • 7. Project Status Update - Doc   create various formats based on a single technical base   layout is independent from content   generate various formats like HTML, XHTML, PDF, PostScript, RTF, MANPAGES using XSLT, XSL-FO   use different stylesheets   modularity using includes   two languages (en, de) available now on docs.icinga.org and more to come (es)   PDF and MANPAGES will be available soon
  • 8. Project Status Update – Core   Applied a huge set of patches from mailinglist   Applied service escalation patch   Maintaining Debian, RedHat and SLES Packages   Extended IDOUTILS Housekeeping in external thread   30% - 35% Performance increase using IDO2DB compared to NDO2DB   Added stable support for more RDBMs •  MySQL •  PostgreSQL •  Oracle   checkout the changelog for more information
  • 9. Project Status Update – docs.icinga.org
  • 10. Project Status Update – API   no dependencies to other libraries or frameworks   opportunity to be free from complex data schemas   available interfaces   output: database (PHP-PDO)   input: pipe, ssh   support multiple satellites
  • 11. Project Status Update – API Example I – Connect Icinga $apiFile  =  'icinga-­‐api/IcingaApi.php';   $idoConfig  =  array  (    'type'    =>  'mysql',    'host'    =>  'database_master',    'database'    =>  'icinga_db',    'user'    =>  'icinga_user',    'password'    =>  'very_secret',    'table_prefix'  =>  'icinga_',   );
  • 12. Project Status Update – API Example II – Search Data require_once($apiFile);   $api  =  IcingaApi::getConnection(IcingaApi::CONNECTION_IDO,  $idoConfig);   $apiRes  =  $api-­‐>createSearch()    -­‐>setSearchTarget(IcingaApi::TARGET_SERVICE)    -­‐>setResultColumns(array(      'SERVICE_NAME',            'SERVICE_OUTPUT',        'SERVICE_PERFDATA',        'SERVICE_CURRENT_STATE'    ))    -­‐>setSearchFilter(array(      array('CONTACTGROUP_NAME',  '%',  IcingaApi::MATCH_LIKE),      array('HOST_NAME',  'localhost')      ))    -­‐>setSearchGroup('SERVICE_NAME')    -­‐>setSearchOrder(array('SERVICE_NAME'))    -­‐>fetch();
  • 13. Project Status Update – API Example III – Send Data $config  =  array  (    'ssh_bin'    =>  '/usr/bin/ssh',    'ssh_user'    =>  'icinga',    'ssh_host'    =>  'monitoring_server',    'ssh_port'    =>  22,    'ssh_timeout'  =>  20,    'ssh_pipe'    =>  '/usr/local/icinga/var/rw/icinga.cmd'   );   $cmd  =  IcingaApi::getCommandObject();   $cmd-­‐>setCommand('SCHEDULE_SVC_CHECK')    -­‐>setTarget(IcingaApi::COMMAND_INSTANCE,  '1')    -­‐>setTarget(IcingaApi::COMMAND_HOST,  'linux-­‐www-­‐20')    -­‐>setTarget(IcingaApi::COMMAND_SERVICE,  'apache-­‐procs')    -­‐>setTarget(IcingaApi::COMMAND_CHECKTIME,  '1251449262');   $cmdDisp  =  IcingaApi::getCommandDispatcher();   $cmdDisp-­‐>setInterface(IcingaApi::COMMAND_SSH,  $config)    -­‐>setCommand(array($cmd))    -­‐>send();
  • 14. Project Status Update – Web architecture Icinga-Web Your Addon ExtJS / Agavi / Appkit Icinga-API IDODB Icinga-Core • MySQL • PostgreSQL IDMOD and • Oracle IDO2DB
  • 15. Project Status Update – Web Features   persistent user settings   multiple authentication adapters   easily extendable using custom cronks and modules   create custom views on all monitoring items   state of the art web 2.0 interface   multilanguage support   frontend layer for individual cronks   flexible module loader based on phing available   Cronk and Module skeletons available for download
  • 17. Project Status Update – Reporting   multiformat reporting based on JasperReports   standalone Tomcat application using external db- connection   easily extendable and reusable   webinterface integration with scheduler   external report styles   report templates still available •  host activity •  service activity •  host availability •  host- and service top10 •  host- and hostgroup overview
  • 18. Project Status Update – Reporting architecture Apache Tomcat Reporting-WAR IDODB Icinga-Core • MySQL • PostgreSQL IDMOD and • Oracle IDO2DB
  • 19. Project Status Update – Reporting Challenges   service level agreement reporting using idoutils •  service level needs to be defined •  monitoring on service level using business process addon   initial state problem   states outside given date ranges   performance   and ...
  • 20. Project Status Update – Reporting SQL Challenges select sum(state_duration), state from ( (select timestampdiff(second, if (state2.state_time < $P{p_date_start}, $P{p_date_start}, state2.state_time), if (state1.state_time > $P{p_date_end} and state2.state_time > $P{p_date_start}, $P{p_date_end}, state1.state_time)) as state_duration, state2.state, state2.output from icinga_statehistory as state1, icinga_statehistory as state2 where state2.statehistory_id = (select statehistory_id union all from icinga_statehistory as sstart (select if( where sstart.statehistory_id < state1.statehistory_id (select idc.statehistory_id and sstart.state_type =1 from icinga_statehistory as idc and sstart.instance_id =1 where idc.state_type = 1 and sstart.object_id = $P{p_host_object_id} and idc.instance_id = 1 order by sstart.state_time desc limit 0,1 and idc.object_id = $P{p_host_object_id} ) and idc.state_time > $P{p_date_end} limit 0,1 and state1.statehistory_id IN ) is null, timestampdiff(second, state3.state_time, $P{p_date_end}), 0) (select statehistory_id as state_duration, from ( state3.state, (select ida.statehistory_id state3.output from icinga_statehistory as ida from icinga_statehistory as state3 where ida.state_type = 1 where state3.state_type = 1 and ida.instance_id = 1 and state3.instance_id = 1 and ida.object_id = $P{p_host_object_id} and state3.object_id = $P{p_host_object_id} and ida.state_time between $P{p_date_start} AND $P{p_date_end} and state3.state_time between $P{p_date_start} AND $P{p_date_end} ) order by state3.statehistory_id desc limit 0,1 union )) as send (select idb.statehistory_id group by state from icinga_statehistory as idb where idb.state_type = 1 and idb.instance_id = 1 and idb.object_id = $P{p_host_object_id} and idb.state_time > $P{p_date_end} limit 0,1 )) as ids ) )
  • 22. Live Demo Demo
  • 23. Project Compatibility   downward compatible to Nagios® •  configuration •  plugins •  addons   compatible database schemas   checkout our webcast for differences between Nagios® and Icinga
  • 24. Roadmap   Core-Roadmap   Web-Roadmap •  30. June 1.0.2 •  30. June 1.0.2 •  18. August 1.0.3 •  18. August 1.0.3 unified stable release 06. October 2010
  • 25. Project Status Update – feedback.icinga.org