icinga workshop 2014 icinga 2
DESCRIPTION
Icinga 2 - Monitoring redesignedTRANSCRIPT
www.netways.de // blog.netways.de // @netways
We love Open Source
ICINGA 2 WORKSHOP | 09.10.2014
ICINGA 2 MONITORING REDESIGNED
MICHAEL FRIEDRICH | GUNNAR BEUTNER | NETWAYS GMBH
www.netways.de // blog.netways.de // @netways
We love Open Source
■ Michael Friedrich ■ @dnsmichi, 31, Austria ■ Application Developer ■ Icinga Entwicklung
§ Core 1.x & 2.x developer § Release Manager
■ Im Icinga Team seit 2009
■ Gunnar Beutner ■ Application Developer ■ Icinga Entwicklung
§ Core 1.x & 2.x Developer ■ Im Icinga Team seit 2011
VORSTELLUNG
www.netways.de // blog.netways.de // @netways
We love Open Source
AGENDA
■ Überblick ■ Icinga 2 ■ Live Demo ■ Zusammenfassung ■ Fragen und Antworten
www.netways.de // blog.netways.de // @netways
We love Open Source
ÜBERBLICK
www.netways.de // blog.netways.de // @netways
We love Open Source
ICINGA 2 – ÜBERBLICK
■ Stabile Version: 2.1.1 (16.9.2014) ■ Unterstützt gängige Distributionen ■ Basiert auf C++ und Boost ■ Neues Konfigurationsformat ■ Kompatibel mit Plugins, Addons, UIs
www.netways.de // blog.netways.de // @netways
We love Open Source
ICINGA 2 – FEATURES
■ Features § Checker, Notifications § Compat (status.dat, Performancedaten, Command Pipe) § Graphite § DB IDO, Livestatus § Cluster
www.netways.de // blog.netways.de // @netways
We love Open Source
ICINGA 2 – FEATURES
■ Wiederkehrende Ausfallszeiten („Recurring Downtimes“) ■ Skalierbar für High Performance ■ Integrierte Gesundheitschecks ■ Load-Balancing für Checks und Notifications ■ Cluster Protokoll mit SSL x509 Zertifikaten, IPv4/6 Support ■ Monitoring Plugins 100% kompatibel
www.netways.de // blog.netways.de // @netways
We love Open Source
ICINGA 2 - CLUSTER
■ Eingebauter Cluster ■ Sichere Kommunikation zwischen den Knoten (SSL) ■ Automatische Verteilung von Checks, Notifications und
Datenbank ■ Zonenmodell für eine verteilte Überwachung ■ Replikation nur zwischen den einzelnen Zonen und der
Masterzone
www.netways.de // blog.netways.de // @netways
We love Open Source
ICINGA 2 – CLUSTER: HOCHVERFÜGBARKEIT
www.netways.de // blog.netways.de // @netways
We love Open Source
ICINGA 2 – CLUSTER: VERTEILTE UMGEBUNG
www.netways.de // blog.netways.de // @netways
We love Open Source
ICINGA 2 – CLUSTER: CLUSTER UND VERTEILTE UMGEBUNG
www.netways.de // blog.netways.de // @netways
We love Open Source
ICINGA 2 - KONFIGURATIONSUNTERSCHIEDE
■ Neue Notifizierungsregeln statt Kontaktgruppen ■ Dynamisches Erstellen von Services, Notifications, Dependencies
mit § assign where <Bedingung> § ignore where <Bedingung>
■ Frei definierbare Attribute für Befehlsmakros, Apply-Bedingungen, UIs
■ Globale Konstanten ■ Konditionale Befehlsargumente ■ Template Library (ITL) & Plugin Check Commands ■ Viele Details …
www.netways.de // blog.netways.de // @netways
We love Open Source
ICINGA 2 – KONFIGURATION: TEMPLATES
template Host "workshop-db-server" { check_interval = 3m retry_interval = 1m check_command = "hostalive" } template Host "workshop-db-server-customer-xyz" { vars.customer_name = "xyz" vars.sla = "8to5" } template Service "workshop-db-service" { check_interval = 1m retry_interval = 30s }
object Host "workshop-mysql-db1" { import "workshop-db-server" address = "192.168.33.10" vars.prod_mysql_db = "db-cluster1" } object Host "workshop-mysql-db-customer-xyz" { import "workshop-db-server" import "workshop-db-server-customer-xyz" address = "127.0.0.1" //vars.no_health_check = true }
www.netways.de // blog.netways.de // @netways
We love Open Source
ICINGA 2 – KONFIGURATION: GRUPPEN
object HostGroup "workshop-mysql-server" { display_name = "MySQL Server" assign where match("*mysql*", host.name) assign where match("*db-*", host.vars.prod_mysql_db) ignore where host.vars.test_server == true ignore where match("*internal", host.name) }
www.netways.de // blog.netways.de // @netways
We love Open Source
ICINGA 2 – KONFIGURATION: SERVICE APPLY
apply Service "workshop-mysql-health" { import "workshop-db-service" check_command = "mysql" assign where match("192.168.7*", host.address) assign where "workshop-mysql-server" in host.groups ignore where host.vars.no_health_check == true }
www.netways.de // blog.netways.de // @netways
We love Open Source
ICINGA 2 – KONFIGURATION: NOTIFIZERUNGEN
object User "workshop-user" { import "generic-user" email = "icinga@localhost" } object UserGroup "workshop-group" { assign where match("workshop*", user.name) }
apply Notification "workshop-service-by-mail" to Service { import "mail-service-notification" user_groups = [ "workshop-group" ] assign where host.vars.sla == "8to5" assign where match("*workshop*", service.name) }
www.netways.de // blog.netways.de // @netways
We love Open Source
LIVE DEMO
www.netways.de // blog.netways.de // @netways
We love Open Source
AUSBLICK
www.netways.de // blog.netways.de // @netways
We love Open Source
ICINGA 2 - AUSBLICK
■ Icinga 2 Version 2.2 (29.10.2014) § Agent für Remote Checks § Integrierte CLI-Commands
■ Geplante Features § Weitere Schnittstellen § <idee>
■ Module für Puppet, Ansible, Chef, … § https://dev.icinga.org/projects/icinga-tools
■ Roadmap § https://dev.icinga.org/projects/i2/roadmap
www.netways.de // blog.netways.de // @netways
We love Open Source
ICINGA 2 - NETWAYS
■ Consulting & Development ■ Schulungen & Workshops
§ Icinga 2 § Icinga 2 Advanced (soon™)
■ Webinare ■ Hosting von Icinga 2-Satelliten
www.netways.de // blog.netways.de // @netways
We love Open Source
FRAGEN UND ANTWORTEN
www.netways.de // blog.netways.de // @netways
We love Open Source
KONTAKT
Vielen Dank für Ihre Aufmerksamkeit!
NETWAYS GmbH Deutschherrnstrasse 15-19 90429 Nürnberg
Tel: +49 911 92885-0
Fax: +49 911 92885-77 E-Mail: [email protected]
Website: www.netways.de Twitter: twitter.com/netways Facebook: facebook.com/netways
Blog: blog.netways.de