Leitfaden für die manuelle Einrichtung

Der automatische Bereitstellungsablauf kann verwendet werden, um den Tagging-Server mit nur wenigen Klicks in Cloud Run bereitzustellen. Wenn Sie den Tagging-Server in anderen Umgebungen bereitstellen möchten, können Sie dies manuell tun. Der Tagging-Server ist ein Node.js in einem Docker-Image.

Wenn Sie den Tagging-Server manuell bereitstellen möchten, müssen der Cluster für serverseitiges Tagging (SST) und ein Vorschauserver separat bereitgestellt werden. Der SST-Cluster ist der Einstiegspunkt für alle Anfragen an den Tagging-Server. Er verarbeitet Anfragen wie unter Einführung in das serverseitige Tagging beschrieben. Der Vorschauserver wird für die Vorschau eines Containers benötigt.

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

Diagramm zum Tagging von Servern und Vorschau des Serverdatenflusses

Abbildung 1: Ein Diagramm des Datenflusses der Tagging-Server und der Vorschauserver

In diesem Leitfaden wird Folgendes beschrieben:

  • Sehen Sie sich alle verfügbaren Einstellungen für das Docker-Image an.
  • (Optional) BigQuery-Anmeldedaten einschließen
  • 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 Vorschauserver und der SST-Cluster richtig konfiguriert sind.
  • Nach der Bereitstellung des Servers muss die Version des Tagging-Servers immer auf dem neuesten Stand sein.

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 des Tagging-Servers 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 abrufen, die mit dem Docker-Image verwendet werden können.

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

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

Optional: Google Cloud-Anmeldedaten hinzufügen

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

  1. Folgen Sie dieser Anleitung, um ein Dienstkonto mit der Rolle BigQuery-Datenbearbeiter für BigQuery-Zugriff oder der Rolle Cloud Datastore-Nutzer für 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 Volume bereit, auf das für das Image zugegriffen werden kann. Mit docker run können Sie -v local_service_account_key.json:/app/service_account_key.json angeben, um die Anmeldedaten im Image bereitzustellen.
  3. Verweisen Sie die Umgebungsvariable GOOGLE_APPLICATION_CREDENTIALS auf die Anmeldedaten.
  4. Sie können optional Ihre Google Cloud-Projekt-ID in der Umgebungsvariablen GOOGLE_CLOUD_PROJECT angeben, damit der Tagging-Server das Projekt implizit auswählen kann.
  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, für welches System der Tagging-Server bereitgestellt wird, gibt es verschiedene Möglichkeiten, die Anmeldedaten bereitzustellen. Zum Beispiel bieten Kubernetes und Docker Swarm Anleitungen zur Verwaltung von Secrets. Weitere Informationen finden Sie im Handbuch Ihres jeweiligen Systems.

Folgen Sie den Best Practices, um Ihre Anmeldedaten zu schützen.

Vorschauserver manuell bereitstellen

Mit dem Vorschauserver können Sie sich eine Vorschau des Servercontainers ansehen. Zum Ausführen des Vorschauservers führen Sie das Docker-Image aus. Dabei werden die folgenden Umgebungsvariablen an die Docker-Umgebung übergeben.

Erforderliche Einstellungen

  • CONTAINER_CONFIG: Der Konfigurationsstring für den Servercontainer. Gehen Sie in Tag Manager zum Arbeitsbereich des Servercontainers und klicken Sie oben rechts auf der Seite auf die Container-ID. Klicken Sie auf Tagging-Server manuell bereitstellen, um den Wert für Containerkonfiguration zu ermitteln.

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

Beispiel mit dem Docker-Befehlszeilentool

Führen Sie folgenden Befehl aus, um einen Vorschauserver lokal bereitzustellen:

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/healthz sehen. Verwenden Sie optional die Umgebungsvariable PORT, um den Port zu ändern.

Best Practices

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

Cluster mit serverseitigem Tagging manuell bereitstellen

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

Erforderliche Einstellungen

  • CONTAINER_CONFIG: Der Konfigurationsstring für den Servercontainer. Gehen Sie in Tag Manager zum Arbeitsbereich des Servercontainers und klicken Sie oben rechts auf der Seite auf die Container-ID. Klicken Sie auf Tagging-Server manuell bereitstellen, um den Wert für Containerkonfiguration zu ermitteln.

  • 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. Eine Anleitung zum Einrichten des Vorschauservers finden Sie im obigen Abschnitt.

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/healthz sehen. Verwenden Sie optional die Umgebungsvariable PORT, um den Port zu ändern.

