Upload
netways
View
738
Download
3
Tags:
Embed Size (px)
DESCRIPTION
Icinga 2 ist die vollständige Neuentwicklung der beliebten Open Source Monitoring Lösung Icinga. Neben der komplett überarbeiteten Architektur des Cores, wurden viele Anforderungen von IT-Administratoren wie automatische Check-Verteilung, integrierte Hochverfügbarkeit und Synchronsation der gesamten Konfiguration innerhalb einer Icinga 2 Umgebung direkt eingebaut.Darüberhinaus
Citation preview
www.netways.de // blog.netways.de // @netways
We love Open Source
WEBINAR | 22.07.2014
ICINGA 2: ENTERPRISE MONITORING
DER NÄCHSTEN GENERATION
MICHAEL FRIEDRICH | CHRISTIAN STEIN | NETWAYS
GMBH
www.netways.de // blog.netways.de // @netways
We love Open Source
VORSTELLUNG MITARBEITER
■ Christian Stein Account Manager Bei NETWAYS seit 2012
■ Michael Friedrich Application Developer Bei NETWAYS seit 2012 Icinga Core Developer
www.netways.de // blog.netways.de // @netways
We love Open Source
AGENDA
■ Vorstellung NETWAYS
■ Was ist Icinga 2
■ Unterschiede zu Nagios und Icinga 1.x
■ Live Demo
■ Icinga 2 Webinare
■ Zusammenfassung
■ Fragen und Antworten
www.netways.de // blog.netways.de // @netways
We love Open Source
VORSTELLUNG NETWAYS
www.netways.de // blog.netways.de // @netways
We love Open Source
VORSTELLUNG NETWAYS
■ Firmengründung 1995
■ Open Source seit 1997
■ Aktuell 38 Mitarbeiter
■ Spezialisierung in den Bereichen
Open Source Systems Management
und Open Source Datacenter
www.netways.de // blog.netways.de // @netways
We love Open Source
NETWAYS KOMPETENZEN
■ Monitoring
■ Graphing
■ Logmanagement
■ Konfigurationsmanagement
■ Reporting
■ Private Cloud
■ Backup
■ Projektmanagement
■ Consulting
■ Hosting
■ Managed Services
■ Development
■ Support
■ Betrieb
■ Schulungen
■ Konferenzen
■ Monitoring Hardware
www.netways.de // blog.netways.de // @netways
We love Open Source
NETWAYS PRODUKTE
GRAPHITE
www.netways.de // blog.netways.de // @netways
We love Open Source
■ Open Source Backup
Conference
• 22. – 23. September 2014 in Köln
• Best Practices für das Backup
■ Puppet Camp
• 16. Oktober 2014 in Düsseldorf
• 110 Teilnehmer (April 2013)
• Vorträge und Workshops
NETWAYS KONFERENZEN
www.netways.de // blog.netways.de // @netways
We love Open Source
■ Open Source Monitoring
Conference
• 18. – 20. November 2014 in
Nürnberg
• 250 Teilnehmer (2013)
• Monitoring Best Practices
■ OpenNebula Conference
• 02. – 04. Dezember 2014 in Berlin
• 100 Teilnehmer (2013)
• Cloud Virtualisierung
NETWAYS KONFERENZEN
www.netways.de // blog.netways.de // @netways
We love Open Source
NETWAYS COMMUNITY
www.netways.org
■ NETWAYS Addons
■ NETWAYS Plugins
www.icinga.org
■ Development
■ Hosting
www.monitoringexchange.org
■ Icinga / Nagios Addons und
Plugins
■ > 2000 Projekte
www.netways.de // blog.netways.de // @netways
We love Open Source
NETWAYS SCHULUNGEN – MONITORING UND REPORTING
www.netways.de // blog.netways.de // @netways
We love Open Source
NETWAYS SCHULUNGEN – PUPPET KONFIGURATIONSMANAGEMENT
www.netways.de // blog.netways.de // @netways
We love Open Source
NETWAYS KUNDEN – CONSULTING (AUSZUG)
www.netways.de // blog.netways.de // @netways
We love Open Source
NETWAYS KUNDEN – HOSTING (AUSZUG)
www.netways.de // blog.netways.de // @netways
We love Open Source
UNSERE LEISTUNGEN IM ÜBERBLICK
■ Konzeptionierung und Planung
■ Workshops & Consulting zur Implementierung vor Ort
■ Betrieb Komplette Monitoringsysteme Satellitensysteme
■ Entwicklungsleistungen Plugins Systemintegration
■ Schulungen Standardisierte Schulungsmodule Individuell vor Ort
■ Support Standardverträge Individuelle Supportkonzepte
■ Konferenzen
www.netways.de // blog.netways.de // @netways
We love Open Source
WAS IST ICINGA 2
www.netways.de // blog.netways.de // @netways
We love Open Source
ICINGA 2.X ARCHITEKTUR
■ Linux-Server Daemon
■ Läuft auf allen aktuellen Distributionen
■ Datenbankunterstützung: MySQL und PostgreSQL
Quelle: www.icinga.org
www.netways.de // blog.netways.de // @netways
We love Open Source
ICINGA 2 FEATURES
■ Vollständig Featurebasiert Checker, Notifications Compat (Status Files, Perfdata, Command Pipe) Graphite IDO Livestatus Cluster
■ Direkte Anbindung von Graphite
■ Einfach skalierbar über zusätzliche Nodes
■ Automatisches Load-Balancing von Checks
■ SSL-Verschlüsselung zwischen allen Icinga 2 Instanzen
■ Nagios/Icinga Check-Plugins 100% kompatibel
www.netways.de // blog.netways.de // @netways
We love Open Source
ICINGA 2.X PERFORMANCE
■ Volle Ausnutzung von moderner Serverhardware durch
Multithreading
■ Mehrere tausend Checks pro Sekunde möglich
■ Geringere Komplexität großer Umgebungen
www.netways.de // blog.netways.de // @netways
We love Open Source
SINN UND ZWECK VON MONITORING
■ Availability Zeitnahe Benachrichtigung Gesamtüberblick über Netzwerk Vereinfachung der Fehlersuche
■ Performance Langfristige Trends Erkennen drohender Engpässe
■ Datensammlung für SLA Überwachung/Reporting Nachweis von Verfügbarkeiten
www.netways.de // blog.netways.de // @netways
We love Open Source
WAS KANN ÜBERWACHT WERDEN?
www.netways.de // blog.netways.de // @netways
We love Open Source
ICINGA GRUNDAUFBAU
■ Icinga Daemon Konfiguration Webinterface Benachrichtigungen Log- und Messdaten Event Handler Datenbank
■ Icinga Plugins Überwachungslogik Executables oder Skripte Rückgabe der Status
(OK, WARNING, CRITICAL)
Rückgabe Performancedaten(z.B. CPU-Auslastung)
www.netways.de // blog.netways.de // @netways
We love Open Source
KOMMUNIKATIONSWEGE
■ Flexible Kommunikationsprotokolle Eigene Icinga Protokolle (NRPE, NSCA, NsClient++) Standardprotokolle (SSH, SNMP, WMI) Eigene Lösungen
■ Frei definierbare Ports
www.netways.de // blog.netways.de // @netways
We love Open Source
VERTEILTE UMGEBUNGEN
■ Aufbau Mehrere Server
überwachen Teilbereiche Weitermeldung der
Ergebnisse an zentralen Server
■ Einsatzbereiche Logische Netzstruktur Lastverteilung Überwachung
geschützter Bereiche
www.netways.de // blog.netways.de // @netways
We love Open Source
ICINGA 2.X CLUSTER
■ Eingebauter Cluster
■ Sichere Kommunikation zwischen den Knoten
■ Automatische Verteilung von Checks, Notfications und
Datenbank
Quelle: www.icinga.org
www.netways.de // blog.netways.de // @netways
We love Open Source
ICINGA 2.X VERTEILTES MONITORING
■ Zonenmodell für eine verteilte Überwachung
■ Replikation nur zwischen den einzelnen Zonen und der
Masterzone
Quelle: www.icinga.org
www.netways.de // blog.netways.de // @netways
We love Open Source
UNTERSCHIEDE ZU ICINGA 1.X UND NAGIOS
www.netways.de // blog.netways.de // @netways
We love Open Source
UNTERSCHIEDE ICINGA 2 ZU ICINGA 1.X / NAGIOS
■ Pakete für gängige Distributionen vom Icinga Projekt
■ Dynamische Konfigurationsregelsprache mit Apply/Assign Service-Host-Relationen basierend auf Attributen Einfache Notifizierungsregeln und
Abhängigkeitsdefinitionen für Agenten, etc Konditionale Check Command Argumente Icinga Template Library und Plugin Check Commands
■ Embedded Gesundheitschecks mit Performancedaten
(icingastats)
■ Livestatus Protokoll nativ als Feature (kein Addon)
■ Cluster Feature ersetzt mod_gearman und andere
Verteilungsaddons
■ Wiederkehrende Ausfallszeiten („Recurring Downtimes“)
■ Keine Limitierung von Checkoutput, Command Pipe Slots, etc
www.netways.de // blog.netways.de // @netways
We love Open Source
ICINGA 2: KOMPATIBILITÄT
■ Plugins: 100% (neue Check Command Konfiguration
erforderlich)
■ Konfiguration Ausführliche Tipps & Tricks für manuelle Migration Migrationsscript & LConf kompatibler Export Empfehlung: Erlernen der neuen Konfigurationssprache!
vim/nano Syntax Highlighting
■ Datenbankschema der IDO Version 1.11.3
■ Livestatus Protokoll mit Unixsocket (zus. TCP)
■ Status.dat/objects.cache/icinga.log
■ Performancedaten
■ Externe Command Pipe
■ Checkresult Spool Reader (z.B. LConfSlaveSync)
www.netways.de // blog.netways.de // @netways
We love Open Source
ICINGA 1.X VS 2.X: TEMPLATES
define host {
name db-server
check_interval 5
retry_interval 3
check_command hostalive
register 0
}
define service {
name db-service
check_interval = 3
retry_interval = 1
register 0
}
template Host "db-server" {
check_interval = 5m
retry_interval = 3m
check_command = "hostalive"
}
template Service "db-service" {
check_interval = 3m
retry_interval = 1m
}
www.netways.de // blog.netways.de // @netways
We love Open Source
ICINGA 1.X VS 2.X: GRUPPEN
define hostgroup {
hostgroup_name mysql-server
display_name MySQL Server
members *mysql*, WTF, !WTF, !*internal
}
define host {
host_name mysql-db1
use db-server,mysql-server
address 192.168.70.10
}
define host {
host_name customer-db7
use db-server,mysql-server
address 192.168.71.30
_PROD_MYSQL_DB db-customer-xy
}
object HostGroup "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)
}
object Host "mysql-db1" {
import "db-server"
import "mysql-server"
address = "192.168.70.10"
}
object Host "customer-db7" {
import "db-server"
import "mysql-server"
address = "192.168.71.30"
vars.prod_mysql_db = "db-customer-xy"
}
www.netways.de // blog.netways.de // @netways
We love Open Source
ICINGA 1.X VS 2.X: HOST, GRUPPEN UND SERVICES
define host {
host_name mysql-db1
use db-server,mysql-server
address 192.168.70.10
}
define host {
host_name customer-db7
use db-server,mysql-server
address 192.168.71.30
_PROD_MYSQL_DB db-customer-xy
}
define serivce {
service_description mysql-health
use mysql-service
check_command mysql
//nur hostgroup möglich
hostgroup_name mysql-server
}
object Host "mysql-db1" {
import "db-server"
import "mysql-server"
address = "192.168.70.10"
}
object Host "customer-db7" {
import "db-server"
import "mysql-server"
address = "192.168.71.30"
vars.prod_mysql_db = "db-customer-xy„
//vars.no_health_check = true
}
apply Service "mysql-health" {
import "mysql-service"
check_command = "mysql"
assign where match(“192.168.7*”, host.address)
assign where "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 1.X VS 2.X: NOTIFIZIERUNGEN
template Notification "cust--notification" {
users = [ "noc-icinga", "mgmt-icinga" ]
command = "mail-service-notification"
}
apply Notification "notify-cust-icinga-mysql" to Service {
import "cust-icinga-notification"
assign where match("*mysql*", service.check_command) && host.vars.customer == "icinga"
ignore where match("*internal", host.name)
ignore where service.vars.sla != "24x7"
}
■ Mit Icinga 1.x nicht abbildbar
www.netways.de // blog.netways.de // @netways
We love Open Source
ICINGA 1.X VS 2.X: DEPENDENCIES
define service {
service_description nrpe-health
use generic-service
check_command nrpe
hostgroup_name nrpe-servers ;keine CV möglich
}
define service {
service_description nrpe-disk
use generic-service
check_command nrpe_1arg!check_disk
hostgroup_name nrpe-servers ;keine CV möglich
}
define host {
use generic-host
address 192.168.1.5
_AGENT nrpe
}
Define dependency {
hostgroup_name nrpe-servers ; nur mit Zusätz-Dummy-Hostgruppe
service_description nrpe-health ; parent
dependent_hostgroup_name nrpe-servers
dependent_service_description disk, ….
execution_failure_criteria w,u.c
notification_failure_criteria w,u.c
}
apply Service "nrpe-health" {
import "generic-service"
check_command = "nrpe"
assign where host.vars.agent == "nrpe"
}
apply Service "nrpe-disk" {
import "generic-service"
check_command = "nrpe"
vars.nrpe_command = "check_disk"
assign where host.vars.agent == "nrpe"
}
object Host "nrpe-server" {
import "generic-host"
address = "192.168.1.5"
vars.agent = "nrpe"
}
apply Dependency "disable-nrpe-checks" to Service {
parent_service_name = "nrpe-health"
states = [ OK ]
disable_checks = true
disable_notifications = true
assign where service.check_command == "nrpe"
assign where host.vars.agent == "nrpe"
ignore where service.name == "nrpe-health"
}
www.netways.de // blog.netways.de // @netways
We love Open Source
LIVE DEMO
www.netways.de // blog.netways.de // @netways
We love Open Source
ICINGA 2 WEBINARE
www.netways.de // blog.netways.de // @netways
We love Open Source
UNTERSCHIEDE ICINGA 2 ZU ICINGA 1.X / NAGIOS
■ Icinga 2: Migration von Nagios oder Icinga 1.x leicht
gemacht 02. September 2014 - 10:30 Uhr Michael Friedrich und Christian Stein
■ Icinga 2: Integration von Graphite 25. September 2014 - 10:30 Uhr Markus Frosch und Christian Stein
■ Icinga 2: Integrierte Hochverfügbarkeit 07. Oktober 2014 - 10:30 Uhr Michael Friedrich und Christian Stein
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
KONTAKTDATEN
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