Wprowadzenie do Cloud Operations Suite

1. Wprowadzenie

Last Updated: 2023-07-28

Co to jest pakiet operacyjny Google Cloud?

Google Cloud Operations Suite to platforma, na której możesz monitorować wydajność aplikacji w środowisku Google Cloud, rozwiązywać problemy z nią i ją zwiększać. Kluczowe usługi pakietu Cloud Operations Suite to Cloud Monitoring, Cloud Logging i Cloud Tracing.

Aby uzyskać ogólny przegląd operacji w Google Cloud, obejrzyj ten film.

Co utworzysz

W tym module wdrożysz przykładowy interfejs API w Google Cloud. Następnie poznasz i skonfigurujesz różne funkcje Cloud Monitoring w odniesieniu do interfejsu API.

Czego się nauczysz

  • Używanie Cloud Shell Google Cloud do wdrażania przykładowej aplikacji w Cloud Run.
  • Korzystanie z funkcji Google Cloud Monitoring, takich jak panele, alerty, kontrole dostępności, monitorowanie SLI/SLO i inne.

Czego potrzebujesz

  • najnowsza wersja Chrome (74 lub nowsza);
  • Konto Google Cloud i projekt Google Cloud

2. Konfiguracja i wymagania

Samodzielne konfigurowanie środowiska

Jeśli nie masz jeszcze konta Google (Gmail lub Google Apps), musisz je utworzyć. Zaloguj się w konsoli Google Cloud Platform ( console.cloud.google.com) i utwórz nowy projekt.

b35bf95b8bf3d5d8.png

a99b7ace416376c4.png

c20a9642aaa18d11.png

  • Nazwa projektu to wyświetlana nazwa uczestników tego projektu. Jest to ciąg znaków, który nie jest używany przez interfejsy API Google. Możesz ją zaktualizować w dowolnym momencie.
  • Identyfikator projektu musi być unikalny we wszystkich projektach Google Cloud i jest niezmienny (nie można go zmienić po ustawieniu). Konsola Cloud automatycznie generuje unikalny ciąg znaków. Zwykle nie musisz się nim przejmować. W większości modułów z instrukcjami musisz odwoływać się do identyfikatora projektu (zwykle jest on oznaczony jako PROJECT_ID). Jeśli wygenerowany identyfikator Ci się nie podoba, możesz wygenerować kolejny losowy identyfikator. Możesz też spróbować własnej nazwy i sprawdzić, czy jest dostępna. Po tym kroku nie można go zmienić i będzie obowiązywać przez cały czas trwania projektu.
  • Warto wiedzieć, że istnieje trzecia wartość, czyli numer projektu, którego używają niektóre interfejsy API. Więcej informacji o tych 3 wartościach znajdziesz w dokumentacji.

Uwaga: identyfikator projektu musi być unikalny na całym świecie. Po jego wybraniu nie może go używać nikt inny. Jesteś jedynym użytkownikiem tego identyfikatora. Nawet jeśli projekt zostanie usunięty, identyfikator nie będzie już nigdy używany.

  1. Następnie musisz włączyć płatności w konsoli Cloud, aby korzystać z zasobów i interfejsów API Google Cloud. Ukończenie tego laboratorium nie powinno wiązać się z dużymi kosztami, a nawet z żadnymi. Aby wyłączyć zasoby i uniknąć naliczania opłat po zakończeniu tego samouczka, możesz usunąć utworzone zasoby lub cały projekt. Nowi użytkownicy Google Cloud mogą skorzystać z bezpłatnego okresu próbnego, w którym mają do dyspozycji środki w wysokości 300 USD.

Konfiguracja Google Cloud Shell

Z Google Cloud i Google Cloud Trace można korzystać zdalnie na laptopie, ale w tym module użyjemy Google Cloud Shell, czyli środowiska wiersza poleceń działającego w chmurze.

Aby aktywować Cloud Shell w konsoli Cloud, kliknij Aktywuj Cloud Shell (udostępnienie środowiska i połączenie się z nim powinno zająć tylko kilka chwil).

30c26f30d17b3d46.png

Jeśli uruchamiasz Cloud Shell po raz pierwszy, zobaczysz ekran pośredni (część strony widoczna po przewinięciu) z opisem tego środowiska. W takim przypadku kliknij Dalej, a ten ekran nie będzie się już wyświetlać. Ten wyświetlany jednorazowo ekran wygląda tak:

9c92662c6a846a5c.png

Uzyskanie dostępu do środowiska Cloud Shell i połączenie się z nim powinno zająć tylko kilka chwil.

9f0e51b578fecce5.png

Ta maszyna wirtualna zawiera wszystkie potrzebne narzędzia dla programistów. Zawiera również stały katalog domowy o pojemności 5 GB i działa w Google Cloud, co znacznie zwiększa wydajność sieci i usprawnia proces uwierzytelniania. Większość zadań w tym module, a być może wszystkie, możesz wykonać w przeglądarce lub na Chromebooku.

