Icinga 2 Host und Service Konfiguration

Aus Thomas-Krenn-Wiki
Wechseln zu: Navigation, Suche
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

  1. Icinga2 Documentation - Configuring Icinga 2: First Steps - The conf.d Directory (docs.icinga.org)
  2. Icinga2 Documentation - Monitoring Basics - CheckCommands (docs.icinga.org)
  3. How to define a custom command in icinga2? (monitoring-portal.org)


Foto Thomas Niedermeier.jpg

Autor: Thomas Niedermeier

Thomas Niedermeier, Abteilung Communications / Knowledge Transfer bei Thomas-Krenn, absolvierte an der Hochschule Deggendorf sein Studium zum Bachelor Wirtschaftsinformatik. Seit 2013 ist Thomas bei Thomas-Krenn beschäftigt und kümmert sich hier vor allem um das TKwiki. Er ist ein begeisterungsfähiger, technisch interessierter Linux und Mac Nutzer, fährt im Winter gerne Ski und geht im Sommer gern ins Schwimmbad.


Das könnte Sie auch interessieren

Huawei ME909u-521 Modem Installation unter Ubuntu 12.04
Icinga Graphen mit PNP unter Ubuntu 12.04 Precise
Icinga Web 2 mit Icinga 1.x verwenden