Leitfaden für die manuelle Einrichtung

Mit dem automatischen Bereitstellungsprozess lässt sich der Tagging-Server mit nur wenigen Klicks in Cloud Run bereitstellen. Wenn Sie den Tagging-Server in anderen Umgebungen bereitstellen möchten, können Sie das manuell tun. Der Tagging-Server ist ein Node.js-Server in einem Docker-Image.

Wenn Sie den Tagging-Server manuell bereitstellen, müssen Sie den Cluster für serverseitiges Tagging (SST) und einen Vorschauserver separat bereitstellen. Der SST-Cluster ist der Einstiegspunkt für alle Anfragen an den Tagging-Server und verarbeitet Anfragen wie in Serverseitiges Tagging – Einführung beschrieben. Der Vorschauserver ist erforderlich, um eine Vorschau eines Containers zu erstellen.

Abbildung 1 zeigt die Dateninteraktion zwischen den Tagging-Servern und dem Vorschau-Server.

Diagramm des Datenflusses zwischen Tagging-Servern und Vorschau-Server

Abbildung 1: Diagramm des Datenflusses zwischen Tagging-Servern und Vorschauserver.

In diesem Leitfaden wird Folgendes beschrieben:

  • Alle verfügbaren Einstellungen für das Docker-Image ansehen.
  • (Optional) BigQuery-Anmeldedaten einfügen
  • Stellen Sie einen Vorschauserver manuell mit dem SST-Docker-Image bereit.
  • Stellen Sie einen SST-Cluster manuell mit dem SST-Docker-Image bereit.
  • Prüfen Sie, ob der Vorschau-Server und der SST-Cluster richtig konfiguriert sind.
  • Achten Sie darauf, dass die Version Ihres Tagging-Servers nach der Bereitstellung des Servers immer auf dem neuesten Stand ist.

Damit Sie die Docker-Befehle in dieser Anleitung ausführen können, müssen Sie zuerst Docker auf Ihrem Computer installieren.

Alle verfügbaren Einstellungen für das Docker-Image ansehen

Das Docker-Image für den Tagging-Server finden Sie unter dieser URL:

gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable

Der Tagging-Server und der Vorschauserver verwenden dasselbe Docker-Image mit unterschiedlichen Flags. In diesem Abschnitt wird beschrieben, wie Sie alle verfügbaren Einstellungen aufrufen, die mit dem Docker-Image verwendet werden können.

Führen Sie den folgenden Befehl mit dem Docker-Befehlszeilentool aus, um alle verfügbaren Einstellungen aufzurufen:

docker run gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable server_bin.js --help

Optional: Google Cloud-Anmeldedaten einfügen

Wenn Sie die BigQuery- oder Firestore-API außerhalb von Google Cloud verwenden möchten, müssen Sie Anmeldedaten für ein Dienstkonto angeben, das für den Zugriff auf diese Ressourcen autorisiert ist.

  1. Folgen Sie dieser Anleitung, um ein Dienstkonto mit der Rolle BigQuery Data Editor für den BigQuery-Zugriff oder der Rolle Cloud Datastore User für den Firestore-Zugriff zu erstellen und die JSON-Anmeldedaten mit dem Dateinamen local_service_account_key.json zu exportieren.
  2. Stellen Sie die JSON-Anmeldedaten in einem für das Image zugänglichen Volume bereit. Mit docker run können Sie -v local_service_account_key.json:/app/service_account_key.json angeben, um die Anmeldedaten im Image einzubinden.
  3. Weisen Sie der Umgebungsvariable GOOGLE_APPLICATION_CREDENTIALS die Anmeldedaten zu.
  4. Optional können Sie Ihre Google Cloud-Projekt-ID in der Umgebungsvariable GOOGLE_CLOUD_PROJECT angeben, damit das Projekt implizit vom Tagging-Server ausgewählt wird.
  5. Server ausführen Mit dem folgenden Befehl wird der Tagging-Server mit den enthaltenen Anmeldedaten ausgeführt:

    docker run -v local_service_account_key.json:/app/service_account_key.json \
    -p 8080:8080 \
    -e GOOGLE_APPLICATION_CREDENTIALS='/app/service_account_key.json' \
    -e GOOGLE_CLOUD_PROJECT='<your project id>' \
    -e CONTAINER_CONFIG='<config string>' \
    gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
    

Je nachdem, auf welchem System der Tagging-Server bereitgestellt wird, gibt es möglicherweise verschiedene Möglichkeiten, die Anmeldedaten einzubinden. Kubernetes und Docker Swarm bieten beispielsweise Anleitungen zum Verwalten von Secrets. Weitere Informationen finden Sie im Leitfaden für Ihr jeweiliges System.

Beachten Sie die Best Practices, um Ihre Anmeldedaten zu schützen.