Po połączeniu z Cloud Shell zobaczysz, że uwierzytelnianie zostało już przeprowadzone, a projekt jest już ustawiony na Twój identyfikator projektu.

Aby potwierdzić, że uwierzytelnianie zostało przeprowadzone, uruchom w Cloud Shell to polecenie:

Po połączeniu z Cloud Shell zobaczysz, że uwierzytelnianie zostało już przeprowadzone, a projekt jest już ustawiony na Twój identyfikator projektu PROJECT_ID.

gcloud auth list

Wynik polecenia

Credentialed accounts:
 - <myaccount>@<mydomain>.com (active)
gcloud config list project

Wynik polecenia

[core]
project = <PROJECT_ID>

Jeśli z jakiegoś powodu projekt nie jest ustawiony, po prostu wydaj to polecenie:

gcloud config set project <PROJECT_ID>

Cloud Shell domyślnie ustawia też niektóre zmienne środowiskowe, które mogą być przydatne podczas wykonywania kolejnych poleceń.

echo $GOOGLE_CLOUD_PROJECT

Wynik polecenia

<PROJECT_ID>

Przykładowe aplikacje

Wszystko, czego potrzebujesz do tego projektu, umieściliśmy w repozytorium Git. Repozytorium zawiera kilka przykładowych aplikacji, z których możesz wybrać dowolną do tego ćwiczenia.

Link do repozytorium Git: https://github.com/rominirani/cloud-code-sample-repository

3. Wdrażanie aplikacji interfejsu API

Czego dotyczy przykładowa aplikacja lub interfejs API?

Nasza aplikacja to prosta aplikacja Inventory API, która udostępnia punkt końcowy interfejsu API REST z kilkoma operacjami służącymi do wyświetlania listy produktów i pobierania liczby produktów w magazynie.

Po wdrożeniu interfejsu API i przy założeniu, że jest on hostowany pod adresem https://<somehost>, możemy uzyskać dostęp do jego punktów końcowych w ten sposób:

  • https://<somehost>/inventory

Wyświetli to listę wszystkich produktów z poziomami zapasów.

  • https://<somehost>/inventory/{productid}

Spowoduje to utworzenie pojedynczego rekordu z identyfikatorem produktu i poziomem zapasów dostępnych dla tego produktu.

Zwrócone dane odpowiedzi są w formacie JSON.

Przykładowe dane oraz żądanie i odpowiedź interfejsu API

Aplikacja nie jest oparta na bazie danych w backendzie, aby uprościć jej działanie. Zawiera 3 przykładowe identyfikatory produktów i ich poziomy zapasów.

Identyfikator produktu

Poziom asortymentu w magazynie

I-1

10

I-2

20

I-3

30

Przykładowe żądanie do interfejsu API i odpowiedź są widoczne poniżej:

Żądanie API

Odpowiedź interfejsu API

https://<somehost>/inventory

[ { "I-1": 10, "I-2": 20, "I-3": 30 }]

https://<somehost>/inventory/I-1

{ "productid": "I-1", "qty": 10}

https://<somehost>/inventory/I-2

{ "productid": "I-2", "qty": 20}

https://<somehost>/inventory/I-200

{ "productid": I-200, "qty": -1}

Klonowanie repozytorium

Z Google Cloud można korzystać zdalnie na laptopie, ale w tym module praktycznym będziesz używać Google Cloud Shell, czyli środowiska wiersza poleceń działającego w chmurze.

W konsoli GCP kliknij ikonę Cloud Shell na pasku narzędzi w prawym górnym rogu:

bce75f34b2c53987.png

Uzyskanie dostępu do środowiska i połączenie się z nim powinno zająć tylko kilka chwil. Po zakończeniu powinno wyświetlić się coś takiego:

f6ef2b5f13479f3a.png

Ta maszyna wirtualna zawiera wszystkie potrzebne narzędzia dla programistów. Zawiera również stały katalog domowy o pojemności 5 GB i działa w Google Cloud, co znacznie zwiększa wydajność sieci i usprawnia proces uwierzytelniania. Wszystkie zadania w tym module możesz wykonać w przeglądarce.

Konfigurowanie gcloud

W Cloud Shell ustaw identyfikator projektu i zapisz go jako zmienną PROJECT_ID.

PROJECT_ID=[YOUR-PROJECT-ID]
gcloud config set project $PROJECT_ID

Teraz uruchom to polecenie:

$ git clone https://github.com/rominirani/cloud-code-sample-repository.git 

Spowoduje to utworzenie w tym folderze folderu o nazwie cloud-code-sample-repository.

(Opcjonalnie) Uruchom aplikację w Cloud Shell

Aby uruchomić aplikację lokalnie, wykonaj te czynności:

  1. W terminalu przejdź do wersji interfejsu API w języku Python, wpisując to polecenie:
