Icinga ist eine Abspaltung und Weiterentwicklung der Monitoring Software Nagios. Neben den bekannten Nagios Features enthält Icinga bereits eine integrierte Datenbankanbindung für MySQL, PostgreSQL und Oracle sowie eine darauf aufbauende API. Um diese Funktionen und ein neues Webinterface erweitert, bleibt es dabei voll kompatibel zu Nagios und dessen zahlreichen Plugins. In diesem Vortrag werden die Neuheiten rund um Monitoring mit Icinga vorgestellt.
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
OSMC 2010 | Monitoring mit Icinga by Icinga Team
1. Icinga – Open Source MonitoringIcinga Open Source Monitoring
Icinga Development Team
@ Open Source Monitoring Conference
06 10 2010 - Nuremberg06.10.2010 - Nuremberg
2. Agendag
Icinga Team
P j t St t & C i ti Project Structure & Communication
Tools and Platform
C t A hit t Current Architecture
HTTP Interface
Future Architecture
Addons for Icinga
Live-Demo
Roadmap
Questions & Answers
6. Tools and Platform
Icinga Quality Testing and Community SupportIcinga Quality, Testing and Community Support
website and open source ticketing system
Icinga-
API
Icinga-
Core
Icinga-
Web
Icinga-
Doc
Icinga-
Reports
based onC based based on based on
Reports
based on
PHPsource
MySQL
PostgreSQL
Oracle
PHP using
Sencha,
Agavi MVC
Docbook in
english and
german
Jasper -
Reporting
Oracle
GIT GIT GIT GIT GIT
7. Single node architecture - todayg y
Icinga-Web
ExtJS / Agavi
Icinga-APIg
Icinga-Core
IDMOD and
IDOIDO
•MySQL
•PostgreSQL IDMOD and
IDO2DB
•PostgreSQL
•Oracle
8. Multi node architecture - todayy
Icinga-Web
ExtJS / Agavi
Icinga-
Slave
Icinga-
Slave
Icinga-API
•NSCA
•SSH
•OTHERSg OTHERS
Icinga-Core
IDMOD and
IDOIDO
•MySQL
•PostgreSQL IDMOD and
IDO2DB
•PostgreSQL
•Oracle
9. HTTP Interface
request almost all Icinga database fields that are supported
by Icinga-API (which covers almost all fields)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 )(Condition 2 OR (Condition 3 AND Condition 4))..etc.)
add Order, Limit, Group By
get data via XML or JSON get data via XML or JSON
sending commands via PUT
11. Major problems in distributed and large environmentsj p g
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 commandsp y
• ssh-quickfix solution for distributed commands
• NSCA is buggy like hell and should be replacedNSCA is buggy like hell and should be replaced
an abstract interface to the core-elements is needed
12. Problems with existing implementationsg p
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_g
• looks good so far, but very new
• network protocolnetwork protocol
merlin
based on NEB-Interface
13. NEB disadvantagesg
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 servers ust es de o t e sa e se e
in the worst-case scenario a NEB could crash the Icinga
processprocess
changes to the Icinga-Core can break a NEB
14. Future architecture
Icinga-Web
ExtJS / Agavi
Icinga-Web
and DB-API
E JS / A i
Icinga-API
ExtJS / Agavi
g
Icinga-Core
•MySQL
•PostgreSQL
CORE-API
Icinga Coreg Q
•Oracle
15. Future architecture – Core API
XML - RPC
• XML based remote procedure call
• firewall awareness
• de facto standard
bidirectional connection initiation
checkresult reaper replacement
Icinga-Core
CORE-API
Icinga Core
16. Future architecture - ABA
I i C
- ABA switch in config
ABA F A > B > A Icinga-Core
CORE-API
ABA switch in config
ABA: From A -> B -> A
ABA: Zulu for distribute
- external configuration
various schedulers
XML-RPC
ABA Di t h - various schedulers
- zoning and monitoring
ABA-Dispatcher
HTTP/HTTPS
ABA- ABA-ABA- -load indicator ABA
Worker
ABA
Worker
ABA
Worker
load indicator
-health status
18. Future architecture - ABA Roadmapp
we will implement the architecture step by step
• the classic way is still working
• we have a loosely coupled transport and executing processy p p g p
flexibility
t l i th ibilit t h k th• external processes give us the possibility to check the
Icinga infrastructure availability
diff t t l b d d i di id l• 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• Business-Process-View and -Editor
EventDB Cronk for SNMP and logfile integration
LConf
Heatmap
20. Reportingp g
base reporting based on Jasper is finished
reporting package is downloadable on
http://sourceforge net/projects/icinga/• 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./js import.sh input zip icinga_report_package.zip
Icinga web integration is planned for next year