36
www.netways.de // blog.netways.de // @netways We love Open Source WEBINAR | 02.09.2014 ICINGA 2: MIGRATION VON NAGIOS / ICINGA 1.X LEICHT GEMACHT MICHAEL FRIEDRICH | CHRISTIAN STEIN | NETWAYS GMBH

Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

  • Upload
    netways

  • View
    3.198

  • Download
    0

Embed Size (px)

DESCRIPTION

Icinga 2 ist eine vollständige Neuentwicklung der beliebten Open Source Monitoring Lösung Icinga, welche ebenfalls vollständig als Open Source Software erhältlich ist. Ziel dieses Webinares war es, einen Überblick über die Konfigurationsunterschiede zu vermitteln und Wege aufzuzeigen, wie eine Migration aussehen kann. Webinar: http://www.netways.de/de/webinare/archiv/icinga_2/#icinga2_migration_von_nagios_oder_icinga YouTube: https://www.youtube.com/watch?v=UGaO0k96ZJc

Citation preview

Page 1: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

www.netways.de // blog.netways.de // @netways

We love Open Source

WEBINAR | 02.09.2014

ICINGA 2: MIGRATION VONNAGIOS / ICINGA 1.X LEICHT GEMACHT

MICHAEL FRIEDRICH | CHRISTIAN STEIN | NETWAYS

GMBH

Page 2: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

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 Im Icinga Team seit Mai 2009 Icinga Core & Icinga 2 Developer

Page 3: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

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

■ Migration

■ Live Demo

■ Icinga 2 Webinare

■ Zusammenfassung

■ Fragen und Antworten

Page 4: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

www.netways.de // blog.netways.de // @netways

We love Open Source

VORSTELLUNG NETWAYS

Page 5: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

www.netways.de // blog.netways.de // @netways

We love Open Source

VORSTELLUNG NETWAYS

■ Firmengründung 1995

■ Open Source seit 1997

■ Aktuell 40 Mitarbeiter

■ Spezialisierung in den Bereichen

Open Source Systems Management

und Open Source Datacenter

Page 6: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

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

Page 7: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

www.netways.de // blog.netways.de // @netways

We love Open Source

NETWAYS PRODUKTE

GRAPHITE

Page 8: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

www.netways.de // blog.netways.de // @netways

We love Open Source

NETWAYS TECHNOLOGIEN

Page 9: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

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

Page 10: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

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

Page 11: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

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

Page 12: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

www.netways.de // blog.netways.de // @netways

We love Open Source

NETWAYS SCHULUNGEN – MONITORING UND REPORTING

Page 13: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

www.netways.de // blog.netways.de // @netways

We love Open Source

NETWAYS SCHULUNGEN – PUPPET KONFIGURATIONSMANAGEMENT

Page 14: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

www.netways.de // blog.netways.de // @netways

We love Open Source

NETWAYS KUNDEN – CONSULTING (AUSZUG)

Page 15: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

www.netways.de // blog.netways.de // @netways

We love Open Source

NETWAYS KUNDEN – HOSTING (AUSZUG)

Page 16: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

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

Page 17: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

www.netways.de // blog.netways.de // @netways

We love Open Source

WAS IST ICINGA 2

Page 18: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

www.netways.de // blog.netways.de // @netways

We love Open Source

ICINGA 2.X: ALLGEMEINES

■ Stabile Version: 2.1.0 (29.8.2014)

■ Linux-Server Daemon

■ Läuft auf allen aktuellen Distributionen

■ Datenbankunterstützung: MySQL und PostgreSQL

Quelle: www.icinga.org

Page 19: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

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 DB IDO Livestatus Schnittstelle Cluster

■ Direkte Anbindung von Graphite

■ Einfach skalierbar über zusätzliche Nodes

■ Automatisches Load-Balancing von Checks und Notifications

■ SSL-Verschlüsselung zwischen allen Icinga 2 Instanzen

■ Nagios/Icinga Check-Plugins 100% kompatibel

Page 20: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

www.netways.de // blog.netways.de // @netways

We love Open Source

ICINGA 2.X CLUSTER

■ Cluster mit Replikation, Konfigurations-Sync &

Hochverfügbarkeit

■ Sichere Kommunikation zwischen den Instanzen (SSL

x509)

■ Lastverteilung von Checks und Notifizierungen

Quelle: www.icinga.org

Page 21: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

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

Page 22: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

www.netways.de // blog.netways.de // @netways

We love Open Source

UNTERSCHIEDE ZU ICINGA 1.X UND NAGIOS

Page 23: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

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

Page 24: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

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.7

■ Livestatus Protokoll mit Unixsocket (zus. TCP)