$ cd cloud-code-sample-repository
$ cd python-flask-api
  1. W terminalu wpisz to polecenie (w momencie pisania tego artykułu w Cloud Shell jest zainstalowany Python 3.9.x, więc użyjemy wersji domyślnej): Jeśli planujesz uruchomić go lokalnie na laptopie, możesz użyć Pythona 3.8 lub nowszego:
$ python app.py
  1. Aby uruchomić serwer Pythona lokalnie, możesz wykonać to polecenie.

26570f586acaeacf.png

  1. Spowoduje to uruchomienie serwera na porcie 8080, który możesz przetestować lokalnie za pomocą funkcji podglądu w przeglądarce Cloud Shell. Kliknij przycisk Podgląd w przeglądarce, jak pokazano poniżej:

675d9b3097a6209c.png

Kliknij Podejrzyj na porcie 8080.

  1. Otworzy się okno przeglądarki. Pojawi się błąd 404, ale to nic złego. Zmodyfikuj adres URL, aby po nazwie hosta zawierał tylko /inventory.

Na przykład na moim komputerze wygląda to tak:

https://8080-cs-557561579860-default.cs-asia-southeast1-yelo.cloudshell.dev/inventory

Wyświetli to listę produktów w asortymencie, jak opisano wcześniej:

ef6afb0184c58870.png

  1. Możesz teraz zatrzymać serwer, przechodząc do terminala i naciskając Ctrl-C.

Wdrażanie aplikacji

Teraz wdrożymy tę aplikację API w Cloud Run. Proces ten obejmował użycie klienta wiersza poleceń gcloud do uruchomienia polecenia wdrożenia kodu w Cloud Run.

W terminalu wpisz to polecenie gcloud:

$ gcloud run deploy --source .

Pojawi się kilka pytań (jeśli pojawi się prośba o autoryzację, wykonaj ją). Niektóre z nich znajdziesz poniżej. W zależności od konfiguracji i tego, czy w projekcie Google Cloud masz już włączone określone interfejsy API, możesz otrzymać wszystkie pytania lub tylko niektóre z nich.

  1. Nazwa usługi (python-flask-api): możesz użyć tej domyślnej nazwy lub wybrać inną, np. my-inventory-api.
  2. Interfejs API [run.googleapis.com] nie jest włączony w projekcie [project-number]. Czy chcesz włączyć i spróbować ponownie (może to potrwać kilka minut)? (y/N)? T
  3. Wybierz region: podaj numer regionu, który Cię interesuje.
  4. Interfejs API [artifactregistry.googleapis.com] nie jest włączony w projekcie [project-number]. Czy chcesz włączyć i spróbować ponownie (może to potrwać kilka minut)? (y/N)? T
  5. Wdrażanie z kodu źródłowego wymaga repozytorium Dockera w Artifact Registry do przechowywania skompilowanych kontenerów. W regionie [us-west1] zostanie utworzone repozytorium o nazwie [cloud-run-source-deploy].

Czy chcesz kontynuować (T/n)? T

  1. Zezwalać na nieuwierzytelnione wywołania [my-inventory-api] (T/N)? T

W końcu rozpocznie się proces pobierania kodu źródłowego, umieszczania go w kontenerze, przesyłania do Artifact Registry, a następnie wdrażania usługi i wersji Cloud Run. Zachowaj cierpliwość (proces może potrwać 3–4 minuty). Po jego zakończeniu zobaczysz adres URL usługi.

Przykładowe uruchomienie pokazano poniżej:

7516696ea5b3004b.png

Testowanie aplikacji

Po wdrożeniu aplikacji w Cloud Run możesz uzyskać do niej dostęp w ten sposób:

  1. Zapisz adres URL usługi z poprzedniego kroku. Na przykład w mojej konfiguracji jest to https://my-inventory-api-bt2r5243dq-uw.a.run.app. Nazwijmy go <SERVICE_URL>.
  2. Otwórz przeglądarkę i uzyskaj dostęp do tych 3 adresów URL punktów końcowych interfejsu API:
  3. <SERVICE_URL>/inventory
  4. <SERVICE_URL>/inventory/I-1
  5. <SERVICE_URL>/inventory/I-100

Powinno być zgodne ze specyfikacjami, które podaliśmy w poprzedniej sekcji z przykładowym żądaniem do interfejsu API i przykładową odpowiedzią.

Pobieranie szczegółów usługi z Cloud Run

Wdrożyliśmy naszą usługę API w Cloud Run, bezserwerowym środowisku obliczeniowym. W dowolnym momencie możemy otworzyć usługę Cloud Run w konsoli Google Cloud.

W menu głównym otwórz Cloud Run. Wyświetli się lista usług działających w Cloud Run. Powinna być widoczna wdrożona przed chwilą usługa. W zależności od wybranej nazwy powinien pojawić się ekran podobny do tego:

