Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Icinga2 - API-Zugriff (Apache)
Icinga ist eine vollständig auf Open-Source-Basis basierende, skalierbare und erweiterbare Monitoring-Lösung welche die Verfügbarkeit von definierten Ressource überprüft und über eine Benachrichtigungssystem verfügt.
Beschreibung | Externer Link |
---|---|
Homepage | https://www.icinga.org/ |
Dokumentation | http://docs.icinga.org/icinga2/latest/doc/module/icinga2/toc |
Download | http://packages.icinga.org/ |
API | https://icinga.com/docs/icinga2/latest/doc/12-icinga2-api/ |
Ab hier werden zur Ausführung nachfolgender Befehle root
-Rechte benötigt. Um der Benutzer root
zu werden, melden Sie sich bitte als root
-Benutzer am System an, oder wechseln mit nachfolgendem Befehl zum Benutzer root
:
$ su - Password:
Voraussetzungen
Für nachfolgende Konfiguration ist es erforderlich, dass eine funktionsfähige Installation von Icinga bereits vorhanden ist. Siehe auch nachfolgende interne Links:
Als Voraussetzung für die Nutzung der Icinga2 API sind folgende Komponenten erforderlich:
- Lauffähige Version von Icinga 2 ab der API Version 2.6+
- Siehe auch den internen Link Icinga2
- Lauffähiger Web-Server z.B. Apache HTTP Server
- Siehe auch den internen Link: Apache HTTP Server CentOS 7
Vorbereitung
Nachfolgend soll eine eigener Benutzer mit einem dazugehörigen Passwort angelegt werden, um auf die Icinga2 API über einen Apache HTTP Server zugreifen zu können.
/etc/icinga2/conf.d/api-users.conf
Die Icinga2-API benötigt entweder „basic auth“ oder Client-Zertifikate für die Authentifizierung.
Nachfolgende API-User-Berechtigungen werden entsprechend den Anforderungen festgelegt. Standardmäßig werden nur Daten von den Endpunkten /v1/status
und /v1/objects
abgerufen.
HINWEIS - Je nach verwendeter Abfrage-Software, z.B.
müssen die Berechtigungen ggf. sehr weitreichend sein !!!
Nachfolgende Ergänzungen in den Konfigurationsdatei /etc/icinga2/conf.d/api-users.conf
müssen am Ende der Konfigurationsdatei angehängt werden, damit zur Icinga2-Konfiguration ein neues API-User-Objekt hinzugefügt wird:
(Komplette Konfigurationsdatei)
/********************************************************************** * The APIUser objects are used for authentication against the API. * **********************************************************************/ object ApiUser "root" { password = "supergeheim" // client_cn = "" permissions = [ "*" ] } object ApiUser "dashing" { password = "geheim" // client_cn = "" permissions = [ "status/query", "objects/query/*" ] } object ApiUser "apiuser" { password = "auchgeheim" // client_cn = "" permissions = [ "*" ] }
Ergänzungen:
object ApiUser "apiuser" { password = "auchgeheim" // client_cn = "" permissions = [ "*" ] }
Hinzufügen eines neuen neues API-User-Objekts zur Icinga2-Konfiguration.