Your SlideShare is downloading. ×
Icinga 2010 at OSMC
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Icinga 2010 at OSMC


Published on

Icinga Team at the Open Source Monitoring Conference

Icinga Team at the Open Source Monitoring Conference

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Icinga – Open Source MonitoringIcinga Development Team@ Open Source Monitoring Conference06.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
  • 3. Icinga Team
  • 4. Icinga Team - Locations
  • 5. Project Structure & Communication Mailing-Lists Icinga-Core Icinga-API Icinga-Web Icinga-Docu translate.
  • 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 ReportingPostgreSQL 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 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
  • 17. 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
  • 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 • •˜  the only thing you need is a JasperServer˜  single line installation available •  ./ --input-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
  • 24. Mobile
  • 25. Questions and Answers Q&A