10d2c363241d789c.png

Aby wyświetlić szczegóły, kliknij nazwę usługi. Szczegóły próbki są widoczne poniżej:

1ec2c9e45ff1a2db.png

Zwróć uwagę na adres URL, który jest po prostu adresem URL usługi. Możesz go wpisać w przeglądarce i uzyskać dostęp do interfejsu Inventory API, który właśnie wdrożyliśmy. Możesz sprawdzić dane i inne szczegóły.

Zacznijmy od pakietu operacyjnego Google Cloud.

4. Konfigurowanie panelu

Jedną z przydatnych funkcji Cloud Monitoring są gotowe panele obejmujące wiele zasobów w Google Cloud. Dzięki temu wstępna konfiguracja Paneli informacyjnych ze standardowymi danymi jest szybka i wygodna.

Zobaczmy, jak to zrobić w przypadku usługi API, którą właśnie wdrożyliśmy w Cloud Run.

Panel niestandardowy w Usłudze

Usługa API została wdrożona w Cloud Run, więc sprawdźmy, jak skonfigurować panele informacyjne, które pomogą wizualizować różne dane, w tym opóźnienie usługi.

Najpierw w konsoli kliknij Monitorowanie → Przegląd, jak pokazano poniżej:

c51a5dda4ab72bbf.png

Sekcja Przegląd zawiera wiele elementów, które można skonfigurować w usłudze monitorowanie, takich jak panele informacyjne, alerty, kontrole dostępności itp.

2758f61f1e7f1dca.png

Na razie kliknij Panele informacyjne w menu głównym po stronie. Pojawi się ten ekran:

c9110b6f065100da.png

Kliknij BIBLIOTEKA PRÓBEK . Wyświetli się lista gotowych paneli informacyjnych, które są dostępne w Google Cloud w przypadku różnych zasobów. Przewiń listę w dół i wybierz Google Cloud Run, jak pokazano poniżej.

ddac4038d4fa91ae.png

Wyświetli się lista standardowych paneli dostępnych w Google Cloud Run. Interesuje nas to, ponieważ wdrożyliśmy naszą usługę w Cloud Run.

Zobaczysz jeden panel monitorowania Cloud Run. Kliknij link PODGLĄD, aby wyświetlić listę standardowych wykresów (rodzajów danych), które są dostępne w Cloud Run Monitoring. Aby zaimportować wszystkie te wykresy do niestandardowego panelu, kliknij IMPORT SAMPLE DASHBOARD (IMPORTUJ PRZYKŁADOWY PANEL). Wyświetli się ekran Panel z wstępnie wypełnioną nazwą, jak pokazano poniżej:

531cb8434b18193a.png

Aby wrócić, kliknij strzałkę w lewo, która znajduje się po lewej stronie nazwy panelu, w lewym górnym rogu. Spowoduje to wyświetlenie listy paneli informacyjnych, na której powinien być widoczny Nowy panel, który właśnie utworzono.

Kliknij ten link do panelu, aby monitorować wiele gotowych danych. Obejmują one m.in. czas oczekiwania, liczbę żądań i dane kontenera.

Możesz też oznaczyć dowolny panel jako ulubiony, klikając ikonę gwiazdki, jak pokazano poniżej:

fc993d1a17415550.png

Spowoduje to dodanie panelu do ekranu Przegląd w sekcji Monitorowanie, co ułatwi przechodzenie do często używanych paneli.

2e8f66e2652c55c5.png

1e1dffb5239ab110.png

Świetnie! Właśnie dodano panel niestandardowy do monitorowania usług Cloud Run. Świetnie!

5. Kontrole dostępności

W tej sekcji skonfigurujemy test dostępności wdrożonej usługi API. Publiczna kontrola dostępności może wysyłać żądania z wielu lokalizacji na całym świecie do publicznie dostępnych adresów URL lub zasobów Google Cloud, aby sprawdzić, czy zasób odpowiada.

W tym przypadku zasobem będzie usługa API wdrożona w Cloud Run. Adres URL będzie konkretnym punktem końcowym, który usługa interfejsu API udostępnia, aby wskazać stan usługi.

W przykładowym kodzie usługi API udostępniliśmy punkt końcowy /healthy, który zwraca ciąg znaków „All Izz Well”. Wystarczy więc zdefiniować kontrolę czasu działania, która będzie wysyłać żądanie do adresu https://<SERVICE_URL>/healthy i sprawdzać, czy zwracany jest ciąg znaków „All Izz Well”.

Tworzenie kanału powiadomień

Zanim utworzymy kontrolę dostępności, musimy najpierw skonfigurować kanały powiadomień. Kanał powiadomień to medium, za pomocą którego będziesz otrzymywać alerty w przypadku incydentu lub problemu z którymś z monitorowanych zasobów. Przykładem kanału powiadomień jest e-mail. W przypadku alertu otrzymasz e-maila.

