Icinga 2010 at OSMC
Upcoming SlideShare
Loading in...5
×
 

Icinga 2010 at OSMC

on

  • 1,961 views

Icinga Team at the Open Source Monitoring Conference

Icinga Team at the Open Source Monitoring Conference

Statistics

Views

Total Views
1,961
Views on SlideShare
324
Embed Views
1,637

Actions

Likes
0
Downloads
0
Comments
0

2 Embeds 1,637

https://www.icinga.org 1580
https://staging.icinga.org 57

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Icinga 2010 at OSMC Icinga 2010 at OSMC Presentation Transcript

  • Icinga – Open Source MonitoringIcinga Development Team@ Open Source Monitoring Conference06.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.orgwww.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 ReportingPostgreSQL 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 configABA: From A -> B -> A Icinga-CoreABA: 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 schedulerWorker 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 Demomobile.demo.icinga.org
  • Questions and Answers Q&A