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 Reporting
PostgreSQL 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
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
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
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 config
ABA: From A -> B -> A Icinga-Core
ABA: 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
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
• 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