Na razie skonfigurujemy kanał powiadomień e-mail i podamy nasz adres e-mail, aby otrzymywać powiadomienia o alertach, które wygeneruje nasz system i które skonfigurujemy.

Aby utworzyć kanał powiadomień, wykonaj te czynności:

W menu głównym konsoli Google Cloud wybierz Monitorowanie → Alerty, jak pokazano poniżej:

9f87859064c63b63.png

Wyświetli się strona z alertami, zasadami i innymi informacjami. Na razie u góry zobaczysz link o nazwie EDYTUJ KANAŁY POWIADOMIEŃ. Kliknij ten element.

5ab54f42e6f7b99.png

Wyświetli się lista różnych kanałów powiadomień, jak pokazano poniżej:

cd89b1ca9e1de87c.png

Znajdź sekcję E-mail i kliknij DODAJ NOWY w tym wierszu. Wyświetlą się szczegóły konfiguracji e-maili, jak pokazano poniżej:

d6ed98ffd0427fa3.png

Wpisz swój adres e-mail i wyświetlaną nazwę, jak pokazano poniżej. Kliknij ZAPISZ.

W ten sposób utworzysz kanał powiadomień e-mail. Skonfigurujmy teraz kontrolę dostępności.

Tworzenie kontroli dostępności

W menu głównym konsoli Google Cloud wybierz Monitorowanie → Kontrole dostępności. U góry zobaczysz link UTWÓRZ SPRAWDZANIE DOSTĘPNOŚCI. Kliknij ten element.

484541aec65e605e.png

Wyświetli się seria czynności, które musisz wykonać, aby skonfigurować kontrolę dostępności.

Pierwszym krokiem jest skonfigurowanie szczegółów środowiska docelowego, czyli informacji o wdrożonej usłudze Cloud Run. Wypełniony formularz znajdziesz poniżej:

4e2bb9fe022320f7.png

Poszczególne wartości można wybrać w ten sposób:

  • Protokół : HTTPS
  • Typ zasobu : wybierz usługę Cloud Run. Zwróć uwagę na inne zasoby, które obsługuje, i pamiętaj, że możesz też skonfigurować dla nich testy dostępności.
  • Usługa Cloud Run : wybierz my-inventory-api lub konkretną nazwę usługi Cloud Run.
  • Ścieżka to /healthy, ponieważ zwracamy ciąg znaków „All Izz Well” i chcemy go sprawdzić.

Aby przejść do następnego kroku, kliknij DALEJ. Następny krok to Weryfikacja odpowiedzi, jak pokazano poniżej:

a6011ac2ab3e0f10.png

Widzisz, że włączamy sprawdzanie „Dopasowywanie treści”, a następnie konfigurujemy, że odpowiedź zwrócona przez punkt końcowy /healthy będzie brzmiała „All Izz Well”. Kliknij DALEJ, aby przejść do następnego kroku, w którym skonfigurujemy alert i kanał powiadomień, na który będziemy otrzymywać alerty w przypadku niepowodzenia sprawdzania czasu działania.

d9738670efcb999f.png

W tym kroku nadaj alertowi nazwę. Wybrałem nazwę Inventory API Uptime Check failure, ale możesz wybrać dowolną nazwę. Ważne jest, aby wybrać z listy prawidłowy kanał powiadomień, który został wcześniej skonfigurowany.

W ostatnim kroku kliknij SPRAWDŹ, aby przejrzeć skonfigurowaną przez nas kontrolę dostępności.

W tym ostatnim kroku nadaj kontroli dostępności nazwę (np.Kontrola dostępności interfejsu Inventory API). Możesz też sprawdzić, czy kontrola jest prawidłowo skonfigurowana. W tym celu kliknij przycisk TEST.

80375bfab97fc313.png

Dokończ proces (kliknij przycisk UTWÓRZ po lewej stronie). Google Cloud wyśle do sond sprawdzających czas działania skonfigurowanych w różnych regionach instrukcję pingowania adresu URL, a odpowiedzi zostaną zebrane. Po kilku minutach otwórz sekcję Monitorowanie → Kontrole dostępności. Powinny się w niej wyświetlać zielone sygnały, które wskazują, że adres URL był dostępny z różnych sond.

df17555ddbee1127.png

Jeśli którykolwiek z sond przez pewien czas (który można skonfigurować) nie działa, otrzymasz alert na skonfigurowany przez nas kanał e-mail.

To byłoby na tyle, jeśli chodzi o konfigurowanie kontroli dostępności. Świetnie!

6. Metrics Explorer

Cloud Monitoring udostępnia tysiące standardowych wskaźników z wielu usług Google Cloud. Możesz je analizować, wysyłać do nich zapytania, przekształcać w wykresy, dodawać do Paneli informacyjnych, konfigurować dla nich Alerty Google i wykonywać inne działania.

