tachtler:icinga2_-_api-zugriff_apache
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
tachtler:icinga2_-_api-zugriff_apache [2018/10/23 12:48] – klaus | tachtler:icinga2_-_api-zugriff_apache [2018/10/23 13:45] (aktuell) – [/etc/httpd/conf.d/httpd-vhost.conf] klaus | ||
---|---|---|---|
Zeile 21: | Zeile 21: | ||
* **[[tachtler: | * **[[tachtler: | ||
+ | Als Voraussetzung für die Nutzung der [[https:// | ||
+ | * Lauffähige Version von [[https:// | ||
+ | * Siehe auch den internen Link [[tachtler: | ||
+ | * Lauffähiger Web-Server z.B. [[http:// | ||
+ | * Siehe auch den internen Link: [[tachtler: | ||
+ | |||
+ | ===== Vorbereitung ===== | ||
+ | |||
+ | Nachfolgend soll eine eigener **Benutzer** mit einem **dazugehörigen Passwort** angelegt werden, um auf die [[https:// | ||
+ | |||
+ | ==== / | ||
+ | |||
+ | Die [[https:// | ||
+ | |||
+ | Nachfolgende **API-User**-Berechtigungen werden entsprechend den Anforderungen festgelegt. Standardmäßig werden nur Daten von den Endpunkten ''/ | ||
+ | |||
+ | :!: **HINWEIS** - **Je nach verwendeter Abfrage-Software, | ||
+ | * [[https:// | ||
+ | * [[http:// | ||
+ | **müssen die Berechtigungen ggf. sehr weitreichend sein !!!** | ||
+ | |||
+ | Nachfolgende Ergänzungen in den Konfigurationsdatei ''/ | ||
+ | |||
+ | (**Komplette Konfigurationsdatei**) | ||
+ | <code ini> | ||
+ | / | ||
+ | * The APIUser objects are used for authentication against the API. * | ||
+ | | ||
+ | |||
+ | object ApiUser " | ||
+ | password | ||
+ | // client_cn | ||
+ | |||
+ | permissions | ||
+ | } | ||
+ | |||
+ | object ApiUser " | ||
+ | password = " | ||
+ | // client_cn | ||
+ | |||
+ | permissions = [ " | ||
+ | } | ||
+ | |||
+ | object ApiUser " | ||
+ | password | ||
+ | // client_cn | ||
+ | |||
+ | permissions | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | **__Ergänzungen__**: | ||
+ | |||
+ | * <code ini> | ||
+ | password = " | ||
+ | // client_cn | ||
+ | |||
+ | permissions | ||
+ | }</ | ||
+ | |||
+ | Hinzufügen eines neuen neues **API-User-Objekts** zur [[https:// | ||
+ | |||
+ | ==== icinga2: Features ==== | ||
+ | |||
+ | Nachfolgend ist sicher zu stellen, dass auch das entsprechende **Feature** in [[https:// | ||
+ | < | ||
+ | # 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** - **'' | ||
+ | |||
+ | Falls dies nicht der Fall sein sollte, kann dies 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 [[https:// | ||
+ | < | ||
+ | # systemctl status icinga2.service | ||
+ | ● icinga2.service - Icinga host/ | ||
+ | | ||
+ | | ||
+ | Process: 32190 ExecStart=/ | ||
+ | Process: 32127 ExecStartPre=/ | ||
+ | Main PID: 32221 (icinga2) | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | Dec 26 10:53:36 server11.idmz.tachtler.net icinga2[32190]: | ||
+ | Dec 26 10:53:36 server11.idmz.tachtler.net icinga2[32190]: | ||
+ | Dec 26 10:53:36 server11.idmz.tachtler.net icinga2[32190]: | ||
+ | Dec 26 10:53:36 server11.idmz.tachtler.net icinga2[32190]: | ||
+ | Dec 26 10:53:36 server11.idmz.tachtler.net icinga2[32190]: | ||
+ | Dec 26 10:53:36 server11.idmz.tachtler.net icinga2[32190]: | ||
+ | Dec 26 10:53:36 server11.idmz.tachtler.net icinga2[32190]: | ||
+ | Dec 26 10:53:36 server11.idmz.tachtler.net icinga2[32190]: | ||
+ | Dec 26 10:53:36 server11.idmz.tachtler.net icinga2[32190]: | ||
+ | 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 [[https:// | ||
+ | * ''/ | ||
+ | * ''/ | ||
+ | |||
+ | Die LOG-Datei ''/ | ||
+ | |||
+ | ===== Konfiguration ===== | ||
+ | |||
+ | Nachfolgend die **VHOST**-Konfiguration für den [[http:// | ||
+ | |||
+ | :!: **WICHTIG** - **Nachfolgende Konfigurationen stellen eine grundlegende [[http:// | ||
+ | |||
+ | ==== / | ||
+ | |||
+ | Nachfolgend ein Beispiel für einen [[http:// | ||
+ | <code apache> | ||
+ | # | ||
+ | # VirtualHost HTTPS | ||
+ | # | ||
+ | < | ||
+ | ServerAdmin hostmaster@tachtler.net | ||
+ | ServerName icingaapiaccess.tachtler.net | ||
+ | ServerPath / | ||
+ | |||
+ | # ---------------------------------------------------------- | ||
+ | # HTTPS settings | ||
+ | # ---------------------------------------------------------- | ||
+ | SSLEngine on | ||
+ | SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 | ||
+ | SSLHonorCipherOrder on | ||
+ | SSLCipherSuite " | ||
+ | SSLCertificateFile / | ||
+ | SSLCertificateKeyFile / | ||
+ | SSLCertificateChainFile / | ||
+ | SSLCACertificateFile / | ||
+ | |||
+ | # ---------------------------------------------------------- | ||
+ | # Location settings | ||
+ | # ---------------------------------------------------------- | ||
+ | < | ||
+ | </ | ||
+ | | ||
+ | # ---------------------------------------------------------- | ||
+ | # Proxy settings | ||
+ | # ---------------------------------------------------------- | ||
+ | SSLProxyEngine on | ||
+ | |||
+ | SSLProxyVerify none | ||
+ | SSLProxyCheckPeerCN off | ||
+ | SSLProxyCheckPeerName off | ||
+ | SSLProxyCheckPeerExpire off | ||
+ | SSLProxyProtocol all -SSLv3 -SSLv2 | ||
+ | ProxyTimeout 1200 | ||
+ | |||
+ | ProxyRequests Off | ||
+ | ProxyPreserveHost On | ||
+ | ProxyPass / https:// | ||
+ | ProxyPassReverse / https:// | ||
+ | |||
+ | # ---------------------------------------------------------- | ||
+ | # Logging settings | ||
+ | # ---------------------------------------------------------- | ||
+ | ErrorLog " | ||
+ | CustomLog " | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | ==== Icinga2: API-Test ==== | ||
+ | |||
+ | :!: **WICHTIG** - Bei der Konfiguration ist darauf zu achten, dass die [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | Dies kann durch ausführen von nachfolgendem Befehl ausprobiert werden: | ||
+ | <code html> | ||
+ | # curl -k -s -u apiuser: | ||
+ | < | ||
+ | You are authenticated as < | ||
+ | < | ||
+ | target=" | ||
+ | </ | ||
+ | |||
+ | ==== Apache: Neustart ==== | ||
+ | |||
+ | Nach Durchführung der vorhergehenden **Konfigurationsschritte**, | ||
+ | < | ||
+ | # systemctl restart httpd.service | ||
+ | </ | ||
+ | |||
+ | :!: **HINWEIS** - **Es erfolgen __keine__ weiteren Ausgaben, wenn der Start erfolgreich war !** | ||
+ | |||
+ | ==== Apache: API-Abfrage ==== | ||
+ | |||
+ | Nun sollte die [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | Dies kann durch ausführen von nachfolgendem Befehl ausprobiert werden: | ||
+ | <code html> | ||
+ | # curl -k -s -u apiuser: | ||
+ | < | ||
+ | You are authenticated as < | ||
+ | < | ||
+ | target=" | ||
+ | </ | ||
tachtler/icinga2_-_api-zugriff_apache.1540291684.txt.gz · Zuletzt geändert: 2018/10/23 12:48 von klaus