/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.

Für Änderung an der Standardkonfiguration

  1. kopieren Sie die Datei \monitor-analytics\WEB-INF\classes\custom-application.properties nach [data.directory.location]/application.properties,

  2. ändern Sie die gewünschten Werte und

  3. starten Sie den Servlet Container neu oder aktualisieren Sie den Kontext.

Konfiguration

Logstash

Ist der Logstash Dienst auf einen anderen Host als localhost, konfigurieren Sie diesen über die application.properties.

application.properties
analytics.gelf.server=myserver.domain.de
analytics.gelf.port=12201

Zusätzlich kann der Port für die ausgehenden, erfassten Daten geändert werden. Wenn Sie den Port in der application.properties Datei anpassen, ändern Sie den Port für eingehende Daten in der Logstash Konfiguration /resources/analytics/elasticsearch/logstash/pipelines/ct-analytics/logstash-analytics-100-input.conf entsprechend, um ihn zu öffnen.

Damit die Änderungen wirksam werden, müssen Sie anschließend die zugehörige Komponente neustarten.

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.

default-application.properties
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.

application.properties
analytics.usagelog.referers=mydomain.com,https://www.myotherdomain.eu

Der Endpunkt erlaubt Anfragen von Seiten, die z.B. folgende HTTP-Header-Werte vorweisen:

  • http://mydomain.com/application/index.html

  • https://mydomain.com/webapp/somePage.jsp

  • https://www.myotherdomain.eu/client.aspx

Nicht erlauben oder speichern würde der Endpunkt Anfragen mit solchen Referrer-Werten:

  • http://www.myotherdomain.eu/client.aspx, weil der Wert explizit das HTTPS-Protokoll definiert.

  • http://www.conterra.de/some-page.html, weil der Wert überhaupt nicht in der Liste auftaucht.

Elasticsearch - gesammelte Daten abfrage

Änderungen an den application.properties sind beispielsweise notwendig, wenn Elasticsearch auf einen anderen Host als http://localhost:9200 ausgeführt wird. In diesem Fall muss die Service-URL geändert werden, sodass sich die Webapp mit Elasticsearch verbindet. Sollte Elasticsearch Nutzernamen und Password verlangen, so können diese hier auch konfiguriert werden.

application.properties
analytics.elasticsearch.service.url=http://myserver:9200/analytics-*/_search
analytics.elasticsearch.service.user=<user>
analytics.elasticsearch.service.pwd=<password>

Die service.monitor Usage Log Webapp dient als Sicherheitslayer für Anfragen an die Elasticsearch-Indizes. Zum Schutz der gespeicherten Daten gegen ungewünschten Zugriff wird die Änderung folgender Einstellungen AUSDRÜCKLICH EMPFOHLEN.

  • security.user.admin.name

  • security.user.admin.pw

Außerdem sollte ein Hash-Algorithmus für die Verschlüsselung gewählt werden. Dazu sollte dem Wert von security.user.pwenc einer der folgenden Algorithmen zugewiesen werden MD5, SHA-1, SHA-256, SHA-384 oder SHA-512.

Beachten Sie, dass security.user.admin.pw anschließend das verschlüsselte Passwort speichert, z.B

security.user.pwenc=SHA-256
security.user.admin.pw=b18474123c790f30c300b6bb9ee146a4959b6bcd5eef20244b925d69ea996690

Zugriff auf Daten

Die gesammelten Daten können in unterschiedlicher Weise vor dem Zugriff Unbefugter geschützt werden. Es ist nicht sinnvoll, den Suchindex öffentlich zugänglich zu machen. Der Zugriff sollte nur durch autorisierte Personen erfolgen.

Das Produkt bietet unterschiedliche Authentifizierungsmethoden:

NONE

Zugriff auf die Daten ist für jedermann erlaubt.

INTEGRATED

Zugriff ist lediglich für authentifizierte Nutzer erlaubt.

Die Authentifizierung erfolgt über http/BASIC auth. Es ist lediglich ein einzelner Nutzer verfügbar.

Nutzername und Passwort sind über die Datei application.properties der Usagelog Webapp verfügbar:

security.mode=INTEGRATED
security.user.admin.name=
security.user.admin.pw=
ONLY_AUTHN

Zugriff ist lediglich für authentifizierte Nutzer erlaubt.

Die Authentifizierung erfolgt über security.manager und seiner SSO Domain Cookie Unterstützung. Nur diese Variante unterstützt ein durchgängiges SSO Erlebnis zwischen security.manager, map.apps und service.monitor.

Properties zur Konfiguration sind über die Datei application.properties der Usagelog Webapp verfügbar. Falls eine Integration mit vorliegenden con terra Produkten erfolgt, können die korrekten Werte dort kopiert werden:

security.mode=ONLY_AUTHN
security.sso.cookie.name=ct_SSO
security.sso.cookie.domain=
security.sso.cookie.bindToIP=false

# security.manager service locations
security.administration.url=http://<host>/administration
security.was.service.url=$\{security.administration.url\}/WAS
security.sso.service.url=$\{security.administration.url\}/resources/ssosessions
security.sso.token.service.url=$\{security.administration.url\}/token/ssosession


# Key Store Properties
security.keystore.location=<some path>
security.keystore.passwd=changeit
security.keystore.key.alias=ct-security
security.keystore.key.passwd=changeit
Der Zugang wird gewährt, falls der Nutzer die Rolle mon_Redakteur zugewiesen bekommen hat. Der Name der Rolle kann in der Datei application.properties über den Schlüssel servicemonitor.admin.role gesetzt werden.

Ü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 [data.directory.location] ist $\{user.home\}/.monitor.

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 .monitor Verzeichnis unter dem Pfad C:\Windows\System32\config\systemprofile\.monitor finden.

Falls Sie ein spezielles Verzeichnis für die Speicherung der service.monitor Daten nutzen wollen, so passen Sie den Pfad in \monitor-analytics\WEB-INF\classes\custom-application.properties der Webapp des Tomcats an.

Linux

Bei der Installation von service.monitor unter Linux Systemen müssen Sie den folgenden Parameter in der Konfigurationsdatei \monitor-analytics\WEB-INF\classes\custom-application.properties anpassen:

data.directory.location=$\{user.home\}/.monitor

zu beispielsweise:

data.directory.location=/opt/data/.monitor