Rejestracja, monitorowanie i alertowanie GCP (Google Cloud Platform) — szybkie wprowadzenie

Daniel Miłosz
Daniel Miłosz
May 22, 2025
7 min read
Loading the Elevenlabs Text to Speech AudioNative Player...

Obecnie aplikacje stają się coraz bardziej złożone i składają się z rosnącej liczby technologii. Monitorowanie ich może być trudne, zwłaszcza w chmurze. Nawet w przypadku dość prostej data warehouse z ETL/ELT pipelines powinieneś być w stanie monitorować database, orchestrator, processing engine itp. Na szczęście platforma GCP ma dobry serwis do monitoringu i alertów. Do tego tutoriala została stworzona HTTP Cloud Function.

Screenshot of a GCP Cloud Function interface showing the source code editor with a Python script for an HTTP Cloud Function and related files.

GCP Logging
Monitoring nie może być przeprowadzony bez odpowiedniego logging. GCP zapewnia dobrą jakość logów dla serwisów GCP i umożliwia dodawanie własnych logów aplikacji, np. logów Pythona w Cloud Function processing. Można je łatwo przeszukiwać za pomocą przyjaznego interfejsu użytkownika (UI):

Logi aplikacji są niezwykle ważne do debugowania i tworzenia log-based metrics, które później mogą być używane do monitorowania naszego środowiska GCP.

Screenshot of GCP Logging interface showing log entries, query filters, and a histogram for analyzing application and service logs.

Metrics
GCP zapewnia ogromną liczbę metrics do monitorowania out of the box, w tym zarówno natywne serwisy, takie jak BigQuery, Cloud Function, Composer itp., jak i serwisy takie jak AWS, Kubernetes. Spójrz tylko na wykresy z CF executions.

Istnieje również sposób tworzenia własnych metrics na podstawie logów, które mogą być później używane w monitoringu i alertach. Monitorowanie metrics z wielu projektów jest również dostępne dzięki użyciu scoping projects.

Screenshot of GCP Metrics Explorer showing a line chart with metrics for Cloud Function executions and filter options on the left panel.

Log based metrics
Logi mogą być używane do tworzenia counters, distributions lub Boolean metrics. Na początku najbardziej przydatne mogą być pierwsze dwa, które mogą być używane do:

  • liczenia liczby logów spełniających określony warunek lub distribution, np. liczby uruchomionych jobs
  • śledzenia czasu wykonania job i jego historycznych distributions

Tworzenie metrics umożliwia również dodawanie labels do metrics, jednak należy to robić ostrożnie, ponieważ storage może szybko rosnąć, a co za tym idzie, również koszt. Poniżej znajduje się przykład log-based metric liczącej komunikaty traceback Cloud Function (błędy).

Warto zauważyć:

  • metrics nie mogą być obliczane dla historycznych logów
  • nowe metrics są widoczne od razu w metrics explorer, ale mogą być nieaktywne przez pewien czas, dopóki nowe logi spełniające warunki metric nie zostaną przetworzone

Monitoring z GCP
GCP umożliwia monitorowanie aplikacji na wiele sposobów, używając Cloud Monitoring lub Error Reporting services. Są one niezwykle przydatne i mogą być używane oddzielnie, w zależności od przypadku użycia.

Screenshot of GCP interface for creating log-based metrics, showing options for metric type, details, filter selection, and label configuration.

Cloud MonitoringCloud Monitoring umożliwia zbieranie i monitorowanie GCP metrics, które później mogą być przeglądane za pomocą dashboards. Metrics mogą być analizowane oddzielnie, w grupach lub nawet dla serwisów poprzez zdefiniowane SLO (Service Level Objective). Serwisy mogą być dodawane ręcznie, jeśli nie zostaną wykryte automatycznie.

Screenshot of a GCP dashboard showing a stacked area chart for log-based metrics, with filter options and chart configuration settings on the left.

GCP AlertingGCP Alerting to potężna funkcja, która pomaga proaktywnie monitorować aplikacje i systemy poprzez ustawianie alerting policies. Te policies powiadamiają Cię, gdy zostaną spełnione określone warunki, takie jak nietypowe wartości metric lub brakujące metrics, zapewniając, że możesz rozwiązywać problemy, zanim się nasilą.

Screenshot of GCP alerting setup interface showing steps to configure an alert policy, including metric selection, conditions, and notification settings.

Screenshot of GCP interface for configuring an alerting policy, showing steps to set alert triggers, notification channels, and finalize the alert.

Po utworzeniu, gdy wystąpi problem, otrzymasz wiadomość e-mail jak poniżej.

Screenshot of an email notification from GCP alerting system, showing details of a triggered alert for a Cloud Function error count metric.

Możesz także przejść do alerty/incydentów i łatwo przejść do odpowiednich dzienników związanych z problemem:

Screenshot of GCP incident details page showing incident metrics, timeline, and related logs for a triggered alert in the monitoring system.

Sprawdzanie czasu pracy

Sprawdzanie czasu pracy to kolejny łatwy sposób monitorowania aplikacji. Dzięki niemu możesz zweryfikować dostępność swojej usługi. Nawet prywatne adresy IP i/lub usługi mogą być monitorowane, jednak istnieją pewne ograniczenia. W najgorszym przypadku sprawdzenie brakujących wskaźników można skonfigurować w celu wywołania alarmu. W poniższym przykładzie weryfikujemy stronę internetową naszej firmy.

Screenshot of GCP Uptime Check configuration interface showing steps to set up target, validation, and alert notification for monitoring service availability.

Jak widać po kilku minutach wszystkie kontrole przechodzą

Screenshot of GCP Uptime Checks dashboard showing the status of checks across different regions, all marked as passing successfully.

Raportowanie błędów GCP

Raportowanie błędów GCP umożliwia monitorowanie środowiska pod kątem błędów, które są automatycznie agregowane w grupy w celu łatwiejszego zarządzania. Ta funkcja pomaga szybko zidentyfikować nowe typy błędów i podejmować działania w razie potrzeby.

GCP umożliwia również monitorowanie środowiska pod kątem błędów, które później są agregowane w grupy. Pozwala to łatwo odkrywać nowe rodzaje błędów i reagować w razie potrzeby.

Screenshot of GCP Error Reporting interface showing a list of error groups with details such as error count, type, and last seen timestamp.

Warto zauważyć, że interfejs użytkownika jest przyjazny dla użytkownika i możesz przejść do dzienników aplikacji za pomocą zaledwie kilku kliknięć. Poniższy rysunek pokazuje szczegółowe informacje o grupie błędów:

Screenshot of GCP Error Reporting details page showing error group information, sample stack trace, and recent occurrences of the error.

Warto wspomnieć, że aby usługa wykrywała błędy aplikacji, dzienniki muszą zawierać ślad stosu lub być obiektem ReporteDerOrEvent.

Przyszłość inżynierii danych - trendy do obserwacji w 2025 roku

Jaka jest wiarygodność danych? Definicja i przykłady

Rozwój testowy w Pythonie przy użyciu Pytest

Share this post
Data Engineering
Daniel Miłosz
MORE POSTS BY THIS AUTHOR
Daniel Miłosz

Curious how we can support your business?

TALK TO US