/monitor-analytics Webapplikation
| Dieser Installationsschritt ist nur nötig, wenn auf Client-Seite Interaktionsdaten innerhalb von map.apps gesammelt werden sollen. |
Für die Installation der Usagelog Webapp des service.monitor deployen Sie die ausgelieferte WAR-Datei monitor-analytics.war im gewünschten Servlet Container.
Anpassung der Konfiguration
Für Änderungen an der Standardkonfiguration müssen Sie die entsprechend Konfigurationsdateien anpassen. Folgende Konfigurationsdateien werden von service.monitor verarbeitet:
-
WEB-INF/classes/default-application.properties(NICHT EDITIEREN)
In dieser Datei befinden sich alle Konfigurationsoptionen von map.apps mit ihren Standardwerten. -
WEB-INF/classes/custom-application.properties
Wenn eine Änderung des Arbeitsverzeichnisses (data.directory.location) oder Konfigurationsverzeichnisses (config.directory.location) nötig ist, muss die Änderung in dieser Datei erfolgen. Alle weiteren Anpassungen erfolgen in folgender Datei: -
[config.directory.location]/application.properties
Nehmen Sie Änderungen an der Konfiguration durch das Bearbeiten dieser Datei vor.
Das Konfigurationsverzeichnis (config.directory.location) von map.apps ist in der Standardinstallation das Verzeichnis${user.home}/.monitor. Die Datei wird nicht automatisch erstellt, daher kann als Vorlage die DateiWEB-INF/classes/config-templates/application.propertiesdienen. Belassen Sie nur die Einstellungen in der Datei, die geändert wurden oder solche, die auf Werte aus densecrets.propertiesverweisen. -
[config.directory.location]/secrets.properties
Legen Sie sensible Daten wie Passwörter oder API-Schlüssel in dieser Datei ab und verweisen Sie, wie im Beispiel beschrieben, auf diese in denapplication.properties.
Das Format der Konfigurationsdateien muss dem Java Properties Dateiformat entsprechen.
Starten Sie nach den Änderungen den Servlet Container neu oder aktualisieren Sie den Kontext.
Umgebungsvariablen
Sie können die Werte aller Konfigurationsparameter auch mit Umgebungsvariablen setzen. Diese überschreiben immer die Werte, aus den Konfigurationsdateien. Das ist hilfreich, wenn {product-name} zum Beispiel in einem Docker-Container betrieben wird.
Sie müssen die Namen der Konfigurationsparameter aus den Konfigurationsdateien für die Verwendung als Umgebungsvariablen anpassen:
Ersetzen Sie alle Buchstaben des Namen durch Großbuchstaben sowie den Punkt . durch den Unterstrich _.
Beispiel: security.oauth.provider wird zu SECURITY_OAUTH_PROVIDER.
Dieses Muster gilt für alle Konfigurationsparameter.
Konfiguration von Passwörtern bzw. Geheimnissen
Sensible Daten wie Passwörter oder API-Schlüssel, sollten in der Datei secrets.properties in der Form secretKey=value gespeichert werden.
Im Gegensatz zu früheren Softwareversionen werden keine Standard-Passwörter mehr vorgegeben. Alle benötigten Passwörter müssen bei der Installation selbst gesetzt werden. Die Passwortkodierung ist standardmäßig auf SHA-512 festgelegt und kann über die Property security.user.pwenc angepasst werden.
Definieren Sie hier beispielsweise das Passwort für den Administrationszugang wie folgt:
# Passwort für Administrationszugang
secret.admin.pw=mySecretValue
Den Eintrag referenzieren Sie dann in der application.properties Datei:
# Referenz auf Eintrag in secrets.properties
security.user.admin.pw=${secret.admin.pw}
Durch die separate Speicherung der Geheimnisse in der Datei secrets.properties wird verhindert, dass man mit dem Wissen über die Konfiguration der Anwendung gleichzeitig Kenntnis über konfigurierte Geheimnisse erhält.
Sichern Sie die Datei secrets.properties durch die Vergabe passender Zugriffsberechtigungen ab und verschlüsseln diese bei Bedarf mit den Mitteln des Betriebssystems.
In dynamischen Deployment Szenarien, wie beispielsweise dem Betrieb in einem Docker-Container, kann die Datei secrets.properties auch generiert oder extern verwaltet werden.
Konfiguration
Elastic Ingest Pipeline
Die /monitor-analytics Webapplikation nutzt per default die Elastic Ingest Pipeline, um die clientseitigen Interaktionsdaten von map.apps zu verarbeiten und an Elasticsearch weiterzuleiten.
Die folgende application.properties Konfiguration definiert die Verbindung zu Elasticsearch:
analytics.elastic.url=https://elasticsearch.example.com
analytics.elastic.username=elastic
analytics.elastic.password=${secret.monitoring.elastic.password}
Logging Interface Zugriff
Sie können den Zugriff auf den Endpunkt /usage/log zum Schreiben vom Logdaten einschränken.
Definieren Sie hierfür Hostnamen, für die das Schreiben explizit erlaubt werden kann.
Die Hostnamen werden gegen den HTTP Header Wert Referer geprüft.
Referrer-Werte enthalten normalerweise die URL der Webseite, die die aktuelle Anfrage sendet.
analytics.usagelog.referers=*
Der Standardwert erlaubt das Senden und Speichern von Information über /usage/log von überall her.
Beispiel
Bei folgender Einstellung gelten die unten stehenden Einschränkungen.
analytics.usagelog.referers=example.com,https://www.example.net
Der Endpunkt erlaubt Anfragen von Seiten, die z.B. folgende HTTP-Header-Werte vorweisen:
-
http://example.com/application/index.html -
https://example.com/webapp/somePage.jsp -
https://www.example.net/client.aspx
Nicht erlauben oder speichern würde der Endpunkt Anfragen mit solchen Referrer-Werten:
-
http://www.example.net/client.aspx, weil der Wert explizit das HTTPS-Protokoll definiert. -
http://www.example.org/some-page.html, weil der Wert überhaupt nicht in der Liste auftaucht.
Übersicht aller Standardwerte
Die Datei \monitor-analytics\WEB-INF\classes\default-application.properties bietet eine Übersicht aller Standardwerte der genutzten Eigenschaften.
|
Der Standardwert für Wird der Tomcat Server als Windows-Service ausgeführt, so entspricht dieser Ordner dem ausführenden Benutzer des Dienstes.
Wenn kein Nutzer konfiguriert ist, wird der Tomcat Server durch den System-Benutzer Account ausgeführt (nicht empfohlen!).
In diesem Fall können Sie das Falls Sie ein spezielles Verzeichnis für die Speicherung der service.monitor Daten nutzen wollen, so passen Sie den Pfad in |
|
Linux
Bei der Installation von service.monitor unter Linux Systemen müssen Sie den folgenden Parameter in der Konfigurationsdatei
zu beispielsweise:
|