W tej sekcji chcemy:

  1. Dowiedz się, jak analizować różne dane, a potem przyjrzymy się konkretnym danym (opóźnieniu) dotyczącym naszej usługi API.
  2. Przekształć te dane w wykres i panel niestandardowy, aby móc w każdej chwili wizualizować te dane.

Sprawdzanie wskaźnika czasu oczekiwania w przypadku usługi Inventory API

W menu głównym konsoli Google Cloud wybierz Monitorowanie → Metrics Explorer. Przekierujemy Cię na ekran narzędzia Metrics Explorer. Kliknij WYBIERZ RODZAJ DANYCH. Możesz teraz przeglądać kilka aktywnych zasobów, dla których wygenerowano dane.

Ponieważ mamy do czynienia z usługami Cloud Run, kliknij kolejno Wersja Cloud Run, kategorię i konkretny wskaźnik o nazwie Opóźnienie żądania, jak pokazano poniżej:

7609d8156c8f1384.png

Kliknij Zastosuj. Na wykresie pojawi się opóźnienie żądania. W ustawieniach wyświetlania po prawej stronie możesz zmienić typ widżetu na wykres liniowy, jak pokazano poniżej:

46086ac0a8eaf3d7.png

Spowoduje to wyświetlenie wykresu czasu oczekiwania, jak pokazano poniżej:

ad97f749eeacaa95.png

Tworzenie wykresu i panelu niestandardowego

Zapiszmy ten wykres. Kliknij Zapisz wykres i użyj szczegółów podanych poniżej:

35d1788d5f0cb3c4.png

Pamiętaj, że tworzymy nowy panel, a nie zapisujemy go w istniejącym panelu. Kliknij przycisk ZAPISZ. Spowoduje to dodanie nowo utworzonego panelu do listy paneli, jak pokazano poniżej:

c9cdcd63d5823abd.png

Kliknij utworzony przez nas panel, aby wyświetlić szczegóły.

27354d8310d8a2d7.png

To kończy sekcję poświęconą analizowaniu różnych danych za pomocą Metrics Explorer i tworzeniu niestandardowych paneli.

7. Cloud Logging

W tej sekcji przyjrzymy się usłudze Cloud Logging. Cloud Logging ma interfejs Eksploratora logów, który pomaga poruszać się po logach generowanych przez różne usługi Google i Twoje aplikacje oraz je szczegółowo analizować.

W tej sekcji dowiesz się więcej o eksploratorze logów i zasymulujesz kilka wiadomości logu, które następnie możesz wyszukać i przekształcić w dane za pomocą funkcji danych opartych na logach.

Eksplorator logów

Eksplorator logów możesz otworzyć, wybierając Logowanie → Eksplorator logów w głównej konsoli Google Cloud, jak pokazano poniżej:

df05f5b33fd5695a.png

Wyświetli się interfejs logów, w którym możesz wybierać i odznaczać różne zasoby (projekt, zasób Google Cloud, nazwy usług itp.) oraz poziomy logów, aby w razie potrzeby filtrować wiadomości logów.

e7fa15bcf73f3805.png

Powyżej znajduje się lista logów dotyczących wersji Cloud Run, czyli wdrożonych przez nas usług Cloud Run. Zobaczysz kilka żądań kontroli dostępności, które docierają do skonfigurowanego przez nas punktu końcowego /healthy.

Wyszukiwanie ostrzeżeń

Symuluj kilka nieprawidłowych żądań do usługi Inventory Service, podając identyfikatory produktów, które nie są równe I-1, I-2 ani I-3. Na przykład nieprawidłowe żądanie to:

https://<SERVICE_URL>/inventory/I-999

Będziemy teraz wyszukiwać wszystkie ostrzeżenia wygenerowane przez nasz interfejs API, gdy w zapytaniu podano nieprawidłowy identyfikator produktu.

W polu Zapytanie wstaw te parametry zapytania:

resource.type="cloud_run_revision"

textPayload =~ "Received inventory request for incorrect productid"

Powinna wyglądać mniej więcej tak:

b3ee512a0c9c5c7b.png

Kliknij Uruchom zapytanie. Wyświetlą się wszystkie przesłane prośby i te, których dotyczy ten problem.

5fdbd7c23bf4694f.png

Wskaźniki oparte na logach

Utwórzmy niestandardowe dane logu, aby śledzić te błędy. Chcielibyśmy się dowiedzieć, czy występuje znaczna liczba połączeń z nieprawidłowymi identyfikatorami produktów.

Aby przekształcić powyższe dane w wskaźnik błędu, kliknij przycisk Utwórz wskaźnik w eksploratorze logów.

fa9a5e04922aa412.png

