Icinga Web: Arbeiten mit Icinga Web (Webinar vom 04.04.2014)
Icinga workshop 2014 Icinga 2
1. www.netways.de // blog.netways.de // @netways
ICINGA 2
MONITORING REDESIGNED
ICINGA 2 WORKSHOP | 09.10.2014
We love Open Source
MICHAEL FRIEDRICH | GUNNAR BEUTNER | NETWAYS GMBH
2. 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
3. www.netways.de // blog.netways.de // @netways
We love Open Source
AGENDA
■ Überblick
■ Icinga 2
■ Live Demo
■ Zusammenfassung
■ Fragen und Antworten
5. 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
6. 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
7. 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
8. 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
14. 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)
}
15. 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
}
16. 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)
}