präsentation icinga 2 status webinar 13.11.2013
DESCRIPTION
Icinga 2 ist eine vollständige Neuentwicklung der Open Source Monitoring Lösung Icinga in C++. In diesem Webinar gehen wir auf den aktuellen Entwicklungsstand, die Möglichkeiten, sowie unter anderem auf das neue Konfigurationsschema ein. Natürlich ist Icinga 2 - genau wie sein Vorgänger - 100% Open SourceTRANSCRIPT
www.netways.de // blog.netways.de // @netways
Make IT do more with less
13.11.2013 | ICINGA 2 WEBINAR
OPEN SOURCE MONITORING MIT ICINGA 2
MICHAEL FRIEDRICH UND CHRISTIAN STEIN | NETWAYS
GMBH
www.netways.de // blog.netways.de // @netways
Make IT do more with less
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
Make IT do more with less
AGENDA
■ Kurzvorstellung NETWAYS
■ Vorschau Icinga 2
■ Live Demo
■ Ausblick
■ Fragen & Antworten
www.netways.de // blog.netways.de // @netways
Make IT do more with less
KURZVORSTELLUNG NETWAYS
www.netways.de // blog.netways.de // @netways
Make IT do more with less
KURZVORSTELLUNG NETWAYS
• Firmengründung 1995
• Open Source seit 1997
• 40 Mitarbeiter
• Spezialisierung in den Bereichen
Open Source Systems
Management und Open Source
Datacenter Infrastructure
www.netways.de // blog.netways.de // @netways
Make IT do more with less
NETWAYS KOMPETENZEN
• Monitoring & Reporting
• Configuration Management
• Service Management
• Knowledge Management
• Backup & Recovery
• High Availability & Clustering
• Cloud Computing
• Load Balancing
• Virtualization
• Database Management
OPEN SOURCESYSTEMS MANAGEMENT
OPEN SOURCEDATA CENTER
MANAGED SERVICES
MONITORING HARDWARE
KONFERENZEN
www.netways.de // blog.netways.de // @netways
Make IT do more with less
Puppet Camp 2013
• 28. November 2013
• 110 Teilnehmer ( April 2013)
Open Source Data Center
Conference
• 09. – 10. April 2014
• 120 Teilnehmer (2013)
• 2 Tracks mit Vorträgen & Workshops
NETWAYS KONFERENZEN
www.netways.de // blog.netways.de // @netways
Make IT do more with less
www.netways.org
• NETWAYS Addons
• NETWAYS Plugins
www.icinga.org
• Development
• Hosting
www.monitoringexchange.org
• Icinga / Nagios Addons und Plugins
• ~2000 Projekte
COMMUNITYARBEIT
www.netways.de // blog.netways.de // @netways
Make IT do more with less
NETWAYS IN-HOUSE DEVELOPMENT
www.netways.de // blog.netways.de // @netways
Make IT do more with less
UNSERE KUNDEN (AUSZUG)
www.netways.de // blog.netways.de // @netways
Make IT do more with less
UNSERE LEISTUNGEN IM ÜBERBLICK
• 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
Make IT do more with less
VORSCHAU ICINGA 2
www.netways.de // blog.netways.de // @netways
Make IT do more with less
WARUM ICINGA 2
• Icinga Core 1.x Architektur veraltet• Single-Threaded• Begrenzt skalierbar (Instanz bezogen)• Komplexe Code Struktur, enorme Einarbeitungszeit• Änderungen nicht möglich, ohne Addons inkompatibel zu
machen• Notification Handling bildet nicht alle Anforderungen ab• Kein Multi-Backend Support• Komplexe Konfigurationsstruktur• Externe Interfaces können nicht direkt mit Icinga verbunden
werden
www.netways.de // blog.netways.de // @netways
Make IT do more with less
ICINGA 2 ÜBERBLICK
• Komplett neu implementiert in C++ und Boost• Multithreaded und asynchron non-blocking
• Neues Konfigurationsformat (Migrationsscript vorhanden)
• Nativer Cluster Stack• Replikation von Konfiguration/Status
• Features in Bibliotheken/Komponenten zusammengefasst• icinga2-enable-feature ido-mysql• Komponenten können überall im Cluster laufen
• Unterstützt bekannte Backends• Status.dat/Log Files• DB IDO MySQL, PostgreSQL• Livestatus
• Packages & Vagrant Box verfügbar
www.netways.de // blog.netways.de // @netways
Make IT do more with less
FEATURES
• Checker
• Cluster
• Compat• External Command Pipe• Compat Log • Status.dat
• Livestatus
• Performance Daten
• Notification
• DB IDO MySQL/PostgreSQL
Features können on-demand aktiviert werden und blockieren Icinga 2 nicht.
Mehrfach möglich, zB 3x DB IDO, 2x Livestatus, 4x Performancedaten.
www.netways.de // blog.netways.de // @netways
Make IT do more with less
KONFIGURATIONSUNTERSCHIEDE
• Keine Host Checks (virtueller Service Status)• Macros für alles
• Globale frei definierbare Macros• Frei definierbare Macros für Commands (Default Werte
möglich)• Kein Limit für IP Adressmacros• Definierbare Environment Macros pro Command
define command { command_name ping4 command_line $USER1$/check_ping -H$HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5}define service { use local-service host_name localhost service_description PING check_command ping4!100.0,20%!500.0,60%}
object CheckCommand “ping4“ { command = “$plugindir$/check_ping –H $HOSTADDRESS$ -w $wrta$,$wpl%$ -c $crta$,$cpl%$“, macros = { wrta = 100, wpl = 20, crta = 500, cpl = 60 }}
object Host “´localhost “ { services[“ PING“] = { check_command = “ping4 “, macros[“wrta “] = 250 }, macros[“address“] = “127.0.0.1“}
www.netways.de // blog.netways.de // @netways
Make IT do more with less
KONFIGURATIONSUNTERSCHIEDE
• Neue Notizierungslogik mit neuem Notification Objekt• Eskalationen sind Notifizierungen mit Beginn- und Endzeit• Lesbare Notifizierungsfilter nach Typ und Status• Contacts wurden in User umbenannt
object Host "localhost" { services["ping4"] = { notifications["mail"] = { templates = [ "generic-notification" ], notification_command = "mail-notification", users = [ "icingaadmin" ], } }} template Notification "generic-notification" {
notification_interval = 15m,
notification_command = "mail-service-notification",
notification_state_filter = (StateFilterWarning | StateFilterCritical), notification_type_filter = (NotificationFilterProblem | NotificationFilterAcknowledgement | NotificationFilterRecovery),
notification_period = "24x7"}
object User "icingaadmin" { display_name = "Icinga 2 Admin", enable_notifications = 1, notification_state_filter = (StateFilterWarning | StateFilterCritical), notification_type_filter = (NotificationFilterProblem | NotificationFilterRecovery), macros = { "email" = "icinga@localhost", "pager" = "+49123456789" }}
object CheckCommand "mail-notification" \ inherits " plugin-notification-command" { command = " … $USEREMAIL$„}
www.netways.de // blog.netways.de // @netways
Make IT do more with less
KONFIGURATIONSUNTERSCHIEDE
• Zeitangaben in s,m,h,d• Services inline in Host (Templates) definierbar• Icinga Template Library mit vordefinierten Templates• Wildcard Inkludierung von Konfigurationsdateien
object Host "localhost" { services["ping4"] = { check_interval = 15s, macros = { "cmdbstandort" = "nürnberg" } }}
/** * Icinga 2 configuration file * - this is where you define settings for the Icinga application including * which hosts/services to check.*/
include <itl/itl.conf>
/** * The features-available directory contains a number of configuration * files for features which can be enabled and disabled using the * icinga2-enable-feature / icinga2-disable-feature tools. */include "features-enabled/*.conf"
/** * Although in theory you could define all your objects in this file * the preferred way is to create separate files in the conf.d * directory. */include "conf.d/*.conf"
library "db_ido_mysql"object IdoMysqlConnection "mysql-ido" { host = "127.0.0.1", port = 3306, user = "icinga", password = "icinga", database = "icinga", table_prefix = "icinga_", instance_name = "icinga2", cleanup = { downtimehistory_age = 48h, logentries_age = 31d, }, categories = (DbCatConfig | DbCatState)}
www.netways.de // blog.netways.de // @netways
Make IT do more with less
ICINGA 2 ARCHITEKTUR (STAND 13.11.2013)
Icinga 2
Icinga 2
Ch
eck
resu
lts
Con
fig
NagiosIcinga 1.xIcinga 2
Plugins
Logger
Syslog
File
Console
DB IDO
ReportsIcinga- Web
status.datLog
Compat Layer
Icinga Classic
ExternalCommand
Pipe
CheckresultReader
Performance Data
Writer
PNP | Graphite | inGraph
Configuration
MigrationScript
Icinga Web 2
Livestatus
Graphite
Cluster
UI (LConf, …)Shell (vi)
Automation (Puppet, …)
ConfigurationCluster
Agent
www.netways.de // blog.netways.de // @netways
Make IT do more with less
LIVE DEMO
www.netways.de // blog.netways.de // @netways
Make IT do more with less
AUSBLICK
• Icinga 2• Clustersetup mit Domains• Business Prozesse• …
• Icinga Web 2 (25.2.2014 10:30)
Terminupdates regelmäßig auf https://blog.netways.de
www.netways.de // blog.netways.de // @netways
Make IT do more with less
FRAGEN & ANTWORTEN
www.netways.de // blog.netways.de // @netways
Make IT do more with less
NETWAYS GmbH
Deutschherrnstrasse 15-19
90429 Nürnberg
Tel: +49 911 92885-0
Fax: +49 911 92885-77
Email: [email protected]
Website: www.netways.de
Twitter: twitter.com/netways
Facebook:
facebook.com/netways
Blog: blog.netways.de
FRAGEN & ANTWORTEN
?