Integration mit con terra Anwendungen

Übersicht

sec.man usage

service.monitor kann in andere con terra Produkte integriert werden, so dass auch dort aktiv Daten über die Nutzung der Applikationen gesammelt werden. Ist die Integration erfolgt, werden folgende Parameter beim Zugriff des Clients mitprotokolliert:

  • grundlegende HTTP Anfrageparameter (URL, Protokoll)

  • grundlegende HTTP Antwortparameter (Dauer, HTTP Status Code)

  • User Agent

  • Authentifizierungsinformationen

  • Client IP

Ablauf

  1. Konfigurationen für die map.apps Client-Integration befolgen

  2. Integration von map.apps und security.manager Enterprise Edition (Server) (siehe unten)

Integration von map.apps und security.manager Enterprise Edition (Server)

security.manager
Version Kommentar

< 4.15

Bitte aktualisieren Sie zunächst security.manager

4.15 - 4.18

Vorgehen wie unten beschrieben

ab 4.19

Die /wss-Webapplikation ist bereits für die Integration vorbereitet, die Aktivierung erfolgt ausschließlich über die application.properties (siehe Anleitung unten).

Die /administration-Webapplikation kann analog manuell integriert werden (siehe Anleitung unten).

map.apps
Version Kommentar

4.7 - 4.17

Vorgehen wie unten beschrieben.

ab 4.18

Die /mapapps-Webapplikation ist bereits für die Integration vorbereitet, die Aktivierung erfolgt ausschließlich über die application.properties (siehe Anleitung unten).

INFO

Mit der Version 4.6.0 des service.monitor wurde die Datei ct-analytics-usagelog-api-<version>.jar umbenannt und heißt nun ct-monitor-analytics-message-extender-<version>.jar. Bitte beachten Sie dies in zukünftigen security.manager Versionen.

security.manager Enterprise Edition

Um Informationen über Requests an security.manager zu sammeln, muss der der Installation zugehörige GelfWebSecurityProcessor aktiviert werden. Der Prozessor sendet seine Daten üblicherweise per UDP Protokoll an die Logstash Pipeline, alternativ ist TCP-Versand möglich.

Gehen Sie zur Installation und Konfiguration wie folgt vor:

Installations- und Konfigurationsschritte (ab Version 4.19)

Seit security.manager 4.18 ist die Integration Bestandteil von security.manager (WSS) und muss lediglich über die application.properties aktiviert/konfiguriert werden. Die notwendigen Bibliotheken werden seit dieser Version für die wss-Webapplikation direkt mit ausgeliefert und müssen lediglich über die application.properties definiert/überschrieben werden. Dafür ist nur Schritt 1 nötig. Eine manuelle Integration der administration-Webapplikation erfolgt durch die darauffolgenden Schritte.

  1. Die konkrete Definition der Verbindungsparameter erfolgt in [SECURITY_MANAGER_DATA_FOLDER]/application.properties

    analytics.enabled=true
    analytics.gelf.host=logstash-host.example.com
    analytics.gelf.port=12201
    analytics.gelf.protocol=udp
    analytics.gelf.identifier=security.manager
  2. Nur administration-Webapp:

    1. Kopieren folgender Dateien von [security.manager]/webapps/wss/WEB-INF/lib nach [security.manager]/webapps/administration/WEB-INF/lib

      1. ct-monitor-analytics-message-extender-<version>.jar oder ct-analytics-usagelog-api-<version>.jar

      2. gelfclient-<version>.jar

      3. netty-*-<version>.Final.jar

    2. Manuelles Anpassen der Datei [security.manager]/webapps/administration/WEB-INF/classes/spring-filter-config.xml:

      1. Hinzufügen der Bean-Referenz <ref bean="monitorAnalyticsFilter"/> hinter <ref bean="webSecurityFilter"/> (~ Zeile 50)

      2. Einfügen des unten stehenden Ausschnittes vor dem schließenden Beans-Element am Ende der Datei

        <bean id="monitorAnalyticsFilter" factory-bean="monitorAnalyticsFilterFactory" factory-method="create"/>
        <bean id="monitorAnalyticsFilterFactory" class="de.conterra.usagelog.support.SecmanEEMonitorFilterFactory" destroy-method="close"
        	  p:enabled="${analytics.enabled}"
        	  p:identifier="${analytics.gelf.identifier}"
        	  p:gelfHost="${analytics.gelf.host}"
        	  p:gelfPort="${analytics.gelf.port}"
        	  p:gelfProtocol="${analytics.gelf.protocol}"
        />
  3. Der Servlet-Container muss nach erfolgter Änderung neu gestartet werden.

