osmc 2014: icinga web 2 kann mehr | thomas gelf
DESCRIPTION
Icinga Web 2 ist leichter, schneller und mächtiger als seine Vorgänger. Doch wir wollen uns nicht zurücklehnen, sondern legen jetzt erst richtig los. Der Großteil der Arbeit steckt bisher unter der Haube und dient nur einem Zweck: das Schreiben von Modulen so einfach als irgend möglich zu gestalten. Und neben den ersten fertigen Modulen steht schon eine ganze Reihe weiterer in den Startlöchern. Puppet, Forman und mehr integrieren? Endlich mal jeden Switchport samt aktuellem Traffic, STP-Status, VLANs und mehr an einer Stelle ersichtlich haben? Den Chassis-Aufbau gleich mit dazu? Via Jolokia JMX-Bäume durchstöbern? Zertifikate inventarisieren? Tickets mehr als nur verlinken? Der Vortrag gibt einen Einblick in die Architektur von Icinga Web 2 und zeigt anhand konkreter die Integration von Addons und anderen Modulen.TRANSCRIPT
WWW.ICINGA.ORG
Icinga Web 2 kann mehrOSMC 2014
Nürnberg20. November - Netways
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
FeaturesÜBERSICHT• Ein paar Prototypen, ein paar Slides• Kleine Details über den Aufbau von Icinga Web 2 Modulen• Kurze Live-Demo
OSMC 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
FeaturesWARNUNG• Das sind nur Prototypen• Einige werden vielleich auch nie released• Andere laufen schon seit Monaten in Produktion• Geduld!
OSMC 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
FeaturesFEEDBACK WANTED• Wir wollen Icinga besser und besser machen• Lasst uns wissen, was euch fehlt• Macht mit!• Icinga ist 100% Open Source. Keine Appliance, keine
Enterprise Version• Wir nehmen auch Gin.
OSMC 2014
Performancdaten
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Features
OSMC 2014
define host { name host-with-graph-template register 0 icon_image s.gif' width='0' height='0' border='0'></a><a href='/pnp4nagios/graph?host=$HOSTNAME$&srv=$SERVICEDESC$' class='tips' rel='/pnp4nagios/popup?host=$HOSTNAME$&srv=$SERVICEDESC$'><img width='20' height='20' src='/nagios/images/logos/Stats2.png' border='0}
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Features• Die gute alte Zeit!• Heute gibt es einen generischen grapher Hook• Unterschiedliche Grapher können unterschiedliche
capabilities bereitstellen
OSMC 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Features• Erste Beispiel-Implementierung: PNP4Nagios
OSMC 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Features• PNP4Nagios?• Oldschool RRD?• UNBEDINGT!!
OSMC 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Features• Graphite? Klar.
OSMC 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Features• Vermutlich nächstes Jahr: inGraph 2.x• Graphite oder SQL backend• Eine Reihe von default templates• Eigene per Mausklick
OSMC 2014
Trouble Tickets
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Features• Selbes Spiel, generischer “ticket” Hook• Implementierungen müssen ein Pattern matchen und einen
Link bereitstellen können. Mindestens.
OSMC 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Features• generictts ist eine sehr simple Implementierung• Erstellt Links in Kommentaren, Acks und Downtimes...
• ...und auch in der History:
OSMC 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Features• rt – RequestTracker Integration
OSMC 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Features• Wir wollen noch mehr!• Notifications könnten Tickets generieren, aktualisieren,
“resolven”• Stand heute: viele Custom-Implementierungen• Generisches Incident-Tracking Modul?
OSMC 2014
Nur Hosts und Services?
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Features• Ein Plugin hat für gewöhnlich:Exit Code
– Output
– Performance Daten
• Was, wenn ich mehr Details möchte?• Struktur?• Persistenz?
OSMC 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Features• Erstes Beispiel:
SSH
icingacli ssh hosts scan
OSMC 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Features
OSMC 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Features• Definieren, was “sicher” ist• Regelmäßiger Re-Scan oder on-demand• Ein einzelner Check um alle zu überwachen...• ...oder auch nur ein gefiltertes Subset• Änderungen verfolgen...• ...und autorisieren. Manuell – falls gewünscht.
OSMC 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Features• Ich will dasselbe für SSL Zertifikate• Wo wird ein bestimmtes Wildcard-Zertifikat benutzt?• Zertifikate, die von einer bestimmten CA stammen?• STARTTLS
Icinga Camp San Francisco 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Features• Host keys via exported resource in Puppet?
OSMC 2014
icingaweb::ssh::known_hosts { '/etc/ssh/known_hosts': }
# Filtered by domain, only ecdsa keys:icingaweb::ssh::known_hosts { '/etc/ssh/known_hosts': filter => { domain => [ 'internal.tld', 'somewhere.io' ], type => 'ecdsa', }}
# Deploy for a specific user:icingaweb::ssh::known_hosts { '/root/.ssh/known_hosts': filter => { ip => '10.17.0.0/16' }}
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Features• Puppet. Momentan nur Spielwiese:
OSMC 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Features• Switches?• STP?• Half duplex?• Traffic?
OSMC 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Features
OSMC 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Features• Erinnert ihr euch an Java?• JMX?• Vergesst check_jmx, nutzt Jolokia, check_jmx4perl• jconsole um mehr herauszufinden...• ...oder Jolokia, um durch den Baum zu spazieren
OSMC 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Features
Icinga Camp San Francisco 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Features• Business Prozesse!
OSMC 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Features• Spezielle Kunden-Module:
OSMC 2014
Baut eigene Module!
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
FeaturesWARUM?• Wir glauben an Open Source Software• Wir wollen Tools die wir lieben integriere• Wir wollen es anderen einfach machen, Icinga-Logik in deren
Projekt zu nutzen• Icinga Web 2 “embedded mode” bootstrapping• Module im “standalone mode”
OSMC 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Features• Sicheres, schnelles Webinterface
• Kein CSS/JS nachladen nach Login-SeiteIn
• In 50ms ausgeliefert
• DOM in 100-150ms bereit
• ~120kB insgesamt (mit jQuery, Modulen, Icons)
• Darauffolgende Requests sind noch schneller!
OSMC 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Features• Modulstruktur
OSMC 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Features• Einfaches Beispiel: images• icingacamp/public/img/nice-image.png
→ <baseurl>/img/icingacamp/nice-image.png• Animated GIF file support!!
OSMC 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Features• Eigenes CSS: <modulepath>/public/module.less• Nur eine Datei. Mehr?• Vom Browser nicht direkt erreichbar• css/icinga.css oder css/icinga.min.css• Transparentes optionales caching• Automatisches Etag handling (source file name, size, mtime)
OSMC 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Features• Keine Angst, es geht nichts kaputt:• Freie Fahrt im eigenen CSS:
• Es wird umgewandelt:
OSMC 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Features• LESS? Less is more! http://lesscss.org/• ABER: keep it SIMPLE!
OSMC 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Features• Responsiveness leichtgemacht:
OSMC 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Features• You don't have to care about JavaScript• But you can if you want to• We try to make things easy for module writers
Icinga Camp San Francisco 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Features• Übersetzungsmodul• Bringt Dokumentation für Entwickler und Übersetzer mit
OSMC 2014
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
Features• Schreibt Tests – wenn ihr glaubt ihr braucht sie:
OSMC 2014
LIVE DEMO
DANKESCHÖN!
DEV. WIKI. BLOG. DOC. | WWW.ICINGA.ORG
QUESTIONS & ANSWERS
Thomas Gelf - Icinga Camp San Francisco 2014
Web + Blog www.icinga.org
Docs docs.icinga.org
Development dev.icinga.org
Sourcecode git.icinga.org
Releases github.com/Icinga
Wiki wiki.icinga.org
IRC #icinga on FreeNode
Mailing lists lists.icinga.org
Support support.icinga.org
Twitter twitter.com/icinga
Facebook facebook.com/icinga
…….. Everywhere!
?Questions & Answers