Zum Inhalt

INFOnline Measurement: Serviceplattform self-hosting

Voraussetzungen und Systemanforderungen

Für den Betrieb der Serviceplattform in Ihrer Infrastruktur sollten Sie folgende Voraussetzungen erfüllen:

  • Linux (Unix) basierte Infrastruktur
  • entsprechende Berechtigungen auf den Systemen
  • entsprechende Umgebung um Docker Images auszuführen
  • Proxy für das SSL-Offloading1
  • CORS Konfiguration via SSL-Offloader2 oder via Serviceplattform3

1 Ein SSL Offloader ist eine Software, welche sich um die SSL/TLS Verbindungen kümmert. Diese braucht ein Zertifikat, welches passend zur Domain ausgestellt wurde. Bei INFOnline Measurement wird dieser benötigt, da die Serviceplattform diesen als Proxy-Server vorgeschaltet nutzt. Die Serviceplattform selbst kann nicht SSL/TLS Verbindungen verwalten. Bekannte Softwaren in diesem Bereich sind nginx oder Apache HTTP Server.
2 Um die fehlerfreie Funktion der Zensusmessung zu gewährleisten, muss CORS korrekt konfiguriert werde. Dies kann im verwendeten SSL-Offloader entsprechend vorgenommen werden.
3 CORS kann auch in der Serviceplattform konfiguriert werden, siehe Konfiguration Container.

Wir empfehlen Ihnen bei einem PI Aufkommen von bis zu 2.000 PI pro Minute folgende minimalen Systemanforderungen:

  • CPU: 4core
  • RAM: 16GB
  • HDD: 80GB

Gibt es auf Ihrem Digital-Angebot Peakzeiten mit mehr als 2.000 PI pro Minute, dimensionieren Sie das System bitte entsprechend größer.

Bereitstellung der Serviceplattform

Um die Serviceplattform in Ihrer Infrastruktur zu betreiben, stellen wir Ihnen nach der Beauftragung folgendes zur Verfügung:

  • Docker-Image für die Serviceplattform
  • AccessToken für den Betrieb der Serviceplattform

Das Docker-Image stellen wir Ihnen nach der Anmeldung via quay.io Repo zur Verfügung.
Die Zugangsdaten für das Repo erhalten Sie mit Ihrer Auftragsbestätigung - den AccessToken stellen wir Ihnen nach der Einrichtung Ihrer self-hosted Serviceplattform in unserem System mit einer weiteren Einrichtungsmail zur Verfügung.

Einrichtung der Serviceplattform im INFOnline System

Um eine manipulationsfreie Messung via INFOnline Measurement sicherzustellen, werden die Digital-Angebote und die dazu gehörigen Serviceplattformen, zentral bei der INFOnline verwaltet. Die Serviceplattform erhält die benötigten Informationen über entsprechende Konfigurationen aus dem zentralen INFOnline System. Für die Kommunikation zwischen INFOnline System und der self-hosted Serviceplattform ist ein AccessToken notwendig. Diesen erhalten Sie von unserem Customer Service Team auf Anfrage. Bitte übermitteln Sie uns im Gegenzug den entsprechenden Hosteintrag, unter dem die self-hosted Serviceplattform erreichbar sein wird.

Betrieb der Serviceplattform

  1. Installation
  • Anlegen einer environment Datei mit den Parametern zum Starten des Containers.
    relay_key=<relay-client-namen>
    geoip=false1
    token=<AccessToken>2
  • Login in der Repo:
    docker login --username quay.io3
  • Beziehen des Containers:
    docker pull quay.io/infonline/relay-client:[VERSION]4
  1. Start
    - Startet einen Container, der auf Port 8101 lauscht:
    docker run --name relay-client --env-file [PFAD_ZUR_ENVIRONMENT_DATEI] --publish 127.0.0.1:8101:53119/tcp -d quay.io/infonline/relay-client:[VERSION]

1 Ermöglicht mit entsprechender MaxMind Lizenz eine Geolokalisierung im anonymen Messverfahren, siehe Konfiguration Container.
2 Erhalten Sie mit der Einrichtung der Serviceplattform im INFOnline System Bereitstellung der Serviceplattform.
3 Den username erhalten Sie mit der Einrichtungsbestätigung.
4 Die aktuelle Version erhalten Sie mit Ihrer Einrichtungsmail, bei Änderungen erhalten Sie eine gesonderte Mail.

Konfiguration Container

Die folgenden Parameter können genutzt werden um den Container zu konfigurieren:

Abkürzung Typ Standard Länge Muster Obligatorisch Beschreibung
TOKEN String - 20 ^[a-zA-Z0-9_]*$ ja Token für die Authentifizierung bei IO
RELAY_KEY String - - ^[a-zA-Z0-9_]*$ ja Der Hostname der Serviceplattform, den Sie bei der Einrichtung an die INFOnline übermittelt haben
GEOIP Bool False - - nein GeoIP Auflösung (Ja/Nein), nur relevant bei Nutzung des INFOnline Measurement anonym, für die Nutzung der Zensusmessung nicht relevant
cors Bool False - - nein Gibt an, ob der CORS Header bei https vom Relay Client gesetzt werden soll (erst ab Version 0.9.1)
Achtung
1
Wenn Sie INFOnline Measurement anonymous nutzen muss ```GEOIP = true``` gesetzt werden. Andernfalls wird sämtlicher Traffic für INFOnline Measurement anonymous als Auslandstraffic gewertet.

Empfehlungen für den Betrieb

Um einen reibungslosen Betrieb sicherzustellen, empfehlen wir Ihnen Ihre Infrastruktur, bzw. den Betrieb der Serviceplattform dynamisch zu gestalten.

Monitoring

Die Serviceplattform bietet eine API zum Monitoring der Funktion des Containers.
1 Der Container bietet unter der Adresse localhost:8101/hc.io die Möglichkeit an, einen Healthcheck abzurufen, der die Funktionsweise der PHP Seite und damit die Kette der Software prüft. Bei einem erfolgreichen Check, wird eine 200 Meldung zurückgegeben.
2 Der Container bietet unter der Adresse localhost:53120/nginx_status, localhost:53120/rsyslog_status und localhost:53120/php_status die Möglichkeit an, einen Prometheus Exporter zu verbinden. Dieses Adressen sind aber nur innerhalb des Container Daemon Netzwerks erreichbar und daher muss der Exporter in diesem eingebunden sein.

Auswirkungen bei Störungen

Die Serviceplattform ist das zentrale Module des INFOnline Measurements. Kommt es zu einer Störung im Betrieb der Serviceplattform, wirkt sich diese direkt auf die Messresultate aus. Ein Ausfall und/oder gestörte Erreichbarkeit der Serviceplattform führt unmittelbar zu einer Mindermessung, bzw. zu einem Messausfall. Die Messaufrufe, die ggf. während der Störung eingelaufen wären, können nicht wiederhergestellt werden. Wir empfehlen Ihnen zwingend die Möglichkeiten des Monitoring zu nutzen.

Updates der Serviceplattform

Über Updates der Serviceplattform werden Sie von uns frühzeitig informiert und wir stellen Ihnen neue Versionen der Docker-Images, wie unter Bereitstellung der Serviceplattform beschrieben, bereit.


Letztes Update: January 5, 2022