Konfigurowanie tagowania po stronie serwera za pomocą Cloud Run

Z tego przewodnika dowiesz się, jak:

  • Skonfiguruj serwer podglądu, aby włączyć funkcję podglądu kontenera.
  • Skonfiguruj serwer tagowania do obsługi aktualnego natężenia ruchu.
  • Zwiększ lub zmniejsz liczbę serwerów, na których działa kontener Menedżera tagów Google.
  • Po skonfigurowaniu serwera tagowania dbaj o to, aby jego wersja była aktualna.

Wymagania wstępne

  1. Musisz mieć konto GCP. Jeśli nie masz konta, utwórz nowe konto GCP.
  2. Musisz mieć konto rozliczeniowe GCP. Jeśli nie masz konta rozliczeniowego GCP, utwórz je (wymaga roli Twórca konta rozliczeniowego).
  3. Musisz mieć rolę twórcy projektu i użytkownika konta rozliczeniowego. Dowiedz się więcej o dodawaniu ról.

Udostępnianie serwera podglądu i serwera tagowania

Usługę Cloud Run możesz skonfigurować automatycznie w Menedżerze tagów Google lub ręcznie w Google Cloud.

Edytowanie konfiguracji usługi

Aby zmienić konfigurację usługi:

  1. Otwórz Cloud Run.
  2. Wybierz usługę, którą chcesz dostosować.
  3. Kliknij Edytuj i wdróż nową wersję.
  4. Wprowadź zmiany i kliknij Wdróż.

Koszt Cloud Run

W tej konfiguracji Cloud Run każdy serwer kosztuje około 45 USD miesięcznie. Każdy serwer to instancja Cloud Run z 1 procesorem wirtualnym i 0,5 GB pamięci, która korzysta z modelu cenowego z zawsze przydzielonym procesorem.

Zalecamy uruchamianie co najmniej 2 instancji, aby zmniejszyć ryzyko utraty danych w przypadku awarii serwera. Możesz jednak uruchomić mniejszą (lub większą) liczbę serwerów. Oczekujemy, że autoskalowanie 2–10 serwerów obsłuży 35–350 żądań na sekundę, choć wydajność będzie się różnić w zależności od liczby tagów i ich działania.

Cloud Run będzie dynamicznie skalować się wraz z obciążeniem. Ustawienie max-instances to najgorszy scenariusz dotyczący tego, ile będziesz musieć zapłacić za zasoby. Cloud Run nie udostępni tak wielu instancji, chyba że będzie to konieczne.

Szacowanie kosztów Cloud Run

Aby oszacować miesięczny koszt działania serwerów tagowania, skorzystaj z Kalkulatora cen Google Cloud. Kalkulator otworzy się ze wstępnie skonfigurowanym oszacowaniem domyślnego wdrożenia tagowania po stronie serwera. Możesz dostosować ustawienia, aby uzyskać dokładniejszy szacunek na podstawie oczekiwanego ruchu.

Opcjonalnie: migracja z App Engine

Jeśli masz wdrożenie App Engine i masz pewność, że nie otrzymuje ono już żadnego ruchu, wyłącz aplikację App Engine, aby uniknąć nieoczekiwanych opłat.

Opcjonalnie: wdrożenie w wielu regionach

Jeśli Twoja witryna ma zasięg globalny lub chcesz zapewnić redundancję usługi, wdróż serwery tagowania w wielu regionach.

Zanim zaczniesz:

  1. Utwórz system równoważenia obciążenia
  2. Zanotuj wybraną BACKEND_NAME.

Aby dodać więcej regionów do wdrożenia:

  1. Zastąp REGION regionem, w którym jest wdrożony serwer podglądu. Jeśli podczas konfigurowania serwera podglądu i tagowania użyto opcji wiersza poleceń, to pole może być już wypełnione.
  2. Zastąp ciąg CONTAINER_CONFIG ciągiem konfiguracyjnym kontenera z Menedżera tagów. To pole może być już wypełnione, jeśli podczas konfigurowania serwera podglądu i serwera tagowania używasz opcji wiersza poleceń.
  3. Zastąp NEW_REGION nowym regionem, w którym chcesz wdrożyć serwer tagowania.
  4. Zastąp BACKEND_NAME nazwą wybraną podczas udostępniania systemu równoważenia obciążenia.
  5. Opcjonalnie: aby dodać kolejny region, zastąp zmienną NEW_REGION i ponownie uruchom fragment kodu.
    gcloud run deploy "server-side-tagging" \
    --region NEW_REGION \
    --image gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable \
    --platform managed \
    --ingress all \
    --min-instances 2 \
    --max-instances 10 \
    --timeout 60 \
    --allow-unauthenticated \
    --no-cpu-throttling \
    --update-env-vars PREVIEW_SERVER_URL="$(
      gcloud run services describe server-side-tagging-preview \--region "REGION" \
      --format="value(status.url)")",CONTAINER_CONFIG="CONTAINER_CONFIG" && \

    gcloud compute network-endpoint-groups create server-side-tagging-neg \
    --region=NEW_REGION \
    --network-endpoint-type=SERVERLESS \
    --cloud-run-service="server-side-tagging" && \

    gcloud compute backend-services add-backend --global "BACKEND_NAME" \
    --network-endpoint-group-region=NEW_REGION \
    --network-endpoint-group=server-side-tagging-neg

