This document provides an overview and agenda for an Icinga Development Team presentation. It introduces Icinga as an open source monitoring project and discusses the team, project structure, tools, current architecture, planned improvements to distributed monitoring capabilities using a Core API and ABA architecture, new HTTP interface, addons, reporting, and roadmap. The presentation concludes with a live demo and Q&A session.
hallenges of Monitoring Big Infrastructure - Icinga Camp Milan 2019
Icinga 2011 at Chemnitzer Linuxtage
1. Icinga – Open Source Monitoring
Icinga Development Team
@ Chemnitzer Linux-Tage 2011
19.03.2011 - Chemnitz
2. Agenda
Introduction
Icinga Team
Project Structure & Communication
Tools and Platform
Current Architecture
HTTP Interface
Future Architecture
Addons for Icinga
Live-Demo
Roadmap
Questions & Answers
3. Introduction
33 years old
Icinga-Member from day one
Background in Database Infrastructure and
Service Oriented Architecture
Responsibilities
• Organization
• Architecture
8. 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
9. Single node architecture - today
Icinga-Web
ExtJS / Agavi
Icinga-API
IDO Icinga-Core
•MySQL
•PostgreSQL IDMOD and
•Oracle IDO2DB
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. 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
21. Addons
contribute folder
• integration for PNP4Nagios
• Business-Process-View and -Editor
EventDB Cronk for SNMP and logfile integration
LConf
Heatmap
22. 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 this year (1.5)