Vorschauserver manuell bereitstellen

Mit dem Vorschauserver können Sie sich eine Vorschau des Servercontainers ansehen. Um den Vorschauserver auszuführen, führen Sie das Docker-Image mit den folgenden Umgebungsvariablen aus, die an die Docker-Umgebung übergeben werden.

Erforderliche Einstellungen

  • CONTAINER_CONFIG: Der Konfigurationsstring für den Servercontainer. Rufen Sie in Tag Manager Ihren Servercontainer-Arbeitsbereich auf und klicken Sie rechts oben auf der Seite auf die Container-ID. Klicken Sie auf Tagging-Server manuell bereitstellen, um den Wert für Container Config zu finden.

  • RUN_AS_PREVIEW_SERVER: Legen Sie dafür true fest, um den Server als Vorschauserver bereitzustellen.

Beispiel mit dem Docker-Befehlszeilentool

So stellen Sie einen Vorschauserver lokal bereit:

docker run -p 8080:8080 -e CONTAINER_CONFIG='<config string>' -e RUN_AS_PREVIEW_SERVER=true gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable

Sie sollten eine 200-Antwort auf eine Anfrage an http://localhost:8080/healthy sehen. Optional können Sie die Umgebungsvariable PORT verwenden, um den Port zu ändern.

Best Practices

  • Sie müssen genau einen Vorschauserver bereitstellen. Konfigurieren Sie Autoscaling nicht für mehr als eine Instanz.
  • Nachdem Sie einen Vorschau-Server mit Docker eingerichtet haben, konfigurieren Sie eine HTTPS-URL, die auf den Vorschau-Server verweist. Dies ist zum Einrichten des SST-Clusters erforderlich.
  • Ihr Load Balancer oder CDN muss ein Zeitlimit von mehr als 20 Sekunden haben, da der Vorschaumodus sonst nicht richtig funktioniert.

Cluster für serverseitige Tag-Kennzeichnung manuell bereitstellen

Der SST-Cluster dient als Einstiegspunkt, leitet Vorschauanfragen an den Vorschau-Server weiter und verarbeitet alle anderen Anfragen wie unter Serverseitiges Tagging – Einführung beschrieben. Verwenden Sie die folgenden erforderlichen Einstellungen mit dem Docker-Image des Tagging-Servers, um einen SST-Cluster in einer beliebigen Umgebung bereitzustellen, die Docker unterstützt.

Erforderliche Einstellungen

  • CONTAINER_CONFIG: Der Konfigurationsstring für den Servercontainer. Rufen Sie in Tag Manager Ihren Servercontainer-Arbeitsbereich auf und klicken Sie rechts oben auf der Seite auf die Container-ID. Klicken Sie auf Tagging-Server manuell bereitstellen, um den Wert für Container Config zu finden.

  • PREVIEW_SERVER_URL: Die HTTPS-URL für den Vorschauserver. Diese Einstellung sollte nur für die Bereitstellung des Tagging-Servers festgelegt werden und ist für die Bereitstellung des Vorschauservers nicht erforderlich. Oben finden Sie eine Anleitung zum Einrichten des Vorschauservers.

Beispiel mit dem Docker-Befehlszeilentool

So stellen Sie einen einzelnen Tagging-Server lokal bereit:

docker run -p 8080:8080 -e CONTAINER_CONFIG='<config string>' -e PREVIEW_SERVER_URL='<HTTPS preview server url>' gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable

Sie sollten eine 200-Antwort auf eine Anfrage an http://localhost:8080/healthy sehen. Optional können Sie die Umgebungsvariable PORT verwenden, um den Port zu ändern.