Opcjonalnie: wyłączanie logowania

Logowanie żądań

Domyślnie rejestrowane są informacje o każdym żądaniu (np.ścieżka żądania, parametry zapytania itp.). Jeśli serwer tagowania obsługuje wiele żądań miesięcznie (np. ponad milion), te wiadomości dziennika mogą generować znaczne opłaty za logowanie. Aby zmniejszyć lub wyeliminować opłaty za logowanie, zalecamy wyłączenie logowania żądań.

Aby wyłączyć rejestrowanie żądań:

  1. Na platformie Google Cloud otwórz Router dzienników. Upewnij się, że jesteś w projekcie, który pasuje do identyfikatora kontenera:
    zrzut ekranu selektora projektu GCP pokazujący przykładowy identyfikator kontenera Menedżera tagów;
  2. W wierszu Typ: Zasobnik Cloud Logging, Nazwa: _Default kliknij rozszerzone menu, a następnie Edytuj ujście.
  3. W sekcji Miejsce docelowe ujścia wybierz zasobnik logów _Default.
  4. W sekcji Wybierz logi do uwzględnienia w ujściu dodaj nowy wiersz. Wpisz w istniejącym filtrze uwzględniającym tę regułę:

    NOT LOG_ID("run.googleapis.com/requests")
    
  5. Aby wyłączyć rejestrowanie z poziomu modułu równoważenia obciążenia, dodaj nowy wiersz i wpisz w istniejącym filtrze uwzględniania tę regułę:

    NOT LOG_ID("requests")
    
  6. Aby zastosować zmiany, kliknij Zaktualizuj ujście. Żądania będą teraz wykluczane z logowania.

  7. Sprawdź, czy w logach Eksploratora logów nie pojawiają się nowe żądania.

Logowanie w konsoli

Serwer tagowania, klienci lub tagi w kontenerze mogą rejestrować w konsoli komunikaty, za które mogą być naliczane opłaty za logowanie. Aby zmniejszyć lub wyeliminować opłaty za logowanie, możesz wyłączyć niechciane komunikaty konsoli.

Identyfikowanie niechcianych logów konsoli:

  1. W GCP otwórz eksplorator logów.
  2. Wyszukaj niechciane wiadomości dziennika pochodzące z tagów. Przykład:

    Tag może wysyłać te logi:

    const logToConsole = require('logToConsole');
    
    logToConsole('Custom message: ' + data.param1);
    logToConsole('An important message to keep around!');
    data.gtmOnSuccess()
    

    W polu textPayload
    znajdź odpowiednie komunikaty dziennika:zrzut ekranu Eksploratora logów GCP z przykładowymi logami;

Aby wyłączyć komunikat logu w konsoli:

  1. Na platformie Google Cloud otwórz Router dzienników. Upewnij się, że jesteś w projekcie, który pasuje do identyfikatora kontenera:
    zrzut ekranu selektora projektu GCP pokazujący przykładowy identyfikator kontenera Menedżera tagów;
  2. W wierszu Typ: Zasobnik Cloud Logging, Nazwa: _Default kliknij rozszerzone menu, a następnie Edytuj ujście.
  3. W sekcji Miejsce docelowe ujścia wybierz zasobnik logów _Default.
  4. W sekcji Wybierz logi do uwzględnienia w ujściu dodaj nowy wiersz. Wpisz w istniejącym filtrze uwzględniającym tę regułę:

    NOT textPayload:"Custom message:"
    

    W przypadku logów konsoli zastąp Custom message:tekst podciągiem z logu konsoli, który chcesz wyłączyć. Aby uzyskać bardziej złożone filtry, użyj języka zapytań usługi Logging.

  5. Aby zastosować zmiany, kliknij Zaktualizuj ujście. Dopasowana wiadomość logToConsole powinna zostać wykluczona z logowania.

  6. Sprawdź, czy w eksploratorze logów nie pojawiają się nowe komunikaty logu konsoli.

