Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar 02.09.2014)

5,407 views

Published on

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.

Webinare
Archiv Link: https://www.netways.de/webinare/archiv/icinga_webinare/icinga_2_migration_von_nagios_oder_icinga_1x_leicht_gemacht/
Aktuell: https://www.netways.de/webinare/webinare_aktuell/

NETWAYS
Konferenzen: https://www.netways.de/events_schulungen/home/
Schulungen: https://www.netways.de/events_schulungen/schulungen/home/
Shop: https://shop.netways.de/
Blog: http://blog.netways.de/

Social Media
YouTube: https://www.youtube.com/channel/UC8nIBEFmjzXjXeJV_hkkeIQ
Facebook: https://www.facebook.com/netways
Google+: https://plus.google.com/+netways/
Twitter: https://twitter.com/netways

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
5,407
On SlideShare
0
From Embeds
0
Number of Embeds
2,912
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Icinga 2: Migration von Nagios oder Icinga 1.x leicht gemacht (Webinar 02.09.2014)

  1. 1. 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
  2. 2. 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
  3. 3. 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
  4. 4. www.netways.de // blog.netways.de // @netways We love Open Source VORSTELLUNG NETWAYS
  5. 5. 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
  6. 6. 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
  7. 7. www.netways.de // blog.netways.de // @netways We love Open Source NETWAYS PRODUKTE GRAPHITE
  8. 8. www.netways.de // blog.netways.de // @netways We love Open Source NETWAYS TECHNOLOGIEN
  9. 9. 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
  10. 10. 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
  11. 11. 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
  12. 12. www.netways.de // blog.netways.de // @netways We love Open Source NETWAYS SCHULUNGEN – MONITORING UND REPORTING
  13. 13. www.netways.de // blog.netways.de // @netways We love Open Source NETWAYS SCHULUNGEN – PUPPET KONFIGURATIONSMANAGEMENT
  14. 14. www.netways.de // blog.netways.de // @netways We love Open Source NETWAYS KUNDEN – CONSULTING (AUSZUG)
  15. 15. www.netways.de // blog.netways.de // @netways We love Open Source NETWAYS KUNDEN – HOSTING (AUSZUG)
  16. 16. 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
  17. 17. www.netways.de // blog.netways.de // @netways We love Open Source WAS IST ICINGA 2
  18. 18. 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
  19. 19. 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
  20. 20. 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
  21. 21. 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
  22. 22. www.netways.de // blog.netways.de // @netways We love Open Source UNTERSCHIEDE ZU ICINGA 1.X UND NAGIOS
  23. 23. 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
  24. 24. 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)
  25. 25. 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“
  26. 26. 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 }
  27. 27. 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" }
  28. 28. 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 }
  29. 29. 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{ 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 }
  30. 30. 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" }
  31. 31. 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" }
  32. 32. www.netways.de // blog.netways.de // @netways We love Open Source LIVE DEMO
  33. 33. www.netways.de // blog.netways.de // @netways We love Open Source ICINGA 2 WEBINARE
  34. 34. 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
  35. 35. www.netways.de // blog.netways.de // @netways We love Open Source FRAGEN UND ANTWORTEN
  36. 36. 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: info@netways.de Website: www.netways.de Twitter: twitter.com/netways Facebook: facebook.com/netways Blog: blog.netways.de

×