Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:icinga2_-_api-zugriff_apache

Dies ist eine alte Version des Dokuments!


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.

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:

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.

icinga2: Features

Nachfolgend ist sicher zu stellen, dass auch das entsprechende Feature in Icinga2 aktiv (enabled) ist. Nachfolgender Befehl zeigt, wie dies überprüft werden kann:

# icinga2 feature list
Disabled features: debuglog elasticsearch gelf influxdb livestatus opentsdb perfdata
Enabled features: api checker command compatlog graphite ido-mysql mainlog notification statusdata syslog

:!: WICHTIG - Das Feature - api muss bei Enabled features: gelistet sein!

Falls dies nicht der Fall sein sollte, kann mit nachfolgendem Befehl nachgeholt werden:

# icinga2 feature enable api

icinga2: Neustart

Danach kann der icinga2-Server mit nachfolgendem Befehle neu gestartet werden:

# systemctl restart icinga2

Mit nachfolgendem Befehl kann der Status des Icinga-Servers abgefragt werden:

# systemctl status icinga2.service
● icinga2.service - Icinga host/service/network monitoring system
   Loaded: loaded (/usr/lib/systemd/system/icinga2.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2016-12-26 10:53:37 CET; 16s ago
  Process: 32190 ExecStart=/usr/sbin/icinga2 daemon -d -e ${ICINGA2_ERROR_LOG} (code=exited, status=0/SUCCESS)
  Process: 32127 ExecStartPre=/usr/lib/icinga2/prepare-dirs /etc/sysconfig/icinga2 (code=exited, status=0/SUCCESS)
 Main PID: 32221 (icinga2)
   CGroup: /system.slice/icinga2.service
           ├─32212 /usr/lib64/icinga2/sbin/icinga2 --no-stack-rlimit daemon -...
           └─32221 /usr/lib64/icinga2/sbin/icinga2 --no-stack-rlimit daemon -...

Dec 26 10:53:36 server11.idmz.tachtler.net icinga2[32190]: [2016-12-26 10:53:...
Dec 26 10:53:36 server11.idmz.tachtler.net icinga2[32190]: [2016-12-26 10:53:...
Dec 26 10:53:36 server11.idmz.tachtler.net icinga2[32190]: [2016-12-26 10:53:...
Dec 26 10:53:36 server11.idmz.tachtler.net icinga2[32190]: [2016-12-26 10:53:...
Dec 26 10:53:36 server11.idmz.tachtler.net icinga2[32190]: [2016-12-26 10:53:...
Dec 26 10:53:36 server11.idmz.tachtler.net icinga2[32190]: [2016-12-26 10:53:...
Dec 26 10:53:36 server11.idmz.tachtler.net icinga2[32190]: [2016-12-26 10:53:...
Dec 26 10:53:36 server11.idmz.tachtler.net icinga2[32190]: [2016-12-26 10:53:...
Dec 26 10:53:36 server11.idmz.tachtler.net icinga2[32190]: [2016-12-26 10:53:...
Dec 26 10:53:37 server11.idmz.tachtler.net systemd[1]: Started Icinga host/se...
Hint: Some lines were ellipsized, use -l to show in full.

Nachfolgende LOG-Dateien sollten Auskunft darüber geben, wie der Start und der Status des Icinga-Servers ist.

  • /var/log/icinga2/icinga2.log
  • /var/log/icinga2/error.log

Die LOG-Datei /var/log/icinga2/error.log sollte hingegen leer sein!

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
tachtler/icinga2_-_api-zugriff_apache.1540292849.txt.gz · Zuletzt geändert: 2018/10/23 13:07 von klaus