/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\application.properties nach [data.directory.location]/application.properties,

  2. in der Datei \monitor-analytics\WEB-INF\classes\custom-application.properties wird der Wert des Schlüssels data.directory.location auf den Ordner geändert, in den zuvor die application.properties kopiert wurde

  3. ändern Sie die gewünschten Werte

  4. 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=server.example.com
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=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.

Elasticsearch - Abfrage der gesammelten Daten

Ä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://example: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

Ü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