icinga 2010 at osmc

25
Icinga – Open Source Monitoring Icinga Development Team @ Open Source Monitoring Conference 06.10.2010 - Nuremberg

Upload: icinga

Post on 05-Jul-2015

21.626 views

Category:

Documents


0 download

DESCRIPTION

Icinga Team at the Open Source Monitoring Conference

TRANSCRIPT

Page 1: Icinga 2010 at OSMC

Icinga – Open Source Monitoring

Icinga Development Team

@ Open Source Monitoring Conference 06.10.2010 - Nuremberg

Page 2: Icinga 2010 at OSMC

Agenda

�  Icinga Team �  Project Structure & Communication �  Tools and Platform

�  Current Architecture

�  HTTP Interface

�  Future Architecture

�  Addons for Icinga �  Live-Demo

�  Roadmap

�  Questions & Answers

Page 3: Icinga 2010 at OSMC

Icinga Team

Page 4: Icinga 2010 at OSMC

Icinga Team - Locations

Page 5: Icinga 2010 at OSMC

Project Structure & Communication

Mailing-Lists

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

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

translate. icinga.org

feedback.icinga.org

Page 6: Icinga 2010 at OSMC

Tools and Platform

Icinga Quality, Testing and Community Support

website and open source ticketing system

Icinga- API

based on PHP

Icinga-Core

C based source MySQL

PostgreSQL Oracle

Icinga-Web

based on PHP using Sencha,

Agavi MVC

Icinga-Doc

based on Docbook in english and

german

GIT GIT GIT GIT

Icinga-Reports

based on Jasper -

Reporting

GIT

Page 7: Icinga 2010 at OSMC

Single node architecture - today

Icinga-API

Icinga-Core

IDMOD and IDO2DB

Icinga-Web

ExtJS / Agavi

IDO

• MySQL • PostgreSQL

• Oracle

Page 8: Icinga 2010 at OSMC

Multi node architecture - today

Icinga-API

Icinga-Core

IDMOD and IDO2DB

IDO

• MySQL • PostgreSQL

• Oracle

Icinga-Web

ExtJS / Agavi

Icinga-Slave

Icinga-Slave

• NSCA • SSH • OTHERS

Page 9: Icinga 2010 at OSMC

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

Page 10: Icinga 2010 at OSMC

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>

Page 11: Icinga 2010 at OSMC

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

Page 12: Icinga 2010 at OSMC

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

Page 13: Icinga 2010 at OSMC

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

Page 14: Icinga 2010 at OSMC

Future architecture

Icinga-Core

• MySQL

• PostgreSQL • Oracle

Icinga-Web

ExtJS / Agavi

CORE-API

Icinga-API

Icinga-Web and DB-API

ExtJS / Agavi

Page 15: Icinga 2010 at OSMC

Future architecture – Core API

Icinga-Core

CORE-API

�  XML - RPC •  XML based remote procedure call

•  firewall awareness

•  de facto standard

�  bidirectional connection initiation

�  checkresult reaper replacement

Page 16: Icinga 2010 at OSMC

Future architecture - ABA

Icinga-Core

CORE-API

ABA-Worker

ABA-Worker

-  external configuration -  various schedulers -  zoning and monitoring

XML-RPC

ABA-Dispatcher

-  ABA switch in config

ABA-Worker

- load indicator - health status

HTTP/HTTPS

ABA: From A -> B -> A ABA: Zulu for distribute

Page 17: Icinga 2010 at OSMC

Future architecture - Advantages

Icinga-Core

CORE-API

ABA-Worker

XML-RPC

ABA-Dispatcher

ABA-Worker

Icinga-Core

CORE-API

- caching - self learning scheduler - single ABA failback

Page 18: Icinga 2010 at OSMC

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

Page 19: Icinga 2010 at OSMC

Addons

�  contribute folder

•  integration for PNP4Nagios

•  Business-Process-View and -Editor

�  EventDB Cronk for SNMP and logfile integration

�  LConf

�  Heatmap

Page 20: Icinga 2010 at OSMC

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

Page 21: Icinga 2010 at OSMC

Live Demo

Demo

Page 22: Icinga 2010 at OSMC

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

Page 23: Icinga 2010 at OSMC

One more thing

completed

Page 24: Icinga 2010 at OSMC

Mobile Demo

mobile.demo.icinga.org

Page 25: Icinga 2010 at OSMC

Questions and Answers

Q & A