2. Mapowanie wdrożenia na domenę niestandardową

Skonfiguruj domenę niestandardową, aby używać domeny innej niż domyślny adres udostępniany przez Cloud Run.

3. Dodawanie adresu URL serwera do Menedżera tagów Google

Teraz, gdy masz już serwer, musisz się upewnić, że Menedżer tagów Google wie, że ma go używać.

  1. Otwórz Menedżera tagów Google.

  2. Kliknij kontener serwera, który chcesz wskazać jako serwer tagowania.

  3. Otwórz ustawienia kontenera serwera na karcie Administracja > Ustawienia kontenera.

  4. Kliknij Dodaj URL i wklej adres URL serwera.

  5. Zapisz i wróć do obszaru roboczego.

4. Weryfikacja

Po skonfigurowaniu serwera tagowania sprawdź, czy działa on zgodnie z oczekiwaniami.

Weryfikacja interfejsu

W obszarze roboczym Menedżera tagów kliknij przycisk Podgląd. Jeśli strona podglądu się wczyta, wszystko jest skonfigurowane prawidłowo.

Weryfikacja interfejsu API

Możesz też sprawdzić, czy serwer odpowiada na kontrole stanu, korzystając z jego interfejsu API:

  1. Skopiuj URL kontenera serwera z sekcji Administracja > Ustawienia kontenerów.
  2. Otwórz nową kartę przeglądarki.
  3. Wklej adres URL i dopisz do ścieżki znak /healthy. Przykład: https://www.example.com/metrics/healthy
  4. Jeśli usługa działa, na stronie powinien pojawić się tekst ok.

Jeśli brakuje żądań dotyczących konkretnego produktu, sprawdź, czy zdarzenie jest wywoływane. Polecenie config inicjuje produkt, ale dane są zwykle przesyłane tylko wtedy, gdy wywoływane jest polecenie event.

Więcej informacji o sprawdzonych metodach weryfikacji tagowania po stronie serwera znajdziesz w artykule Konfigurowanie domeny niestandardowej.

Podgląd wielu adresów URL

Jeśli masz zmapowanych wiele domen na jeden serwer tagowania, upewnij się, że każdy adres URL jest dodany do ustawień kontenera.

Jeśli podasz kilka adresów URL, wszystkie ścieżki (ciąg znaków po nazwie domeny) muszą być dopasowane.

Prace Nie działa
URL 1: example.com/abc
URL 2: example2.com/abc
URL 1: example.com/abc
URL 2: example2.com/def

Jeśli dodasz kilka adresów URL, obok przycisku Podgląd pojawi się ikona, która umożliwia wybranie adresu URL do wyświetlenia w podglądzie.

Aktualizowanie wersji serwera tagowania

Nowe aktualizacje serwera tagowania zawierają poprawki luk w zabezpieczeniach i nowe funkcje. Zalecamy aktualizowanie serwera tagowania co najmniej w przypadku każdej głównej wersji (np. przejście z wersji 1.x.x na 2.x.x), gdy Menedżer tagów wyświetli powiadomienie o konieczności aktualizacji.

Aby zaktualizować serwer tagowania, wdróż nową wersję z tymi samymi ustawieniami, których używasz obecnie.

  1. Otwórz Cloud Run.
  2. Wybierz usługę, którą chcesz zaktualizować.
  3. Kliknij Edytuj i wdróż nową wersję.
  4. Upewnij się, że Adres URL obrazu kontenera jest ustawiony na gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable, i kliknij Wdróż.

Aby sprawdzić, czy aktualizacja się powiodła:

  1. W kontenerze serwera kliknij przycisk Podgląd, aby rozpocząć nową sesję debugowania i wysłać żądanie na oddzielnej karcie.
  2. W sekcji Podsumowanie kliknij kartę Konsola i sprawdź, czy nie ma komunikatów z prośbą o zaktualizowanie serwera tagowania.

Menedżer tagów może wyświetlać komunikaty z prośbą o zaktualizowanie serwera tagowania nawet przez dzień po pomyślnym zaktualizowaniu serwera. Na stronie podglądu będzie jednak wyświetlany aktualny komunikat o wersji serwera tagowania.