Spowoduje to wyświetlenie formularza tworzenia definicji danych. Wybierz wskaźnik licznika i wpisz szczegóły nazwy wskaźnika (inventory_lookup_errors) oraz opisu, jak pokazano poniżej, a następnie kliknij Utwórz wskaźnik.

70b5719b472d4d02.png

Spowoduje to utworzenie danych licznika. Powinien wyświetlić się komunikat podobny do tego poniżej:

ab9058028185e4d5.png

W menu głównym kliknij Logowanie → Wskaźniki oparte na logach. Na liście wskaźników zdefiniowanych przez użytkownika powinny się pojawić zdefiniowane przez Ciebie dane niestandardowe, jak pokazano poniżej:

7d186e90559cf8e1.png

Na końcu tego wpisu znajdziesz 3 pionowe kropki. Kliknij je, aby zobaczyć operacje, które możesz wykonać na tych niestandardowych danych. Lista powinna być podobna do tej poniżej. Kliknij opcję Wyświetl w narzędziu Metrics Explorer.

7586f0789a0bdb41.png

Powinno to spowodować przejście do Metrics Explorer, o którym pisaliśmy w poprzedniej sekcji. Różnica polega na tym, że teraz jest on wstępnie wypełniony.

7ee7403d0639ce25.png

Kliknij Zapisz wykres. W przypadku opcji zapisywania wykresu użyj tych wartości:

9009da45f76eb4c5.png

Spowoduje to utworzenie nowego panelu informacyjnego, w którym możesz zobaczyć błędy wyszukiwania asortymentu. Będzie on dostępny na liście paneli informacyjnych.

201ed66957cb64f9.png

Świetnie! Na podstawie logów utworzyliśmy dane niestandardowe, które przekształciliśmy w wykres w panelu niestandardowym. Pomoże nam to śledzić liczbę połączeń, w których używane są nieprawidłowe identyfikatory produktów.

8. Zasady tworzenia alertów

W tej sekcji użyjemy utworzonych przez nas danych niestandardowych i będziemy monitorować ich dane pod kątem progu. Jeśli liczba błędów przekroczy określony próg, wygenerujemy alert. Innymi słowy, skonfigurujemy zasadę tworzenia alertów.

Tworzenie zasady tworzenia alertów

Przejdźmy do panelu wyszukiwania zasobów reklamowych. Spowoduje to wyświetlenie utworzonego przez nas wykresu z błędami wyszukiwania zasobów reklamowych, jak pokazano poniżej:

3591a1dd91a8b9fd.png

Spowoduje to wyświetlenie bieżących danych wskaźnika. Najpierw edytujmy dane, jak pokazano poniżej (kliknij przycisk Edytuj):

5e76fc20d8387984.png

Spowoduje to wyświetlenie szczegółów wskaźnika. Zmienimy wykres tak, aby zamiast odsetka błędów pokazywał ich sumę, czyli liczbę. Pole do zmiany jest widoczne poniżej:

65ccd1eaca607831.png

W prawym górnym rogu kliknij ZASTOSUJ. Wróć do ekranu Dane, ale tym razem zobaczysz łączną liczbę błędów w okresie wyrównania w porównaniu z częstotliwością błędów.

Utworzymy zasadę tworzenia alertów, która będzie nas powiadamiać, gdy liczba błędów przekroczy próg. Kliknij 3 kropki w prawym górnym rogu wykresu i z listy opcji, jak pokazano powyżej, kliknij Przekształć w wykres alertów.

cc9eec48b9bfbc92.png

Powinien pojawić się ekran podobny do tego poniżej:

6202ad1e88679a78.png

Kliknij Dalej. Pojawi się wartość progu , którą możemy ustawić. Przykładowy próg, który tu przyjęliśmy, to 5, ale możesz wybrać dowolną wartość.

734f809cc802ab78.png

Kliknij DALEJ, aby wyświetlić formularz powiadomień.

f2d84fb85c2520cb.png

Jako kanał powiadomień wybraliśmy utworzony wcześniej kanał e-mail. Możesz uzupełnić inne szczegóły, takie jak Dokumentacja (która zostanie udostępniona w ramach zgłoszonego alertu). Aby zobaczyć podsumowanie i zakończyć proces, kliknij DALEJ.

c670b29da70c4655.png

Po utworzeniu zasady tworzenia alertów będzie ona widoczna na liście zasad tworzenia alertów, jak pokazano poniżej. Listę zasad tworzenia alertów możesz wyświetlić, klikając Monitorowanie → Alerty. Na stronie wyszukaj sekcję Zasady, aby wyświetlić listę zasad, które zostały do tej pory skonfigurowane.

154da627959c54f3.png

Świetnie! Skonfigurowano niestandardowe zasady alertów, które będą Cię powiadamiać w przypadku zwiększonej liczby błędów podczas wyszukiwania w interfejsie Inventory API.

9. Monitorowanie usług (opcjonalnie)