Best Practices

  • Server für serverseitiges Tagging können entweder als einzelner Server oder als Cluster bereitgestellt werden. Wir empfehlen, sie als Cluster bereitzustellen, um eine bessere Verfügbarkeit, Skalierbarkeit und Leistung zu erzielen. Wenn Sie die Bereitstellung als Cluster vornehmen, müssen alle Serverinstanzen mit denselben Umgebungsvariablen CONTAINER_CONFIG und PREVIEW_SERVER_URL konfiguriert werden.
  • Der Tagging-Server sollte im selben Ursprung (Best Practice) oder als Subdomain Ihrer aktuellen Website gehostet werden. Wenn Ihre Anwendung beispielsweise Web-Traffic unter beispiel.de bereitstellt, verwenden Sie für Ihren Tagging-Server einen Pfad wie beispiel.de/analytics. Weitere Informationen zur Konfiguration benutzerdefinierter Domains
  • Nachdem Sie einen SST-Cluster mit Docker eingerichtet haben, konfigurieren Sie eine HTTPS-URL, die auf den SST-Cluster verweist.
  • Starten Sie die Server regelmäßig neu, damit sie die neuesten Code-Updates für SST erhalten. Andernfalls kann es zu Inkompatibilitäten mit neuen SST-Funktionen kommen. Eine Möglichkeit, um herauszufinden, wann der Server neu gestartet werden muss, besteht darin, Aktivitätsprüfungen einzurichten. Das wird weiter unten erläutert. Außerdem werden alle veröffentlichten Updates für Ihren Servercontainer weiterhin ohne Neustart angewendet.
  • Verwenden Sie den vorhandenen /healthy-Endpunkt (z.B. https://analytics.example.com/healthy) auf Ihren Tagging-Servern, um Liveness-Prüfungen einzurichten. Eine Antwort, die nicht „healthy“ ist, gibt an, dass der Server neu gestartet werden sollte.
  • Der Docker-Container enthält einen Standardbefehl für die Systemdiagnose – HEALTHCHECK CMD ["/nodejs/bin/node", "/app/health_checker_bin.js"] –, der den Endpunkt /healthy regelmäßig abfragt. Wenn Sie von der Docker-Systemdiagnose abhängig sind, können Sie die Einstellungen gemäß der Docker-Anleitung ändern.
  • Wenn sich Vorschau- und Tagging-Server auf demselben Ursprung befinden, hosten Sie den Vorschau-Server auf einem anderen Pfad als den Tagging-Server. Geben Sie den PREVIEW_SERVER_URL einschließlich des Pfads an.
  • Die bereitgestellten Server sollten maximal eine vCPU haben. Zusätzliche vCPUs werden nicht genutzt und wirken sich negativ auf das Autoscaling aus.

Validierung

Servercontainer-URL konfigurieren

Rufen Sie in Tag Manager den Servercontainer auf. Fügen Sie unter Verwaltung > Containereinstellungen die URL des Tagging-Servers in das Feld Servercontainer-URL ein und klicken Sie auf Speichern.

Über den Vorschaumodus prüfen

Klicken Sie im Tag Manager-Arbeitsbereich auf Vorschau, um eine Vorschau des Containers zu sehen. Die Vorschauseite sollte geladen werden. Rufen Sie auf einem anderen Browsertab einen beliebigen Pfad in der Servercontainer-URL auf. Wenn auf der Vorschauseite die gesendete Anfrage angezeigt wird, ist alles richtig eingerichtet.

Wenn Sie mehrere Subdomains einem einzelnen Tagging-Server zugeordnet haben und für jede Subdomain eine Vorschau anzeigen lassen möchten, fügen Sie unter Verwaltung > Containereinstellungen zusätzliche Servercontainer-URLs hinzu. Bei mehreren URLs müssen alle URL-Pfade übereinstimmen (die Zeichenfolge nach dem Domainnamen). Sie können beispielsweise eine Vorschau für example.com/abc und example2.com/abc anzeigen lassen, aber nicht für example.com/abc und example2.com/def. Wenn mehrere URLs hinzugefügt werden, sehen Sie neben der Schaltfläche Vorschau ein Symbol, mit dem Sie die URL auswählen können, für die eine Vorschau angezeigt werden soll.

Tagging-Serverversion aktualisieren

Das gtm-cloud-image-Image enthält Node.js und die Bibliotheken, die für die Funktion des Tagging-Servers erforderlich sind. Das Docker-Image wird regelmäßig mit Sicherheitsupdates und neuen Funktionen aktualisiert. Wir empfehlen, Ihren Tagging-Server mindestens bei jeder Hauptversion zu aktualisieren (z.B. von Version 1.x.x auf 2.x.x).

So aktualisieren Sie Ihr Docker-Image:

  1. Rufen Sie die aktuelle Bildversion unter gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable ab.
  2. Stellen Sie Ihren Server mit denselben Einstellungen wie bei der vorherigen Bereitstellung bereit.
  3. Aktualisieren Sie den einzelnen Vorschauserver und alle Tagging-Server im Cluster.
  4. Fahren Sie alle alten Server herunter.

So prüfen Sie, ob die Aktualisierung erfolgreich war:

  1. Klicken Sie in Ihrem Servercontainer auf die Schaltfläche Vorschau, um eine neue Fehlerbehebungssitzung zu starten und eine Anfrage auf einem separaten Tab zu senden.
  2. Wählen Sie unter „Zusammenfassung“ den Tab Konsole aus und prüfen Sie, ob Meldungen angezeigt werden, in denen Sie aufgefordert werden, den Tagging-Server zu aktualisieren.

In Tag Manager werden möglicherweise bis zu einem Tag nach der erfolgreichen Aktualisierung des Tagging-Servers Meldungen angezeigt, in denen Sie aufgefordert werden, den Server zu aktualisieren. Auf der Vorschauseite wird jedoch eine aktuelle Meldung zur Tagging-Serverversion angezeigt.