27
Icinga 2 – Einführung und Übersicht Jens Link September 2015 Icinga 2 – Einführung und Übersicht 1

Icinga 2 Einführung und Übersicht - OpenRheinRuhr e.V. · Icinga2undPuppet I PuppetModuldirektvondenEntwicklern: I Ansatz: Wennihretwasinstalliert,konfiguriertgleichden passendenIcinga2Checkmit

Embed Size (px)

Citation preview

Icinga 2 – Einführung und Übersicht

Jens Link

September 2015

Icinga 2 – Einführung und Übersicht 1

Einführung

Icinga 2 – Einführung und Übersicht 2

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

Icinga2 Konfiguration

Icinga 2 – Einführung und Übersicht 14

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

Ende

Demo und Fragen

Icinga 2 – Einführung und Übersicht 26

Idee

Monitoring Platform für Projekte.

Interesse?

http://lists.quux.de/listinfo/monitoring

Icinga 2 – Einführung und Übersicht 27