■ Status.dat/objects.cache/icinga.log

■ Performancedaten

■ Externe Command Pipe

■ Checkresult Spool Reader (z.B. LConfSlaveSync)

Page 25: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

www.netways.de // blog.netways.de // @netways

We love Open Source

ICINGA 2: MIGRATION

■ Vorbereitung Inventur der bestehenden Umgebung Wie wird die Konfiguration erstellt (händisch, generiert, etc)

■ Entscheidung notwendig „magische“ Migration durch Scripts und Tools Neu-Aufbau anhand der neuen Möglichkeiten mit Icinga 2

Regeln

■ Best Practice Hosts und Hostgruppen mit Services Notifizierungsregeln anhand bestehender Kontakte und

Typen Abhängigkeiten überarbeiten Commands und Argumente neu „erfinden“

Page 26: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

www.netways.de // blog.netways.de // @netways

We love Open Source

ICINGA 2 MIGRATION: 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

}

Page 27: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

www.netways.de // blog.netways.de // @netways

We love Open Source

ICINGA 2 MIGRATION: 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"

}

Page 28: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

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 service {

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

}

Page 29: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

www.netways.de // blog.netways.de // @netways

We love Open Source

ICINGA 2 MIGRATION: NOTIFIZIERUNGEN 1/2

define contact {

contact_name testconfig-user

use generic-user

alias Icinga Test User

service_notification_options c,f,s,u

email icinga@localhost

service_notification_commands notify-service-by-mail

host_notification_commands notify-host-by-mail

}

define contactgroup {

contactgroup_name cg_admin

members testconfig-user

}

define service {

use generic-service

host_name my-server

service_description my-ping

check_command my-ping-check!100.0,20%!500.0,60%

notification_options c,w

notification_interval 10

notification_period 8x5

contact_groups cg_admin

}

define host{

use linux-server-template

host_name my-server

address 192.168.1.10

notification_options d

notification_interval 120

notification_period 8x5

contact_groups cg_admin

}

define host{

use linux-server-template

host_name my-server

address 192.168.1.10

notification_options d

notification_interval 120

notification_period 8x5

contact_groups cg_admin

}

Page 30: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

www.netways.de // blog.netways.de // @netways

We love Open Source

ICINGA 2 MIGRATION: NOTIFIZIERUNGEN 2/2

object User "testconfig-user" {

import "generic-user"

display_name = "Icinga Test User"

states = [ Critical, Unknown, Ok ]

types = [ Problem, Recovery, DowntimeStart,

DowntimeEnd, DowntimeRemoved, FlappingStart, FlappingEnd]

email = "icinga@localhost"

}

object UserGroup "cg_admin" {

assign where user.name == "testconfig-user"

}

object Host "my-server" {

import "linux-server-template"

address = "192.168.1.10"

}

object Service "my-ping" {

import "generic-service"

check_command = "my-ping-check"

vars.ping_wrta = 100

vars.ping_wpl = 20

vars.ping_crta = 500

vars.ping_cpl = 60

}

apply Notification "service-by-mail" to Service {

command = "notify-service-by-mail"

interval = 10m

period = "8x5"

types = [ Problem, Recovery, Up ]

states = [ Warning, Critical ]

user_groups = [ "cg_admin" ]

assign where host.name == "my-server" && service.name ==

"my-ping"

}

apply Notification "host-by-mail" to Host {

command = "notify-host-by-mail"

interval = 120m

period = "8x5"

types = [ Problem, Recovery ]

states = [ Down, Up ]

user_groups = [ "cg_admin" ]

assign where host.name == "my-server"

}

Page 31: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

www.netways.de // blog.netways.de // @netways

We love Open Source

ICINGA 2 MIGRATION: ABHÄNGIGKEITEN

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"

}

Page 32: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

www.netways.de // blog.netways.de // @netways

We love Open Source

LIVE DEMO

Page 33: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

www.netways.de // blog.netways.de // @netways

We love Open Source

ICINGA 2 WEBINARE

Page 34: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

www.netways.de // blog.netways.de // @netways

We love Open Source

ICINGA 2: KOMMENDE WEBINARE

■ Icinga 2: Integration von Graphite 25. September 2014 - 10:30 Uhr Markus Frosch und Christian Stein

■ Icinga 2: Integrierte Hochverfügbarkeit 07. Oktober 2014 – 14:00 Uhr Michael Friedrich und Christian Stein

Page 35: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

www.netways.de // blog.netways.de // @netways

We love Open Source

FRAGEN UND ANTWORTEN

Page 36: Präsentation: Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar vom 02. September 2014)

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