Icinga 2010 at OSMC


Published on

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

No notes for slide

Icinga 2010 at OSMC

  1. 1. Icinga – Open Source MonitoringIcinga Development Team@ Open Source Monitoring Conference06.10.2010 - Nuremberg
  2. 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. 3. Icinga Team
  4. 4. Icinga Team - Locations
  5. 5. 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
  6. 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. 7. Single node architecture - today Icinga-Web ExtJS / Agavi Icinga-API IDO Icinga-Core • MySQL • PostgreSQL IDMOD and • Oracle IDO2DB
  8. 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. 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. 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. 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. 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. 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. 14. Future architecture Icinga-Web and DB-API ExtJS / Agavi ExtJS / Agavi Icinga-API CORE-API • MySQL • PostgreSQL Icinga-Core • Oracle
  15. 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. 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. 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. 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. 19. Addons˜  contribute folder •  integration for PNP4Nagios •  Business-Process-View and -Editor˜  EventDB Cronk for SNMP and logfile integration˜  LConf˜  Heatmap
  20. 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. 21. Live Demo Demo
  22. 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. 23. One more thing completed
  24. 24. Mobile Demomobile.demo.icinga.org
  25. 25. Questions and Answers Q&A