Installations- und Konfigurationsschritte (vor Version 4.19)

Um Informationen über Requests an security.manager zu sammeln, muss der der Installation zugehörige GelfWebSecurityProcessor aktiviert werden. Der Prozessor sendet seine Daten üblicherweise per UDP Protokoll an die Logstash Pipeline, alternativ ist TCP-Versand möglich.

  1. Die *.jar Dateien aus /resources/analytics/webapp-integration/lib

    1. nach [security.manager]/webapps/wss/WEB-INF/lib

    2. nach [security.manager]/webapps/administration/WEB-INF/lib

  2. Die Datei /resources/analytics/webapp-integration/security.manager-<version>/spring-filter-config-administration.xml:

    1. nach [security.manager]/webapps/administration/WEB-INF/classes/spring-filter-config.xml

  3. Die Datei /resources/analytics/webapp-integration/security.manager-<version>/spring-filter-config-wss.xml:

    1. nach [security.manager]/webapps/wss/WEB-INF/classes/spring-filter-config.xml

  4. Die konkrete Definition der Verbindungsparameter erfolgt in [SECURITY_MANAGER_DATA_FOLDER]/application.properties

    analytics.gelf.server=logstash-host.example.com
    analytics.gelf.port=12201
    analytics.message.src=security.manager
    analytics.log.enabled=true
  5. Der Servlet-Container muss nach erfolgter Änderung neu gestartet werden.

map.apps

Um Informationen über Requests an map.apps zu sammeln, muss der zur Installation gehörende GelfWebSecurityFilter aktiviert werden. Der Prozessor sendet seine Daten üblicherweise per UDP-Protokoll an die Logstash-Pipeline, alternativ ist TCP-Versand möglich.

Installations- und Konfigurationsschritte ab map.apps Version 4.18

Seit map.apps 4.18 ist die service.monitor-Integration Bestandteil von map.apps und muss lediglich über die application.properties aktiviert/konfiguriert werden.

  1. Tragen Sie die folgenden Verbindungsparameter in der Datei [MAPAPPS_DATA_FOLDER]/application.properties ein und passen Sie die Werte an:

    analytics.enabled=true
    analytics.gelf.host=logstash-host.example.com
    analytics.gelf.port=12201
    analytics.gelf.protocol=udp
    analytics.gelf.identifier=map.apps
  2. Starten Sie anschließend den Servlet-Container (z.B. Tomcat) neu.

Installations- und Konfigurationsschritte vor map.apps Version 4.18

Gehen Sie zur Installation und Konfiguration wie folgt vor:

  1. Kopieren Sie die JAR-Dateien aus dem Ordner /resources/analytics/webapp-integration/lib
    nach [map.apps]/WEB-INF/lib

  2. Kopieren Sie die Datei /resources/analytics/webapp-integration/map.apps-<version>/spring-filter-config.xml
    in den Ordner [map.apps]/WEB-INF/classes.

  3. Fügen Sie in der Datei [MAPAPPS_DATA_FOLDER]/application.properties die folgenden Verbindungsparameter hinzu und passen Sie die Werte an:

    analytics.gelf.server=logstash-host.example.com
    analytics.gelf.port=12201
    analytics.message.src=map.apps
    analytics.log.enabled=true
  4. Starten Sie den Servlet-Container (z.B. Tomcat) nach erfolgter Änderung neu.

Integration mit anderen con terra Produkten

Viele con terra Produkte unterstützen grundsätzlich die oben dargestellten Integrationswege mit service.monitor. Bitte fragen Sie nach Support Plus oder Dienstleistungen für zusätzliche Unterstützung.

Logging-Parameter

useragent

Informationen über Browsers und Betriebssystem.

Beispiel:

"user_agent": "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0"
client_ip

Anonymisierte Client IP.

Beispiel:

"client_ip": "123.12.12.000"
request

Informationen zu Anfrage-Parametern.

Beispiel:

"request" : {
  "server_host": "secman-host.example.com",
  "url_query": "?queryProperty=testvalue",
  "server_context: "/wss",
  "referrer": "http://www.example.com",
  "protocol": "https"
}
auth

Authentifizierungsinformationen.

Beispiel:

"auth": {
  "authenticated": true,
  "user_id": "userA",
  "login_time": "2011-17-10 11:17:50",
  "group_name": "sampleGroup",
  "roles": [
    "admin",
    "editor"
  ]
}
response

Informationen zu Antwort-Parametern.

Beispiel:

"response": {
  "status": 200
}
response_time

Antwortzeit in Nano-Sekunden und Antwortzeit in Milli-Sekunden.

Beispiel:

"response_time": 12345678,
"response_time_ms": 1234.5678