Z tego przewodnika dowiesz się, jak:
- Skonfiguruj serwer tagowania w usłudze Google Cloud Platform (GCP) App Engine.
- Uaktualnij serwer tagowania, aby obsługiwał aktualne natężenie 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
- Musisz mieć konto GCP. Jeśli nie masz konta, utwórz nowe konto GCP.
- Musisz mieć konto rozliczeniowe GCP. Jeśli nie masz konta rozliczeniowego GCP, utwórz je (wymaga roli Twórca konta rozliczeniowego).
- Musisz mieć rolę twórcy projektu i użytkownika konta rozliczeniowego. Dowiedz się więcej o dodawaniu ról.
1. Aprowizowanie serwera
Aby utworzyć nowy serwer tagowania w instancji App Engine, musisz:
- Tworzenie nowego kontenera serwera w Menedżerze tagów
- Tworzenie nowego projektu Google Cloud (GCP)
- Udostępnianie nowego serwera tagowania App Engine
- Dodaj adres URL nowego serwera tagowania do kontenera serwera Menedżera tagów.
Tworzenie kontenera serwera Menedżera tagów Google
Otwórz Menedżera tagów Google.
W wierszu konta kliknij rozszerzone menu > Utwórz kontener.
Utwórz nowy kontener serwera.
Kliknij przycisk „Skonfiguruj serwer tagowania samodzielnie”. Zwróć uwagę na konfigurację kontenera. Będzie on potrzebny do udostępnienia serwera.
Tworzenie nowego projektu GCP
Aby utworzyć nowy projekt GCP na potrzeby serwera tagowania:
Otwórz konsolę Google Cloud.
Nadaj projektowi nazwę. Dla wygody zalecamy używanie identyfikatora kontenera. Ta nazwa jest używana tylko w GCP.
Zanotuj identyfikator projektu GCP, ponieważ będzie on potrzebny do utworzenia serwera tagowania.
Udostępnianie nowego serwera tagowania
Aby utworzyć serwer tagowania:
Otwórz Cloud Shell.
Ustaw projekt GCP w Cloud Shell. Zastąp
project IDidentyfikatorem projektu GCP, który został zapisany wcześniej:gcloud config set project project IDUtwórz serwer tagowania, postępując zgodnie ze skryptem powłoki. Ustaw typ wdrożenia na
testing.bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
Dodawanie adresu URL serwera tagowania do Menedżera tagów
Otwórz Menedżera tagów Google.
W sekcji Administracja > Ustawienia kontenera kliknij Dodaj URL. Jeśli nie znasz adresu URL serwera, uruchom to polecenie w Cloud Shell:
gcloud app browseWynik: serwer tagowania został skonfigurowany i zaopatrzony w konfigurację
testing. Możesz teraz przetestować tagowanie po stronie serwera.
Początkowa konfiguracja serwera (testing)
Konfiguracja testowania jest odpowiednia do poznawania usługi przez wysyłanie niewielkich ilości ruchu testowego i korzystanie z funkcji podglądu w Menedżerze tagów. Ta konfiguracja to klasa instancji F1 App Engine w środowisku standardowym. W większości przypadków nie wiąże się z żadnymi kosztami.
2. Korzystanie z App Engine w środowisku produkcyjnym
W konfiguracji production każdy serwer kosztuje około 40 USD miesięcznie. Każdy serwer to instancja App Engine z 1 procesorem wirtualnym, 0, 5 GB pamięci i 10 GB miejsca na dysku w środowisku elastycznym.
Więcej informacji o rozliczeniach App Engine i konfigurowaniu alertów dotyczących płatności znajdziesz w artykule Zarządzanie kosztami App Engine. Zdecydowanie zalecamy skonfigurowanie alertu rozliczeniowego.
Zalecane ustawienia produkcyjne
Zalecamy uruchomienie co najmniej 3 serwerów, aby zmniejszyć ryzyko utraty danych w przypadku awarii serwera. Możesz jednak uruchomić mniejszą (lub większą) liczbę serwerów. Oczekujemy, że automatyczne skalowanie 3–6 serwerów (domyślnie) obsłuży 50–200 żądań na sekundę. Wydajność zależy od liczby tagów i ich funkcji.
Aby skonfigurować serwer tagowania:
- Otwórz Cloud Shell w Google Cloud Platform.
- Ustaw projekt Cloud Platform w Cloud Shell. Zastąp
project IDidentyfikatorem projektu GCP, który został zapisany wcześniej:gcloud config set project project ID
- Aby ponownie skonfigurować serwer tagowania na potrzeby środowiska produkcyjnego, uruchom poniższy skrypt konfiguracji. Wykonaj te czynności:
bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
- Zmień typ wdrożenia na
production. - Skonfiguruj dodatkowe serwery do obsługi ruchu produkcyjnego. Zalecamy co najmniej 3 serwery.
- Zmień typ wdrożenia na
Opcjonalnie: wyłączanie logowania
Logowanie żądań
Domyślnie App Engine rejestruje informacje o każdym otrzymanym żądaniu (np.ścieżkę żądania, parametry zapytania itp.). Jeśli serwer tagowania obsługuje wiele żądań miesięcznie (np. ponad milion), te wiadomości w logu mogą generować znaczne opłaty za logowanie. Aby zmniejszyć lub wyeliminować opłaty za rejestrowanie, zalecamy wyłączenie rejestrowania żądań App Engine.
Aby wyłączyć rejestrowanie żądań App Engine:
- Na platformie Google Cloud otwórz Router dzienników. Upewnij się, że jesteś w projekcie, który pasuje do identyfikatora kontenera:

