Icinga 2 Host und Service Konfiguration
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.
- Icinga2 Documentation (docs.icinga.org)
- Icinga2 Documentation - Configuring Icinga 2: First Steps (docs.icinga.org)
- Icinga2 Documentation - Configuring Icinga 2: First Steps - Configuration Best Practice (docs.icinga.org)
Einzelnachweise
- ↑ Icinga2 Documentation - Configuring Icinga 2: First Steps - The conf.d Directory (docs.icinga.org)
- ↑ Icinga2 Documentation - Monitoring Basics - CheckCommands (docs.icinga.org)
- ↑ How to define a custom command in icinga2? (monitoring-portal.org)
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. |