Best Practices

  • Server mit serverseitigem Tagging können entweder als einzelner Server oder als Cluster bereitgestellt werden. Wir empfehlen die Bereitstellung als Cluster, um Verfügbarkeit, Skalierbarkeit und Leistung zu verbessern. Beachten Sie, dass bei der Bereitstellung als Cluster jede Serverinstanz mit denselben Umgebungsvariablen CONTAINER_CONFIG und PREVIEW_SERVER_URL konfiguriert werden muss.
  • Achten Sie darauf, die Bereitstellung Ihres SST-Clusters auf eine neue Subdomain auf Ihrer Website zu verweisen, die von der Subdomain Ihrer Anwendung getrennt ist. Wenn Ihre Anwendung beispielsweise Webtraffic unter example.com bereitstellt, verwenden Sie eine Subdomain wie example.com für Ihren Tagging-Server.
  • 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 auf ihnen die neuesten Codeaktualisierungen für SST vorhanden sind. Andernfalls kann die Funktionalität neuer SST-Features nicht mehr kompatibel sein. Eine Möglichkeit, herauszufinden, wann der Server neu gestartet werden muss, sind Aktivitätsprüfungen, die weiter unten erläutert werden. Alle veröffentlichten Updates für Ihren Servercontainer werden weiterhin ohne Neustart angewendet.
  • Verwenden Sie den vorhandenen /healthz-Endpunkt (z.B. https://analytics.example.com/healthz) auf Ihren Tagging-Servern, um Aktivitätsprüfungen einzurichten. Eine fehlerhafte Antwort bedeutet, dass der Server neu gestartet werden sollte.
  • Der Docker-Container enthält den Standardbefehl für die Systemdiagnose HEALTHCHECK CMD ["/nodejs/bin/node", "/app/health_checker_bin.js"], der den Endpunkt /healthz regelmäßig abfragt. Wenn Sie auf die Docker-Systemdiagnose angewiesen sind, können Sie die Einstellungen entsprechend der Docker-Anleitung ändern.
  • Wenn sich der Vorschauserver und der Tagging-Server im selben Ursprung befinden, hosten Sie den Vorschauserver auf einem anderen Pfad als der Tagging-Server. Geben Sie die PREVIEW_SERVER_URL einschließlich des Pfads an.
  • Die bereitgestellten Server sollten höchstens 1 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 Ihren Servercontainer auf. Geben Sie unter Verwaltung > Containereinstellungen die URL des Tagging-Servers in das Feld Servercontainer-URL ein und klicken Sie auf Speichern.

Im Vorschaumodus bestätigen

Sehen Sie sich im Tag Manager-Arbeitsbereich eine Vorschau des Containers an, indem Sie auf Vorschau klicken. Prüfen Sie dann, ob die Vorschauseite geladen wird. Rufen Sie auf einem anderen Browsertab einen beliebigen Pfad unter der Servercontainer-URL auf. Wenn auf der Vorschauseite die gesendete Anfrage angezeigt wird, ist alles korrekt eingerichtet.

Wenn Sie einem einzelnen Tagging-Server mehrere Subdomains zugeordnet haben und eine Vorschau für jede Subdomain aufrufen möchten, fügen Sie unter Verwaltung > Containereinstellungen zusätzliche Servercontainer-URLs hinzu. Wenn mehrere URLs angegeben werden, müssen alle URL-Pfade übereinstimmen (der Informationsstring nach dem Domainnamen). Sie können sich beispielsweise eine Vorschau für example.com/abc und example2.com/abc ansehen, aber keine für example.com/abc und example2.com/def. Wenn mehrere URLs hinzugefügt wurden, wird neben der Schaltfläche Vorschau ein Symbol angezeigt, über das Sie die URL für die Vorschau auswählen können.

Tagging-Serverversion aktualisieren

Das Image gtm-cloud-image enthält Node.js und die Bibliotheken, die für das Funktionieren des Tagging-Servers erforderlich sind. Das Docker-Image wird regelmäßig mit Sicherheitsupdates und neuen Funktionen aktualisiert. Wir empfehlen, den Tagging-Server mindestens für jede 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 Image-Version unter gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable ab.
  2. Stellen Sie Ihren Server mit den Einstellungen der vorherigen Bereitstellung bereit.
  3. Aktualisieren Sie den einzelnen Vorschauserver und alle Tagging-Server im Cluster.
  4. Fahren Sie alle alten Server herunter.

So überprüfst du, ob das Update erfolgreich war:

  1. Klicken Sie in Ihrem Servercontainer auf die Schaltfläche Vorschau, um eine neue Debug-Sitzung zu starten und eine Anfrage auf einem separaten Tab zu senden.
  2. Wählen Sie in der Zusammenfassung den Tab Console aus und achten Sie darauf, dass keine Meldungen angezeigt werden, die Sie zum Aktualisieren des Tagging-Servers auffordern.

In Tag Manager werden unter Umständen Meldungen angezeigt, in denen Sie aufgefordert werden, den Tagging-Server bis zu einen Tag nach einer erfolgreichen Aktualisierung zu aktualisieren. Auf der Vorschauseite wird jedoch eine aktuelle Meldung zur Tagging-Serverversion angezeigt.