W tej sekcji skonfigurujemy wskaźniki SLI/SLO dla naszych usług zgodnie z zasadami Site Reliability Engineering (SRE). Cloud Monitoring ułatwia Ci pracę, automatycznie wykrywając usługi wdrożone w Cloud Run i obliczając kluczowe wskaźniki SLI, takie jak dostępność i opóźnienie, a także obliczenia budżetu błędów.

Skonfigurujmy docelowy poziom usług dotyczący czasu oczekiwania w przypadku usługi API.

Konfigurowanie docelowego poziomu usług dotyczącego czasu oczekiwania w przypadku usługi Inventory Service

W menu głównym w Cloud Console kliknij Monitorowanie → Usługi. Wyświetli się lista usług skonfigurowanych na potrzeby monitorowania usług.

Obecnie nie mamy żadnych usług skonfigurowanych do monitorowania wskaźników SLI/SLO, więc lista jest pusta. Aby najpierw zdefiniować lub zidentyfikować usługę, kliknij u góry link ZDEFINIUJ USŁUGĘ.

42d14515a481213.png

Spowoduje to automatyczne wykrycie usług, które mogą być monitorowane pod kątem docelowego poziomu usług. Może wykrywać usługi Cloud Run, więc nasza usługa Inventory API wdrożona w Cloud Run będzie widoczna na liście.

522aaba719f85c54.png

Wyświetlana nazwa może być inna i zależy od tego, co zostało wybrane podczas wdrażania usługi w Cloud Run. Kliknij przycisk PRZEŚLIJ. Pojawi się ekran widoczny poniżej:

eca08010ab6858a9.png

Możesz kliknąć UTWÓRZ SLO. Teraz możesz wybrać jeden z automatycznie obliczonych wskaźników SLI.

556e49b10d22e5ac.png

Na początek wybierzemy SLI opóźnienia. Kliknij DALEJ. Następnie zobaczysz ekran z informacjami o bieżącej wydajności tej usługi i typowym czasie oczekiwania.

a9cc6f6778c13b52.png

Wpisujemy wartość progu, czyli 300 ms, którą chcemy osiągnąć. Jeśli chcesz, możesz wybrać inną wartość, ale pamiętaj, że wpłynie to na zdefiniowany przez Ciebie budżet błędu. Kliknij DALEJ.

Docelowy poziom usług (okno docelowe i okno pomiarowe) ustawiamy w ten sposób:

e1fc336d4191c08e.png

Oznacza to, że okno pomiarowe jest wybierane jako okno typu „Przesuwne” i jest mierzone w ciągu 7 dni. Podobnie w przypadku wartości docelowej wybraliśmy cel 90%. Chcemy przez to powiedzieć, że 90% żądań do usługi API powinno być realizowanych w ciągu 300 ms, a pomiarów należy dokonywać przez 7 dni.

Kliknij Dalej. Wyświetli się ekran podsumowania, który możesz potwierdzić, klikając przycisk UPDATE SLO (ZAKTUALIZUJ SLO).

f2540173d9f4a4b7.png

Spowoduje to zapisanie definicji docelowego poziomu usług, a budżet błędów zostanie obliczony automatycznie.

76393df0e189104.png

Oto kilka czynności, które możesz wykonać:

  1. Wykonaj wiele wywołań interfejsu API i sprawdź wydajność usługi oraz jej wpływ na pozostały budżet błędów.
  2. Zmodyfikuj kod źródłowy, aby losowo wprowadzać dodatkowe opóźnienie (uśpienie) w niektórych wywołaniach. Spowoduje to zwiększenie opóźnienia w przypadku wielu wywołań i powinno mieć negatywny wpływ na budżet błędów.

10. Gratulacje

Gratulacje! Udało Ci się wdrożyć przykładową aplikację w Google Cloud i dowiedzieć się, jak monitorować jej stan za pomocą pakietu operacyjnego Google Cloud.

Omówione zagadnienia

  • Wdrażanie usługi w Google Cloud Run.
  • Konfigurowanie panelu usługi Google Cloud Run.
  • kontrole dostępności,
  • Konfigurowanie niestandardowych danych z logów oraz panelu lub wykresu na ich podstawie.
  • Poznawanie narzędzia Metrics Explorer i konfigurowanie panelu lub wykresu.
  • Konfigurowanie zasad tworzenia alertów.
  • Konfigurowanie wskaźnika SLI/docelowego poziomu usług na potrzeby monitorowania usług w Google Cloud.

Uwaga: jeśli wykonasz ćwiczenia w ramach tego przewodnika, korzystając z własnego konta i projektu w chmurze Google Cloud, przydzielone zasoby mogą nadal generować opłaty. Po zakończeniu modułu usuń projekt i zasoby.

Co dalej?

Aby dowiedzieć się więcej o pakiecie operacyjnym Google Cloud, zapoznaj się z tym kursem Cloud Skills Boost.

Więcej informacji