icinga 2 einführung und Übersicht - openrheinruhr e.v. · icinga2undpuppet i...
TRANSCRIPT
Inhalte
I Nagios, Icinga, Icinga2 - Eine ÜbersichtI Monitoring allgemeinI Konfiguration Icinga2I Migration Nagios / Icinga -> Icinga2I Icinga2 und Puppet
Icinga 2 – Einführung und Übersicht 3
Über mich
I FreelancerI Linux seit Lehmanns das auf 35 Disketten verkauft hatI IPv6 seit > 2400 Tagen auf dem eigenen ServerI derzeit drei Icinga Installationen für KundenI ansonsten: Netzwerk (Cisco + Juniper) und DNS und DNSSECI eMail/Jabber: [email protected]
Icinga 2 – Einführung und Übersicht 4
Aktuelles Projekt (eines davon)
I Verteiltes Monitoring für HotelnetzeI Ansatz: Zentraler Server + Probes in den einzelnen HotelsI Konfigmanagement mit PuppetI Web-GUI für den Kunden (Useradministration, erstellen neuer
Sites)I Überwiegend ping + SNMP
Icinga 2 – Einführung und Übersicht 5
Nagios, Icinga, Icinga2
I 1999 - Ethan Galstad entwickelt NetSaintI 2002 - Umbenennung zu Nagios wegen Trademark ProblemenI 2009 - Icinga als Fork von NagiosI 2014 - Icinga2 komplette Neuentwicklung
Icinga 2 – Einführung und Übersicht 6
Warum der Fork
I Die Entwicklung von Nagios schien zugunsten einerkommerziellen Variante eingeschlafen zu sein
I Patches und Erweiterungen wurden nur selten integriert
Icinga 2 – Einführung und Übersicht 7
Erweiterungen
I pnp4nagiosI graphiteI lconfI Icinga ReportingI . . .
Icinga 2 – Einführung und Übersicht 8
Icinga Web Frontends
Icinga1 / Icinga2 sind nur der Monitoring Core ohne GUI
Als GUI gibt es:
I Icinga Classic UI - Sehr ähnlich der Nagios GUII (Icinga web)I Icingaweb2I Thruk
Icinga 2 – Einführung und Übersicht 9
Monitoring allgemein (IMHO)
I Lieber zu viel als zu wenig, man kann später immer noch tunenI Einen Service den man nicht überwacht braucht man auch nichtI Auch Infrastruktur (Netzwerk, Hardware, Virtualisierung, . . . )
muss überwacht werdenI Abhängigkeiten beachtenI Automatisierung macht das Leben leichterI Aus Fehlern lernenI Monitoring überwachen
Icinga 2 – Einführung und Übersicht 10
Icinga2
I C++ und BoostI *NIX und WindowsI anderes Format für ConfigsI ModularI Clusterfunktionen eingebautI MySQL, PostgreSQL und Livestatus sind eingebautI bessere PerformanceI CLI für ConfigänderungenI Weiterhin: Monitoring über Plugins
Icinga 2 – Einführung und Übersicht 11
Icinga2 Komponenten
I CheckerI ClusterI APII PerfdataI LivestatusI GraphiteI NotificationI ido_(mysql|postgres)
Icinga 2 – Einführung und Übersicht 12
Icinga2 - wesentliche Änderungen
I SyntaxI Globale MacrosI frei definierbare Makros für Kommandos
Icinga 2 – Einführung und Übersicht 13
Installation Icinga 2
I Komplett anders als Nagios / IcingaI Fertige Pakete (für Debian: debmon.org)I oder aus den Sourcen
Icinga 2 – Einführung und Übersicht 15
Plugins
I Überwachung wie bei Nagios/Icinga auch über PluginsI für viele Aufgaben lassen welche im Internet findenI selber schreiben muss nicht schwer sein
Icinga 2 – Einführung und Übersicht 16
Host-Konfiguration
object Host "www.example.com" {
/* Import the default host template defined in `templates.conf`. */import "generic-host"
/* Specify the address attributes for checks e.g. `ssh` or `http`. */address = 192.0.2.1address6 = 2001:db8:aaaa::1
vars.os = "Linux"vars.notification["mail"] = {
/* The UserGroup `icingaadmins` is defined in `users.conf`. */groups = [ "icingaadmins" ]
}}
Icinga 2 – Einführung und Übersicht 17
Service-Konfiguration (I)
apply Service "ping4" {import "generic-service"
check_command = "ping4"assign where host.address
}
Icinga 2 – Einführung und Übersicht 18
Service-Konfiguration (II)
apply Service "ssh" {import "generic-service"check_command = "ssh"
assign where (host.address || host.address6)&& host.vars.os == "Linux"
ignore where host.name == "localhost"/* for upgrade safety */
}
Icinga 2 – Einführung und Übersicht 19
Check-Commands (I)
template CheckCommand "ping-common" {import "plugin-check-command"command = [ PluginDir + "/check_ping" ]arguments = {
"-H" = "$ping_address$""-w" = "$ping_wrta$,$ping_wpl$%""-c" = "$ping_crta$,$ping_cpl$%""-p" = "$ping_packets$""-t" = "$ping_timeout$"}
vars.ping_wrta = 100vars.ping_wpl = 5vars.ping_crta = 200vars.ping_cpl = 15
}
Icinga 2 – Einführung und Übersicht 20
Agent based checks
I Icinga 2 ClientI SSHI SNMPI NRPEI NSClient++ (Windows)
Icinga 2 – Einführung und Übersicht 21
Icinga2 als Client
I Icinga2 master / client setup über die CLII eigentlich ein normales Icinga, geht auch unter WindowsI Eigene PKI und passende “Wizards”, die die Arbeite damit
erleichternI Konfiguration kann vom Master aus erfolgenI Ein Client kann auch Clients habenI Auf dem Master unter /etc/icinga2/repository.d/
Icinga 2 – Einführung und Übersicht 22
Icinga2 Multiple Sites
I icinga2 node wizard auf Master und Client -> Fragenbeantworten
I icinga2 node update-config -> zieht Infos vom Server
Icinga 2 – Einführung und Übersicht 23
Migration
I Per Script https://github.com/Icinga/icinga2-migration, aber dasErgebnis ist nicht wirklich “schön”
I Von Hand - Viel Arbeit, aber man kann auch gleichzeitigaufräumen ;-)
Icinga 2 – Einführung und Übersicht 24
Icinga2 und PuppetI Puppet Modul direkt von den Entwicklern:
https://github.com/Icinga/puppet-icinga2I Ansatz: Wenn ihr etwas installiert, konfiguriert gleich den
passenden Icinga2 Check mitI Stichwort: Exported Resources
@@icinga2::object::host { $::fqdn:display_name => $fqdn,ipv4_address => $::ipaddress_eth0,vars => { os => 'linux'},
target_dir => '/etc/icinga2/objects/hosts',target_file_name => "${fqdn}.conf",target_file_ensure => present,target_file_owner => 'root',target_file_group => 'root',target_file_mode => '0644'}
Icinga 2 – Einführung und Übersicht 25
Idee
Monitoring Platform für Projekte.
Interesse?
http://lists.quux.de/listinfo/monitoring
Icinga 2 – Einführung und Übersicht 27