- W wierszu Typ: Zasobnik Cloud Logging, Nazwa: _Default kliknij rozszerzone menu, a następnie Edytuj ujście.
- W sekcji Miejsce docelowe ujścia wybierz zasobnik logów _Default.
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("appengine.googleapis.com/nginx.request") AND NOT LOG_ID("appengine.googleapis.com/request_log")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")Aby zastosować zmiany, kliknij Zaktualizuj ujście. Żądania App Engine nie będą już rejestrowane.
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:
- W GCP otwórz eksplorator logów.
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:
Aby wyłączyć komunikat logu w konsoli:
- Na platformie Google Cloud otwórz Router dzienników. Upewnij się, że jesteś w projekcie, który pasuje do identyfikatora kontenera:

- W wierszu Typ: Zasobnik Cloud Logging, Nazwa: _Default kliknij rozszerzone menu, a następnie Edytuj ujście.
- W sekcji Miejsce docelowe ujścia wybierz zasobnik logów _Default.
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.
Aby zastosować zmiany, kliknij Zaktualizuj ujście. Dopasowana wiadomość
logToConsolepowinna zostać wykluczona z logowania.Sprawdź, czy w eksploratorze logów nie pojawiają się nowe komunikaty logu konsoli.
3. Mapowanie wdrożenia na domenę niestandardową
Domyślne wdrożenie tagowania po stronie serwera jest hostowane w domenie App Engine. Zalecamy zmodyfikowanie wdrożenia, aby używać subdomeny witryny.
Mapowanie subdomeny witryny na serwer tagowania
4. 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ć.
Otwórz Menedżera tagów Google.
Kliknij kontener serwera, który chcesz wskazać jako serwer tagowania.
Otwórz ustawienia kontenera serwera na karcie Administracja > Ustawienia kontenera.
Kliknij Dodaj URL i wklej adres URL serwera.
Zapisz i wróć do obszaru roboczego.
5. 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:
- Skopiuj URL kontenera serwera z sekcji Administracja > Ustawienia kontenerów.
- Otwórz nową kartę przeglądarki.
- Wklej adres URL i dopisz do ścieżki znak
/healthy. Przykład:https://www.example.com/metrics/healthy - 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.
Wyświetlanie podglądu 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/abcURL 2: example2.com/abc |
URL 1: example.com/abcURL 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, ponownie uruchom skrypt konfiguracji, używając tych samych ustawień co wcześniej. Domyślnie są tu widoczne aktualne ustawienia.
Aby zaktualizować serwer tagowania:
- Otwórz Cloud Shell w Google Cloud Platform.
- Ustaw projekt Cloud Platform w Cloud Shell. Zastąp
project IDidentyfikatorem projektu GCP, który został zapisany wcześniej:gcloud config set project project ID
- Uruchom skrypt konfiguracji, używając tych samych ustawień co wcześniej. Domyślnie są tu widoczne dotychczasowe ustawienia.
bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
Aby sprawdzić, czy aktualizacja się powiodła:
- W kontenerze serwera kliknij przycisk Podgląd, aby rozpocząć nową sesję debugowania i wysłać żądanie na oddzielnej karcie.
- 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.
Rozwiązywanie problemów z przekroczeniem limitu czasu wdrożenia w środowisku produkcyjnym
Gdy uruchomisz skrypt konfiguracji, aby utworzyć lub ponownie skonfigurować serwer tagowania, skrypt może przekroczyć limit czasu. Może się tak zdarzyć z kilku powodów. Najczęstsze z nich to:
Konta usługi mają nieprawidłowe uprawnienia – konta usługi Compute Engine i App Engine są odpowiedzialne za wdrażanie i utrzymywanie wdrożenia produkcyjnego. Domyślnie są one wstępnie skonfigurowane z odpowiednimi uprawnieniami. W niektórych przypadkach zasady organizacji mogą jednak powodować, że będą one nieprawidłowe.
- W konsoli Google Cloud na pasku nawigacyjnym po lewej stronie otwórz stronę Administracja.
- Znajdź konto usługi Compute Engine
<project_number>-compute@developer.gserviceaccount.comi konto usługi App Engine<project_name>@appspot.gserviceaccount.com. - Oba konta usługi muszą mieć przypisaną rolę
Editor. Jeśli któreś z kont nie ma roliEditor, zaktualizuj rolę, klikając ikonę ołówka po prawej stronie konta, klikając menu istniejącej roli, przewijając w górę i klikając Projekt, a następnie Edytujący.
Niewystarczający limit – wdrożenie produkcyjne wykorzystuje limit Compute Engine. Jeśli projekt nie ma wystarczającego limitu, wdrożenie może przekroczyć limit czasu podczas próby udostępnienia zasobów.
- Na pasku nawigacyjnym po lewej stronie konsoli Google Cloud otwórz stronę Uprawnienia i administracja, a potem na pasku nawigacyjnym po lewej stronie kliknij kartę Limity.
- U góry strony kliknij pole tekstowe Filtruj tabelę i wpisz
Compute Engine API. Kliknij jedyny wynik. - Sprawdź, czy wszystkie stany limitów są w zakresie limitu lub mają zielony znacznik wyboru.
- Znajdź i kliknij Procesory. Sprawdź, czy bieżące wykorzystanie plus liczba wdrażanych instancji nadal będzie poniżej limitu dla regionu wdrażania.