Icinga 2011 at FrOSCon 6

Post on 06-Jul-2015

11.153 views 5 download

description

Icinga Team presenting at the 6th FrOSCon in Sankt Augustin

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