Icinga 2011 at FrOSCon 6
description
Transcript of Icinga 2011 at FrOSCon 6
ICINGA – Open Source Monitoring in Web 2.0 Style
Icinga Development Team
@ FrOSCon 6
21.08.2011 Sankt Augustin
Agenda
● Einführung● Icinga an sich● Team● Projekt● Icinga-Core● Icinga-Web● Icinga-Reporting● Demo● Roadmap
Einführung
29 Jahre alt
Icinga-Member ab dem zweiten Tag
Webentwicklung mit PHP5, Ajax, HTML5
Aufgaben
• Entwicklung Icinga-Web• GIT Repositories• Demo Systeme
Icinga an sich
Open Source (GPL v2, v3) Monitoring Software Fork von Nagios (c) Mai 2009 Voll kompatibel zu Nagios
• Konfiguration• Plugins• Addons• NEBs
Komponenten Basiert• Core (Natives Interface, Datenbank)• Reporting (Jasper)• Icinga-Web
Icinga an sich ...
Icinga Team
?
Icinga Team - Locations
Das Icinga Projekt
www.icinga.org dev.icinga.org
Projekt: Struktur und Kommunikation
docs.icinga.orgwiki.icinga.org
Mailinglisten: icinga-users, icinga-devel
Icinga-Core
Icinga-Web
Icinga-DocsIcinga-Mobile
translate.icinga.org
feedback.icinga.org
Reporting
Icinga an sich: Toolset
Icinga-Core
● C basierter Quellcode● Native CGIs● MySQL, PostgreSQL, Oracle
Icinga-Web
● PHP5, Agavi MVC● Sencha ExtJS● Doctrine ORM
Icinga-Reporting
● JasperServer● Tomcat
Icinga-Doc
● Docbook XML● Deutsch und Englisch● Verschiedene Formate
GITGIT
GITGIT GITGIT
GITGIT
Icinga-Core
Icinga-Core
IDOMOD
IDO2DB
IDO
● MySQL● Postgre● Oracle
Check Ausführung:SSH, NSCA, NRPE
Check Ergebnisse:Passiv
Icinga-Core: Features
Performance und Bugfixes
Weiterentwicklung des nativen Webinterfaces
Exportmöglichkeiten (CSV, JSON)
Multi Commands
DB Schnittstelle für MySQL, Postgre und Oracle
Escalation Conditions
Dauerhafte und aktuelle Statusübersicht
Öffentliche und laufende Entwicklung
Icinga-Core: Ausblick
Integration SLA Daten• Sammeln von SLA Daten in der Datenbank• Durchgängiger Zeitstrahl mit statusrelevanten Unterbrechungen
• Dadurch anpassbar auf Verträge und Interpretation
CoreAPI• Saubere Trennung von Core- und Schnittstellenfunktionen• Interne Datenorganisation anhand von Structs
ZeroMQ Implementierung• Interne und Externe Kommunikation über Messagebus
• Systeme koppelbar• Datenaustausch mit Addons durch Abonnement-Prinzip• Klare Trennung vom Core (Addons haben keinen direkten Einfluss mehr auf den Core)
Icinga-Web: Architektur
Icinga-Core 1
IDO
● MySQL● PostgreSQL● Oracle
Icinga-Web
Doctrine API
Icinga-Core 1
EventDB
Icinga-Core 1
NagiosBP PNP
LConfHeatmap
Doctrine API
REST API
Icinga-Mobile
Icinga-Web: Features
Mehrbereichsauthentifizierung
• LDAP
• Basic AUTH
• Apache
Mandantenfähig
• Fein-granulare Berechtigungen
• Abhängig von Hostgroups, Servicegroups, …
• Standard Icinga Berechtigungsmodell
Portalbasiert
• Cronks (Widgets)
• Persistente Sichten
• Sichten speicherbar
• Dynamische Grids
Erweiterbar in Form von Modulen
Integrierter Reporting Cronk
Mehrsprachigkeit (28 Sprachen)
Icinga-Web: HTTP Schnittstelle
Freie Auswahl aller Felder der integrierten Icinga-Web API
Geschachtelte Abfragen (Condition 1 AND (Condition 2 OR (Condition 3 AND Condition 4))..etc.)
Sortierung, Limitierung und Gruppierung
Ausgabe in XML oder JSON
Kommandos via GET/PUT
Berechtigungen von Benutzer übernommen
Icinga-Web: HTTP Schnittstelle - Beispiel
http://localhost/icinga-web/modules/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>
Icinga-Web: Addons
Contribution folder
• Integration für PNP4Nagios• Business-Process-View and -Editor
EventDB Cronk für SNMP und Logfiles
LConf
Heatmap
Generische IFrames
• Nahtlose Integration jeder Web Applikation
Reporting
Standard Reporting verfügbar:
• http://sourceforge.net/projects/icinga/
• https://git.icinga.org/?p=icinga-reports.git
Jasper Reporting Server basierend
Installation des Paketes
• ./js-import.sh --input-zip icinga_report_package.zip
Nahtlose Integration in Icinga-Web
Live Demo
Demo
Roadmap
Feste Releasezyklen
Gemeinsame Roadmaps
• 1.5 - 24.08.2011 - Architektur
• 1.6 - 09.11.2011 - UI
Bugfix Releases 1.X.X
Questions and Answers
Q & A