1. Wprowadzenie
Ostatnia aktualizacja: 28.07.2023 r.
Czym jest Google Cloud Operations Suite?
Google Cloud Operations Suite to platforma, na której możesz monitorować i poprawiać wydajność aplikacji w środowisku Google Cloud, a także rozwiązywać związane z nimi problemy. Najważniejsze filary pakietu Cloud Operations to Cloud Monitoring, Cloud Logging i Cloud Tracking.
Obejrzyj ten film, aby uzyskać ogólne informacje na temat Google Cloud Operations.
Co utworzysz
W ramach tego ćwiczenia w Codelabs wdrożysz przykładowy interfejs API w Google Cloud. Następnie poznasz i skonfigurujesz wiele funkcji Cloud Monitoring w porównaniu z interfejsem API.
Czego się nauczysz
- Wykorzystanie Cloud Shell Google Cloud do wdrożenia przykładowej aplikacji w Cloud Run.
- korzystanie z funkcji Google Cloud Monitoring, takich jak panele, alerty, kontrole dostępności, monitorowanie SLI/SLO i nie tylko.
Czego potrzebujesz
- najnowszą wersję Chrome (74 lub nowszą),
- konto Google Cloud i projekt Google Cloud;
2. Konfiguracja i wymagania
Samodzielne konfigurowanie środowiska
Jeśli nie masz jeszcze konta Google (w Gmailu lub Google Apps), musisz je utworzyć. Zaloguj się w konsoli Google Cloud Platform ( console.cloud.google.com) i utwórz nowy projekt.
- Nazwa projektu jest wyświetlaną nazwą uczestników tego projektu. To ciąg znaków, który nie jest używany przez interfejsy API Google. W każdej chwili możesz ją zmienić.
- Identyfikator projektu musi być unikalny we wszystkich projektach Google Cloud i nie można go zmienić (nie można go zmienić po ustawieniu). Cloud Console automatycznie wygeneruje unikalny ciąg znaków. zwykle nieważne, co ona jest. W większości ćwiczeń z programowania konieczne jest odwołanie się do identyfikatora projektu (zwykle jest to PROJECT_ID). Jeśli nie podoba Ci się wygenerowany identyfikator, możesz wygenerować kolejny losowy. Możesz też spróbować własnych sił i sprawdzić, czy jest dostępna. Potem nie będzie można go zmienić. Pozostanie ono przez czas trwania projektu.
- Jest jeszcze trzecia wartość, czyli numer projektu używany przez niektóre interfejsy API. Więcej informacji o wszystkich 3 wartościach znajdziesz w dokumentacji.
Uwaga: identyfikator projektu musi być globalnie unikalny i po wybraniu nie może być używany przez nikogo innego. Jesteś jedynym użytkownikiem tego identyfikatora. Nawet po usunięciu projektu identyfikatora nie można użyć ponownie
- Następnie musisz włączyć płatności w Cloud Console, aby korzystać z zasobów Cloud/interfejsów API. Ukończenie tego ćwiczenia z programowania nie powinno kosztować zbyt wiele. Aby wyłączyć zasoby, aby nie naliczać opłat po zakończeniu tego samouczka, możesz usunąć utworzone zasoby lub cały projekt. Nowi użytkownicy Google Cloud mogą skorzystać z programu bezpłatnego okresu próbnego o wartości 300 USD.
Konfiguracja Google Cloud Shell
Usługi Google Cloud i Google Cloud Trace można obsługiwać zdalnie z poziomu laptopa, ale w tym ćwiczeniu z programowania wykorzystamy Google Cloud Shell – środowisko wiersza poleceń działające w chmurze.
Aby aktywować Cloud Shell z poziomu konsoli Google Cloud, kliknij Aktywuj Cloud Shell (udostępnienie i połączenie ze środowiskiem powinno zająć tylko kilka chwil).
Jeśli dopiero zaczynasz korzystać z Cloud Shell, wyświetli się ekran pośredni (w części strony widocznej po przewinięciu) z opisem tej funkcji. W takiej sytuacji kliknij przycisk Kontynuuj (nie zobaczysz go więcej). Tak wygląda ten jednorazowy ekran:
Uzyskanie dostępu do Cloud Shell i połączenie się z nim powinno zająć tylko kilka chwil.
Ta maszyna wirtualna ma wszystkie potrzebne narzędzia dla programistów. Zawiera stały katalog domowy o pojemności 5 GB i działa w Google Cloud, co znacznie zwiększa wydajność sieci i uwierzytelnianie. Większość czynności z tego ćwiczenia z programowania można wykonać w przeglądarce lub na Chromebooku.
Po nawiązaniu połączenia z Cloud Shell powinno pojawić się informacja, że użytkownik jest już uwierzytelniony i że projekt jest już ustawiony na identyfikator Twojego projektu.
Uruchom to polecenie w Cloud Shell, aby potwierdzić, że jesteś uwierzytelniony:
Po nawiązaniu połączenia z Cloud Shell powinno pojawić się potwierdzenie, że użytkownik jest już uwierzytelniony, a projekt jest już ustawiony na PROJECT_ID
.
gcloud auth list
Dane wyjściowe polecenia
Credentialed accounts: - <myaccount>@<mydomain>.com (active)
gcloud config list project
Dane wyjściowe polecenia
[core] project = <PROJECT_ID>
Jeśli z jakiegoś powodu projekt nie jest skonfigurowany, uruchom po prostu to polecenie:
gcloud config set project <PROJECT_ID>
Cloud Shell ustawia też domyślnie niektóre zmienne środowiskowe, które mogą być przydatne podczas uruchamiania kolejnych poleceń.
echo $GOOGLE_CLOUD_PROJECT
Dane wyjściowe polecenia
<PROJECT_ID>
Przykładowe aplikacje
Wszystko, czego potrzebujesz do tego projektu, umieściliśmy w repozytorium Git. Repozytorium zawiera kilka przykładowych aplikacji, które możesz wykorzystać w tym ćwiczeniu.
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 w celu wyświetlania listy elementów asortymentu i pobierania określonej liczby zasobów.
Po wdrożeniu interfejsu API, zakładając, że jest on hostowany pod adresem https://<somehost>, możemy uzyskać dostęp do punktów końcowych interfejsu API w następujący sposób:
- https://<somehost>/inventory
Spowoduje to wyświetlenie listy wszystkich produktów, które mają dostępne poziomy asortymentu.
- https://<somehost>/inventory/{productid}
Dzięki temu uzyskasz pojedynczy rekord z identyfikatorem produktu oraz dostępnym poziomem asortymentu dla tego produktu.
Zwracane dane odpowiedzi mają format JSON.
Przykładowe dane i żądanie/odpowiedź interfejsu API
Dla uproszczenia aplikacja nie korzysta z bazy danych w backendzie. Zawiera on 3 przykładowe identyfikatory produktów i ich dostępne poziomy asortymentu.
Identyfikator produktu | Stan asortymentu |
I-1 | 10 |
I-2 | 20 |
I-3 | 30 |
Przykładowe żądanie i odpowiedź do interfejsu API znajdziesz poniżej:
Żądanie do interfejsu 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
Google Cloud można obsługiwać zdalnie z laptopa, ale w ramach tego ćwiczenia z programowania wykorzystasz Google Cloud Shell – środowisko wiersza poleceń działające w chmurze.
W konsoli GCP kliknij ikonę Cloud Shell na górnym pasku narzędzi:
Uzyskanie dostępu do środowiska i połączenie się z nim powinno zająć tylko kilka chwil. Po zakończeniu powinno pojawić się coś takiego:
Ta maszyna wirtualna ma wszystkie potrzebne narzędzia dla programistów. Zawiera stały katalog domowy o pojemności 5 GB i działa w Google Cloud, znacząco zwiększając wydajność sieci i uwierzytelnianie. Wszystkie zadania w tym module możesz wykonać w przeglądarce.
Skonfiguruj 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 nim folderu o nazwie cloud-code-sample-repository.
(Opcjonalnie) Uruchamianie aplikacji w Cloud Shell
Aby uruchomić aplikację lokalnie, wykonaj te czynności:
- W terminalu przejdź do wersji interfejsu API w języku Python za pomocą tego polecenia:
$ cd cloud-code-sample-repository
$ cd python-flask-api
- W terminalu wpisz to polecenie (w chwili pisania do Cloud Shell zainstalowany jest Python 3.9.x i będziemy korzystać z wersji domyślnej. Jeśli chcesz uruchomić ją lokalnie na laptopie, możesz użyć Pythona 3.8 lub nowszego:
$ python app.py
- Aby lokalnie uruchomić serwer Pythona, możesz uruchomić poniższe polecenie.
- Spowoduje to uruchomienie serwera na porcie 8080 i możliwość przetestowania go lokalnie za pomocą funkcji podglądu w przeglądarce Cloud Shell. Kliknij przycisk Podgląd w przeglądarce, jak pokazano poniżej:
Kliknij Podgląd na porcie 8080.
- Otworzy się okno przeglądarki. Wyświetli się błąd 404, a to nie problem. Zmień adres URL tak, aby po nazwie hosta pojawiał się tylko ciąg /inventory.
Na przykład: na moim komputerze wygląda to tak:
https://8080-cs-557561579860-default.cs-asia-southeast1-yelo.cloudshell.dev/inventory
Pojawi się lista pozycji asortymentu, jak wyjaśniliśmy wcześniej:
- Aby zatrzymać serwer, przejdź do terminala i naciśnij Ctrl-C.
Wdrażanie aplikacji
Teraz wdrożymy tę aplikację API w Cloud Run. Proces wdrażania kodu w Cloud Run wymagał użycia klienta wiersza poleceń glcoud do uruchomienia polecenia.
W terminalu wpisz to polecenie gcloud:
$ gcloud run deploy --source .
Pojawi się kilka pytań (jeśli pojawi się prośba o autoryzację), niektóre z nich znajdziesz poniżej. Odpowiedzi na wszystkie pytania mogą się nie pojawić. Zależy to od konfiguracji i tego, czy w swoim projekcie Google Cloud masz już włączone określone interfejsy API.
- Nazwa usługi (python-flask-api): użyj tej wartości domyślnej lub wybierz coś w rodzaju my-inventory-api.
- Interfejs API [run.googleapis.com] nie został włączony w projekcie [numer-projektu]. Czy chcesz włączyć tę funkcję i spróbować ponownie (zajmie to kilka minut)? (y/N)? T
- Określ region: podaj numer i wybierz region.
- W projekcie [numer-projektu] nie włączono interfejsu API [artifactregister.googleapis.com]. Czy chcesz włączyć tę funkcję i spróbować ponownie (zajmie to kilka minut)? (y/N)? T
- Wdrożenie ze źródła wymaga repozytorium Dockera w Artifact Registry do przechowywania utworzonych kontenerów. Zostanie utworzone repozytorium o nazwie [cloud-run-source-deploy] w regionie [us-west1].
Czy chcesz kontynuować (T/n)? T
- Zezwolić na nieuwierzytelnione wywołania [my-inventory-api] (y/N)? T
W końcu spowoduje to uruchomienie procesu pobierania kodu źródłowego, skonteneryzowania go, wypchnięcia do Artifact Registry, a następnie wdrożenia usługi i wersji Cloud Run. Prosimy o cierpliwość (może to potrwać 3–4 minuty). Proces powinien się zakończyć wraz z wyświetlanym adresem URL usługi.
Przykładowe uruchomienie:
Testowanie aplikacji
Po wdrożeniu aplikacji w Cloud Run możesz uzyskać dostęp do aplikacji API w ten sposób:
- Zapisz adres URL usługi z poprzedniego kroku. Na przykład: w mojej konfiguracji jest on wyświetlany jako
https://my-inventory-api-bt2r5243dq-uw.a.run.app
. Nazwijmy go <SERVICE_URL>. - Otwórz przeglądarkę i otwórz te 3 adresy URL punktów końcowych interfejsu API:
- <SERVICE_URL>/inventory
- <URL_USŁUGI>/inventory/I-1
- <URL_USŁUGI>/inventory/I-100
Powinna ona być zgodna ze specyfikacją, którą przedstawiliśmy we wcześniejszej sekcji z przykładowymi żądaniami i odpowiedziami do interfejsu API.
Pobieranie szczegółów usługi z Cloud Run
Wdrożyliśmy naszą usługę API w Cloud Run – bezserwerowym środowisku obliczeniowym. Usługę Cloud Run możemy w każdej chwili otworzyć w konsoli Google Cloud.
W menu głównym otwórz Cloud Run. Spowoduje to wyświetlenie listy usług uruchomionych w Cloud Run. Powinna być widoczna wdrożona przed chwilą usługa. W zależności od wybranej nazwy powinna wyświetlić się nazwa podobna do tej:
Kliknij nazwę usługi, aby wyświetlić szczegóły. Szczegóły przykładu znajdziesz poniżej:
Zwróć uwagę na adres URL, który jest tylko adresem URL usługi, który możesz wpisać w przeglądarce i uzyskać dostęp do wdrożonego właśnie interfejsu Inventory API. Znajdziesz je w sekcji Dane i inne szczegóły.
Zacznijmy od Google Cloud Operations Suite.
4. Skonfiguruj panel
Jedną z wygodnych funkcji dostępnych w Cloud Monitoring są gotowe panele informacyjne (OOTB) obejmujące różne zasoby Google Cloud. Dzięki temu wstępna konfiguracja paneli ze standardowymi danymi jest szybka i wygodna.
Zobaczmy, jak to zrobić w usłudze API, którą właśnie wdrożyliśmy w Cloud Run.
Niestandardowy panel naszej usługi
Ponieważ wdrożyliśmy w Cloud Run naszą usługę interfejsu API, dowiedz się, jak skonfigurować panele ułatwiające wizualizację różnych wskaźników, z których część obejmuje czas oczekiwania na usługę.
Najpierw w konsoli wybierz Monitorowanie → Przegląd, jak pokazano poniżej:
Na stronie „Przegląd” znajdują się różne elementy, które można skonfigurować w usłudze Monitorowanie, na przykład panele, alerty, kontrole dostępności itp.
Kliknij Panele w bocznym menu głównym. Wyświetli się ten ekran:
Kliknij BIBLIOTEK PRZYKŁAD . Spowoduje to wyświetlenie listy gotowych paneli (OOTB) dostępnych w Google Cloud w wielu zasobach. Przewiń listę i wybierz Google Cloud Run, jak pokazano poniżej.
Spowoduje to wyświetlenie listy standardowych paneli dostępnych w Google Cloud Run. Interesuje nas to, ponieważ wdrożyliśmy naszą usługę w Cloud Run.
Zobaczysz jeden panel dla Cloud Run Monitoring. Kliknij link WERSJA TESTOWA, aby wyświetlić listę standardowych wykresów (danych) dostępnych w Cloud Run Monitoring. Aby zaimportować wszystkie te wykresy do panelu niestandardowego, wystarczy kliknąć IMPORTUJ PULPIT NA PRZYKŁAD. Spowoduje to wyświetlenie ekranu panelu ze wstępnie wpisaną nazwą widoczną poniżej:
Możesz do niego wrócić , klikając strzałkę w lewo, która znajduje się po lewej stronie nazwy panelu w prawym górnym rogu. Spowoduje to wyświetlenie listy paneli, z których powinien być widoczny nowo utworzony panel.
Po kliknięciu linku Panel możesz monitorować wiele dostępnych wskaźników. Do tych danych należą m.in. Czas oczekiwania, Liczba żądań i Kontener.
Możesz także oznaczyć dowolny panel informacyjny jako ulubiony, wybierając po prostu ikonę gwiazdki w następujący sposób:
Spowoduje to dodanie panelu do ekranu Przegląd na stronie Monitorowanie i umożliwia łatwe przechodzenie do często używanych paneli.
Fantastycznie! Dodajesz niestandardowy panel do monitorowania usług Cloud Run. Brawo!
5. Kontrole dostępności
W tej sekcji skonfigurujemy kontrolę dostępności wdrożonej przez nas usługi interfejsu 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 w celu sprawdzenia, czy zasób odpowiada.
W tym przypadku zasobem będzie usługa API, którą wdrożyliśmy w Cloud Run. Adres URL będzie konkretnym punktem końcowym, który jest udostępniany przez usługę API w celu wskazania stanu usługi.
W przykładowym kodzie usługi API ujawniliśmy punkt końcowy /healthy, który zwraca wartość ciągu znaków „All Izz Well”. Wystarczy, że zdefiniować kontrolę dostępności, która wykonuje działanie w rodzaju https://<SERVICE_URL>/healthy i sprawdzić, czy ciąg https://<SERVICE_URL>/healthy jest zwracany.
Tworzenie kanału powiadomień
Przed utworzeniem kontroli dostępności należy skonfigurować kanały powiadomień. Kanał powiadomień to medium, dzięki któremu będziesz otrzymywać alerty w przypadku wystąpienia incydentu lub problemu z którymkolwiek z naszych monitorowanych zasobów. Przykładem kanału powiadomień jest E-mail. Będziesz otrzymywać e-maile w razie wystąpienia alertu itp.
Na razie skonfigurujemy kanał powiadomień e-mail, podając w nim nasz adres e-mail, tak abyśmy mogli otrzymywać powiadomienia w przypadku alertów, które zostaną wygenerowane przez nasz system i które skonfigurujemy.
Aby utworzyć kanał powiadomień, wykonaj następujące czynności:
W menu głównym konsoli Google Cloud wybierz Monitorowanie → Alerty, jak pokazano poniżej:
Spowoduje to wyświetlenie strony z alertami, zasadami i innymi informacjami. Na razie będziesz widzieć u góry link EDYTUJ KANAŁY POWIADOMIEŃ. Kliknij tę opcję.
Pojawi się lista różnych kanałów powiadomień, jak na przykładzie poniżej:
Znajdź sekcję E-mail i w odpowiadającym mu wierszu kliknij DODAJ NOWY. Zostaną wyświetlone szczegóły konfiguracji poczty e-mail, jak pokazano poniżej:
Podaj swój adres e-mail oraz wyświetlaną nazwę w podany niżej sposób. Kliknij ZAPISZ.
Na tym kończy się tworzenie kanału powiadomień e-mail. Skonfigurujmy teraz kontrolę dostępności.
Tworzę kontrolę dostępności
W menu głównym konsoli Google Cloud wybierz Monitorowanie → Kontrole dostępności. U góry zobaczysz link UTWÓRZ KONTROLĘ DOSTĘPU. Kliknij tę opcję.
Wyświetli się seria kroków, które musisz wykonać, aby skonfigurować kontrolę dostępności.
Pierwszym krokiem jest skonfigurowanie szczegółów miejsca docelowego, czyli informacji o wdrożonej przez nas usłudze Cloud Run. Wypełniony formularz znajdziesz poniżej:
Dostępne wartości:
- Protokół : HTTPS
- Typ zasobu : wybierz usługę Cloud Run. Zwróć uwagę na inne zasoby, które obsługuje, i że możesz skonfigurować dla nich kontrole 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 „All Izz Well”, co chcemy sprawdzić.
Aby przejść do następnego kroku, kliknij DALEJ. Kolejny krok to weryfikacja odpowiedzi, jak pokazano poniżej:
Jak widać, włączamy sprawdzanie dopasowania treści. a następnie skonfigurowanie odpowiedzi zwracanej przez punkt końcowy /healthy, czyli „All Izz Well”. Kliknij DALEJ, aby przejść do następnego kroku, w którym skonfigurujemy alert i wybierzemy kanał powiadomień, do którego będziemy wysyłać alerty w przypadku niepowodzenia kontroli dostępności.
W tym kroku nazwij alert. Wybrane przeze mnie ustawienie to Inventory API Uptime Check error, ale możesz wybrać swoją nazwę. Ważne jest, aby wybrać odpowiedni kanał powiadomień ze skonfigurowanej wcześniej listy.
Kliknij SPRAWDŹ, aby przejść do ostatniego kroku, aby przejrzeć skonfigurowaną kontrolę dostępności.
W ostatnim kroku nazwij kontrolę dostępności (np. Inventory API Uptime Check), aby sprawdzić, czy kontrola jest prawidłowo skonfigurowana. Kliknij przycisk TEST, aby go uzyskać.
Dokończ proces (kliknij przycisk UTWÓRZ po lewej stronie). Google Cloud instruuje sondy kontroli dostępności skonfigurowane w różnych regionach tak, aby pingowały adres URL, co spowoduje zbieranie tych odpowiedzi. Po kilku minutach przejdź do sekcji Monitorowanie → Kontrole dostępności. Powinny być już widoczne wszystkie zielone sygnały wskazujące, że adres URL był osiągalny za pomocą różnych sond.
Jeśli któraś z sond zawiedzie przez pewien czas (co można skonfigurować), otrzymasz powiadomienie o alertach na skonfigurowany przez nas kanał e-mail.
To koniec sekcji poświęconej konfigurowaniu kontroli dostępności. Brawo!
6. Metrics Explorer
Cloud Monitoring udostępnia tysiące standardowych wskaźników z wielu usług Google Cloud. Możesz analizować te dane, tworzyć zapytania, przekształcać je w wykresy, dodawać je do paneli i przesyłać alerty dotyczące innych kwestii.
W tej sekcji naszym celem jest:
- Dowiedz się, jak możesz analizować różne dane, a następnie przeanalizujemy konkretny wskaźnik (czas oczekiwania) dla naszej usługi interfejsu API.
- Przekształcanie tych danych w wykres i panel niestandardowy, którego możemy później używać do wizualizacji danych.
Dane o czasie oczekiwania dla usługi Inventory API
W menu głównym konsoli Google Cloud wybierz Monitorowanie → Metrics Explorer. Otworzy się ekran Metrics Explorer. Kliknij WYBIERZ DANE. Możesz teraz poruszać się po kilku aktywnych zasobach, w których zostały wygenerowane wskaźniki.
Ponieważ zajmujemy się usługami Cloud Run, kliknij opcję Cloud Run Revision, a następnie kategorię i konkretny wskaźnik o nazwie Czas oczekiwania na żądanie, jak pokazano poniżej:
Kliknij Zastosuj. Spowoduje to wyświetlenie czasu oczekiwania na żądanie na wykresie. Typ widżetu możesz zmienić na wykres liniowy w ustawieniach wyświetlacza po prawej stronie, jak pokazano poniżej:
Wykres czasu oczekiwania wyświetli się w ten sposób:
Utwórz wykres i panel niestandardowy
Zapiszmy ten wykres. Kliknij Zapisz wykres i postępuj zgodnie z poniższymi informacjami:
Pamiętaj, że zamiast zapisać nowy panel, tworzymy nowy panel. Kliknij przycisk ZAPISZ. Spowoduje to dodanie nowo utworzonego panelu do naszej listy paneli, jak pokazano poniżej:
Kliknij utworzony panel, aby wyświetlić jego szczegóły.
W tym artykule opisujemy badanie różnych wskaźników za pomocą narzędzia Metrics Explorer oraz sposób tworzenia paneli niestandardowych.
7. Cloud Logging
W tej sekcji przyjrzymy się usłudze Cloud Logging. Usługa Cloud Logging jest wyposażona w interfejs eksploratora logów, który ułatwia poruszanie się po logiach generowanych przez różne usługi Google oraz Twoje aplikacje.
W tej sekcji przedstawimy eksplorator logów i symulujemy kilka komunikatów logu, które następnie możemy wyszukać i przekształcić w wskaźniki, korzystając z funkcji wskaźników opartych na logach.
Eksplorator logów
Eksplorator logów możesz otworzyć przez Logowanie → Eksplorator logów z głównej konsoli Google Cloud, jak pokazano poniżej:
Wyświetli się interfejs logów, w którym możesz zaznaczyć lub odznaczyć różne zasoby (projekt, zasoby Google Cloud, nazwy usług itp.) oraz poziomy logów, aby filtrować komunikaty logu według potrzeb.
Powyżej przedstawiliśmy listę logów wersji Cloud Run, tj. wdrożonych przez nas usług Cloud Run. Zobaczysz kilka żądań kontroli dostępności, które trafiają do skonfigurowanego przez nas punktu końcowego /healthy.
Szukaj ostrzeżeń
Symulowanie kilku nieprawidłowych żądań do usługi asortymentu, podając identyfikatory produktów, które nie należą do I-1, I-2 ani I-3. Na przykład: nieprawidłowe żądanie:
https://<SERVICE_URL>/inventory/I-999
Jeśli w zapytaniu podany zostanie nieprawidłowy identyfikator produktu, będziemy teraz wyszukiwać wszystkie ostrzeżenia wygenerowane przez nasz interfejs API.
W polu zapytania wstaw następujące parametry zapytania:
resource.type="cloud_run_revision"
textPayload =~ "Odebrano żądanie asortymentu dla nieprawidłowego identyfikatora produktu"
Powinna wyglądać mniej więcej tak:
Kliknij Uruchom zapytanie. Zostaną wyświetlone wszystkie przesłane prośby i których dotyczy ten problem.
Wskaźniki oparte na logach
Utwórzmy niestandardowy wskaźnik logu, aby śledzić te błędy. Chcielibyśmy się dowiedzieć, czy ma miejsce znaczna liczba połączeń z niewłaściwymi identyfikatorami produktów.
Aby przekonwertować powyższe dane na wskaźnik błędów, kliknij przycisk Utwórz wskaźnik widoczny w eksploratorze logów.
Wyświetli się formularz do utworzenia definicji danych. Wybierz dane licznika, wpisz szczegóły w polach Nazwa wskaźnika (inventory_lookup_errors) i opis, jak pokazano poniżej, a potem kliknij Utwórz dane.
Spowoduje to utworzenie danych dotyczących licznika. Powinien wyświetlić się taki komunikat:
W menu głównym wybierz Logowanie → Wskaźniki oparte na logach. Powinny być widoczne zdefiniowane przez nas dane niestandardowe na liście wskaźników zdefiniowanych przez użytkownika, jak pokazano poniżej:
Na końcu tego wpisu zobaczysz 3 pionowe kropki. Kliknij je, by zobaczyć operacje, które możesz wykonać na danych niestandardowych. Lista powinna być podobna do tej, którą widzisz poniżej. Kliknij opcję Wyświetl w narzędziu Metrics Explorer.
Spowoduje to przejście do narzędzia Metrics Explorer, o którym wspomnieliśmy w poprzedniej sekcji. Wyjątkiem jest teraz narzędzie Metrics Explorer.
Kliknij Zapisz wykres. Użyj następujących wartości w opcjach zapisywania wykresu:
Spowoduje to utworzenie nowego panelu, w którym widać błędy wyszukiwania zasobów reklamowych i będzie on dostępny na liście paneli.
Świetnie! Udało Ci się utworzyć z dzienników dane niestandardowe i przekonwertować je na wykres umieszczony w panelu niestandardowym. Pomoże nam to śledzić liczbę połączeń z nieprawidłowymi identyfikatorami produktów.
8. Zasady tworzenia alertów
W tej sekcji użyjemy utworzonych przez nas danych niestandardowych i będziemy monitorować ich wartość progową, np. jeśli liczba błędów przekroczy określony próg, prześlemy alert. Inaczej mówiąc, przygotujemy zasady tworzenia alertów.
Tworzenie zasady tworzenia alertów
Otwórzmy panel wyszukiwania zasobów reklamowych. Spowoduje to wyświetlenie utworzonego przez nas wykresu, by zawierał opisane poniżej błędy wyszukiwania zasobów reklamowych:
Spowoduje to wyświetlenie bieżących danych. Dokonaj najpierw edycji danych, jak pokazano poniżej (kliknij przycisk Edytuj):
Wyświetlą się szczegóły danych. Przeliczamy wykres z współczynnika błędów na sumę, tj. liczbę błędów. Pole do zmiany znajduje się poniżej:
W prawym górnym rogu kliknij ZASTOSUJ. Ponownie wyświetlimy się na ekranie Dane, ale tym razem będziemy mogli zobaczyć łączną liczbę błędów w okresie wyrównywania w porównaniu z częstotliwością błędów.
Utworzymy zasady tworzenia alertów, które będą powiadamiać nas w przypadku, gdy liczba błędów przekroczy wartość progową. Kliknij 3 kropki w prawym górnym rogu wykresu i na wyświetlonej powyżej liście opcji kliknij Przekształć na wykres alertów.
Zobaczysz ekran podobny do tego:
Kliknij Dalej. Zostanie wyświetlona wartość progu , którą można ustawić. Stosowany przez nas próg próbkowania wynosi 5 , ale możesz go wybrać zgodnie ze swoimi preferencjami.
Kliknij DALEJ, aby otworzyć formularz powiadomień.
Wybraliśmy Kanał powiadomień jako utworzony wcześniej kanał e-mail. Możesz podać inne informacje, na przykład dokumentację (która zostanie udostępniona w ramach zgłaszanego alertu). Aby zobaczyć podsumowanie i dokończyć proces, kliknij DALEJ.
Po utworzeniu tej zasady tworzenia alertów będzie ona widoczna na liście zasad tworzenia alertów, tak jak pokazano poniżej. Listę zasad tworzenia alertów znajdziesz w sekcji Monitorowanie → Alerty. W sekcji Zasady na tej stronie znajdziesz listę skonfigurowanych do tej pory zasad.
Świetnie! Skonfigurowano niestandardową zasadę tworzenia alertów, która będzie Cię powiadamiać w przypadku zwiększonej częstotliwości występowania błędów podczas wyszukiwania interfejsu Inventory API.
9. Monitorowanie usług (opcjonalnie)
W tej sekcji skonfigurujemy docelowe poziomy usług i docelowe poziomy usług zgodnie z zasadami Site Reliability Engineering (SRE). Zauważysz, że Cloud Monitoring ułatwia automatyczne wykrywanie usług wdrożonych w Cloud Run, a także automatyczne obliczanie kluczowych wskaźników SLI, takich jak Dostępność i Czas oczekiwania, a także obliczanie budżetu błędów.
Skonfigurujmy docelowy poziom czasu oczekiwania dla usługi interfejsu API.
Konfigurowanie docelowego poziomu usług w zakresie czasu oczekiwania dla usługi dotyczącej zasobów reklamowych
W menu głównym konsoli Cloud kliknij Monitorowanie → Usługi. Spowoduje to wyświetlenie listy usług skonfigurowanych pod kątem monitorowania usług.
Obecnie nie mamy żadnych usług skonfigurowanych pod kątem monitorowania poziomu usług na poziomie SLI/SLO, więc lista jest pusta. Kliknij link DEFINE SERVICE (Określ usługę) u góry strony, aby najpierw zdefiniować / określić usługę.
Spowoduje to automatyczne wykrywanie usług, które kwalifikują się do monitorowania docelowego poziomu usług. Może wykrywać usługi Cloud Run, dlatego nasza usługa Inventory API wdrożona w Cloud Run będzie widoczna na liście.
Wyświetlana nazwa może być inna i zależy od tego, co wybierzesz podczas wdrażania usługi w Cloud Run. Kliknij przycisk PRZEŚLIJ. Spowoduje to wyświetlenie poniższego ekranu:
Możesz kliknąć UTWÓRZ docelowy poziom usług. Dzięki temu możesz wybrać wskaźniki poziomu usług, które są obliczane automatycznie.
Na początek wybieramy Wskaźnik czasu oczekiwania. Kliknij DALEJ. Następnie zobaczysz ekran, który pokazuje bieżącą wydajność tej usługi i typowy czas oczekiwania.
Podajemy wartość progową, np. 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łędów. Kliknij DALEJ.
Ustawiamy teraz docelowy poziom usług (okno celu i pomiaru) w następujący sposób:
Oznacza to, że wybieramy okno Pomiar jako okno typu kroczącego i mierzamy je w ciągu 7 dni. Analogicznie w przypadku celu wybraliśmy 90%. 90% żądań kierowanych do usługi API powinno zostać wykonane w ciągu 300 ms i należy to mierzyć w ciągu 7 dni.
Kliknij Dalej. Wyświetli się ekran podsumowania, który możesz potwierdzić, klikając przycisk AKTUALIZUJ Docelowy poziom usług.
Spowoduje to zapisanie definicji docelowego poziomu usług, a budżet błędów zostanie obliczony automatycznie.
Kilka rzeczy, które możesz wypróbować:
- Przetestuj interfejs API za pomocą wielu wywołań i sprawdź wydajność usługi oraz jej wpływ na pozostały budżet błędów.
- Zmodyfikuj kod źródłowy, aby wprowadzić dodatkowe losowe opóźnienie (uśpienie) w niektórych wywołaniach. Wydłuży to czas oczekiwania w przypadku pewnej liczby wywołań i powinno niekorzystnie wpłynąć na budżet błędów.
10. Gratulacje
Gratulujemy! Udało Ci się wdrożyć przykładową aplikację w Google Cloud i dowiedzieć się, jak za pomocą pakietu Google Cloud Operations sprawdzać stan aplikacji.
Omówione zagadnienia
- Wdrażam usługę w Google Cloud Run.
- Konfiguruję panel usługi Google Cloud Run.
- Kontrole dostępności.
- Konfigurowanie na ich podstawie niestandardowych wskaźników logów oraz paneli/wykresów.
- Zapoznanie z narzędziem Metrics Explorer i konfigurowanie panelu/wykresu.
- Konfiguruję zasady tworzenia alertów.
- Konfiguruję SLI/SLO na potrzeby monitorowania usług w Google Cloud.
Uwaga: jeśli ćwiczenia z programowania zostały wykonane na Twoim koncie i w projekcie Google Cloud, przydzielone zasoby mogą nadal być obciążane opłatami. Po zakończeniu modułu usuń projekt i zasoby.
Co dalej?
Zapoznaj się z tym kursem Cloud Skills Boost, aby dowiedzieć się więcej o pakiecie Google Cloud Operations.