Icinga 2 Host und Service Konfiguration

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen
Hinweis: Bitte beachten Sie, dass dieser Artikel / diese Kategorie sich entweder auf ältere Software/Hardware Komponenten bezieht oder aus sonstigen Gründen nicht mehr gewartet wird.
Diese Seite wird nicht mehr aktualisiert und ist rein zu Referenzzwecken noch hier im Archiv abrufbar.

Dieser Wikiartikel beschreibt die manuelle Konfiguration von Hosts und Services unter Icinga 2. Sie hat sich gegenüber Icinga 1.X deutlich verändert.

Konfigurationsverzeichnis

Die Konfiguration einer Icinga 2 Installation wird im conf.d Unterverzeichnis des Icinga 2 Installationsordners vorgenommen.[1]

tk@icinga2test:/etc/icinga2/conf.d$ ls
apt.conf        groups.conf  notifications.conf  templates.conf
commands.conf   hosts        satellite.conf      timeperiods.conf
downtimes.conf  hosts.conf   services.conf       users.conf

Templates

Vorlagen und Hilfestellungen zur Definition von Hosts findet sich in der Datei /etc/icinga2/conf.d/hosts.conf bzw. /etc/icinga2/conf.d/services.conf.

Hosts und Services hinzufügen

Um einen neuen Host zu erstellen, wird eine neue .conf Datei im hosts Unterordner des conf.d Verzeichnisses erstellt.

Der folgende Abschnitt zeigt eine grundlegende Konfiguration eines Hosts und zugehörige Services am Beispiel eines Thomas-Krenn Low Energy Server.

Host Konfiguration

Der Ausdruck define Host von Icinga 1.x wurde durch object Host abgelöst:

$ sudo vi /etc/icinga2/conf.d/hosts/les.conf
  • Inhalt von les.conf
object Host "TK Low Energy Server" {
        //Importiert die generische Host-Vorlage aus der template.conf
        import "generic-host"
        //IPv4 Adresse
        address = "XXX.XXX.XXX.XXX"
        //Angabe des Betriebssystemtyps
        vars.os = "Linux OS"
        //Festlegen der TimePeriod Variable. 24x7, 9to5 und never in /etc/icinga2/conf.d/timeperiods.conf vordefiniert.
        vars.sla = "24x7"
}

Service Konfiguration

Um einen Service zu einem Host hinzuzufügen, empfiehlt sich folgende Vorgehensweise:

  • Ein Unterverzeichnis in /etc/icinga2/conf.d/hosts/ mit identischem Namen wie die .conf Datei des Hosts anlegen.
sudo mkdir /etc/icinga2/conf.d/hosts/les
sudo vi /etc/icinga2/conf.d/hosts/les/http.conf
  • Inhalt von http.conf
object Service "http" {
    import "generic-service"
    //Der Eintrag muss mit dem Hostnamen übereinstimmen
    host_name = "TK Low Energy Server"
   check_command = "http"
   vars.sla = "24x7"
}

CheckCommands definieren

Neben den bereits vorkonfigurierten Basischecks wie z.B. ssh oder http sind auch zusätzliche CheckCommands konfigurierbar. So können z.B. die altbekannten Nagios-Plugins aus dem Ordner /usr/lib/nagios/plugins/ über die neue Icinga 2 Syntax angesprochen werden. Dieser Abschnitt erklärt den Aufbau am Beispiel eines Plugins für Synology NAS Geräte.[2] [3]

  • Öffnen Sie mit root-Rechten die Datei commands.conf im Verzeichnis /etc/icinga2/conf.d/:
root@ubuntuserver:~# vi /etc/icinga2/conf.d/commands.conf 
  • Fügen Sie das Check-Kommando in die Datei ein:
object CheckCommand "check-snmp-synology" {
//Name des Kommandos
import "plugin-check-command"
command = [PluginDir + "/check_snmp_synology" ]
//Hier den Dateinamen des Plugins angeben
arguments = {
"-h" = "$host$"
"-u" = "$user$"
"-p" = "$snmppwd$"
//Hier werden die vom Plugin benötigten Parameter angegeben
}
}
  • Erstellen Sie einen neuen Icinga 2 Check für das neu angelegte Check-Kommando. Die Konfiguration der Checks für die jeweiligen Hosts erfolgt im Unterverzeichnis ../hosts/<HOSTNAME>/.
root@ubuntuserver:~# vi /etc/icinga2/conf.d/hosts/synology/<SERVICENAME>.conf
object Service "<SERVICENAME>" {
        import "generic-service"
        host_name = "<HOSTNAME>"
        check_command = "check-snmp-synology"
        vars.host = "<IP-ADRESSE>"
        vars.user = "<SNMPv3-USER>"
        vars.snmppwd = "<SNMPv3-PASSWORD>"
        vars.sla = "24x7"
}
  • Vor dem Neuladen der Konfiguration empfiehlt sich ein Test: sudo service icinga2 checkconfig
  • Abschließend die Icinga 2 Konfiguration neu laden: sudo service icinga2 reload

Weitere Informationen

Weitere Informationen zu Icinga 2 finden Sie in der offiziellen Dokumentation.

Einzelnachweise


Foto Thomas Niedermeier.jpg

Autor: Thomas Niedermeier

Thomas Niedermeier arbeitet im Product Management Team von Thomas-Krenn. Er absolvierte an der Hochschule Deggendorf sein Studium zum Bachelor Wirtschaftsinformatik. Seit 2013 ist Thomas bei Thomas-Krenn beschäftigt und kümmert sich unter anderem um OPNsense Firewalls, das Thomas-Krenn-Wiki und Firmware Sicherheitsupdates.

Icon-Twitter.png 

Das könnte Sie auch interessieren

Braintower SMS Gateway S Advanced
Check disk Plugin - tracing is not accessible
SMART Attributes Monitoring Plugin mit HDDs und SSDs an Adaptec Controllern unter Windows 2012 einrichten