1. Zanim zaczniesz
Jak wspomnieliśmy w samouczku Debugowanie inteligentnego domu, publikujemy w Twoich projektach inteligentnego domu dane i logi. Dane pomagają określić, gdzie Twoja akcja inteligentnego domu ma problemy, a logi są przydatne, gdy chcesz dokładnie zbadać te problemy i je rozwiązać.

Możesz skonfigurować alerty na podstawie wskaźników udostępnianych w projekcie, aby automatycznie monitorować awarie i otrzymywać powiadomienia o przerwach w działaniu usługi. Publikujemy wskaźnik ufności, aby podkreślić zakłócenia działania w Twoim projekcie. W tym Codelabs omówimy go wraz z innymi narzędziami do alertów dostępnymi w Google Cloud.
Wymagania wstępne
- mieć integrację Works with Smart Home;
- Ukończ ćwiczenia Debugging the Smart Home.
Czego się nauczysz
- Jak monitorować problemy z wydajnością i przerwy w działaniu usługi w projekcie.
- Jak utworzyć alert oparty na progu i otrzymywać powiadomienia w przypadku zakłóceń.
- Jak wykorzystać wskaźnik ufności podany w projekcie do wykrywania przerw w działaniu.
2. Monitorowanie skuteczności
Monitorowanie wydajności ma kluczowe znaczenie dla skutecznej integracji z ekosystemem Google Home. Deweloperom inteligentnych domów udostępniamy zestaw narzędzi do monitorowania w Google Cloud. Dzięki tym narzędziom możesz sprawdzić skuteczność projektu.
Dostęp do paneli informacyjnych
Pierwszym krokiem, aby uzyskać dostęp do danych, jest sprawdzenie paneli Google Home. W tym celu zaloguj się w konsoli Google Cloud i przejdź do Operacje > Monitorowanie > Panele. Zobaczysz, że dostępnych jest wiele paneli, a panele dotyczące inteligentnego domu mają prefiks Google Home Analytics.

Utworzyliśmy osobne panele, aby przedstawić każdy typ integracji. Integracje z chmurą, lokalne i Matter mają własny panel, a dane dotyczące protokołów przesyłania strumieniowego z kamery są dostępne w panelu Jakość kamery. Te panele będą zawierać dane tylko wtedy, gdy masz integrację odpowiedniego typu oraz działający projekt, który realizuje żądania.
Po otwarciu jednego z tych paneli zobaczysz widok podobny do tego:

Panele informacyjne zawierają różne wykresy, które pokazują szczegóły żądań obsługiwanych przez Twój projekt. Na każdym panelu integracji zobaczysz wykres pokazujący łączną liczbę żądań obsługiwanych przez Twój projekt, wykres pokazujący odsetek udanych integracji danego typu oraz kilka wykresów pokazujących typy i cechy urządzeń.
Do oceny skuteczności działań związanych z inteligentnym domem służą 3 wykresy:

Podczas przerw w działaniu usługi często obserwuje się spadki w procentowym udziale udanych prób i wzrosty na wykresie zestawienia błędów. Monitorowanie odsetka udanych wykonań pomaga zauważyć przerwę w działaniu usługi, a sprawdzenie najczęstszych błędów w zestawieniu błędów może ułatwić debugowanie. Podczas awarii możesz też zauważyć wzrost opóźnienia, który zobaczysz na wykresach opóźnienia żądań.
Pamiętaj, że widok domyślny z wykresami, który widzisz w panelach Google Home Analytics, to tylko widok utworzony przez nas na potrzeby Twojego projektu na podstawie danych o inteligentnym domu. Za pomocą narzędzia Metrics Explorer możesz też tworzyć własne wykresy na podstawie tych samych danych i zapisywać je w panelach niestandardowych.
Metrics Explorer
Metrics Explorer to narzędzie do wizualizacji przekrojów zbioru danych projektu. Narzędzie jest dostępne w konsoli Google Cloud. Aby je otworzyć, kliknij Operacje > Monitorowanie > Metrics Explorer.
Google Cloud udostępnia wiele różnych gotowych danych, w tym niektóre niezwiązane z inteligentnym domem. Dane, które udostępniamy w przypadku inteligentnego domu, są wymienione w zasobie „actions.googleapis.com/smarthome_action/...”. Możesz je łatwo znaleźć, wpisując „smarthome” w polu wyboru danych.

Wyszukanie hasła „smarthome” spowoduje wyświetlenie wszystkich danych dotyczących inteligentnego domu, które udostępniamy w Twoim projekcie. Szczegółowe informacje o każdym z naszych wskaźników znajdziesz na stronach Monitorowanie i Logowanie w naszej dokumentacji.
Jeśli chodzi o monitorowanie projektu, najprostszym wskaźnikiem, do którego możesz się odnieść, jest liczba żądań (czyli wskaźnik różnicowy). Ten rodzaj danych rejestruje wpis dla każdego wykonania w inteligentnym domu zainicjowanego przez użytkowników. Rejestruje też pola takie jak typ urządzenia, cecha, typ wykonania związany z wykonaniem oraz pole stanu, które pokazuje wynik.
Po wybraniu tych danych pojawi się ekran z poszczególnymi przedziałami danych podobny do tego poniżej:

W przypadku każdej kombinacji etykiet danych występujących w tym rodzaju danych istnieje zasobnik, który rejestruje zmianę (delta) między poprzednim a bieżącym przedziałem czasu. Możesz grupować lub odfiltrowywać te przedziały, aby uzyskać pożądany wycinek danych. Poza tym dane są wyrównywane w wybranych przedziałach czasowych za pomocą funkcji wyrównywania (DELTA, MEAN, MEDIAN, SUM). Jeśli nie jest to konieczne, zwykle używasz wyrównania różnicowego z danymi różnicowymi.
Większość wykresów dostępnych w panelach analitycznych Google Home możesz utworzyć za pomocą narzędzia Metrics Explorer i zapisać je w panelu niestandardowym, aby mieć do nich późniejszy dostęp. Aby uzyskać bardziej złożone widoki, np. wykres stosunku, musisz użyć języka MQL.
3. Miernik sukcesu
Aby śledzić skuteczność integracji, możesz użyć obliczonego przez nas wskaźnika skuteczności na podstawie liczby żądań jako wskaźnika podstawowego lub wskaźnika pewności skuteczności, aby zastosować bardziej specjalistyczne podejście.
Wskaźnik sukcesu
Wskaźnik sukcesu jest obliczany dla wszystkich integracji przez podzielenie liczby udanych żądań przez liczbę wszystkich żądań. Możesz do niego przejść z wykresu Współczynnik realizacji w panelu informacyjnym Analytics w Google Home.

Wykres Współczynnik realizacji jest bardzo przydatny do monitorowania skuteczności projektu, ale nie sprawdza się przy tworzeniu niestandardowych paneli ani konfigurowaniu alertów. Współczynnik powodzenia jest obliczany na podstawie danych o liczbie żądań, a nie jest osobnym rodzajem danych. Aby używać go w obu tych funkcjach, musisz go odtworzyć za pomocą języka MQL (Monitoring Query Language) w narzędziu Metrics Explorer.
Uważamy, że do śledzenia zakłóceń wydajności w Twoim projekcie potrzebne jest bardziej specjalistyczne podejście. Dlatego stworzyliśmy wskaźnik ufności, który zmienia się w zależności od tego, o ile obecny odsetek realizacji zamówień odbiega od norm historycznych.
Wskaźnik ufności
Przerwy w dostawie mogą mieć różne formy i rozmiary w przypadku projektów. Mogą trwać od kilku godzin do zaledwie kilku minut, co utrudnia ich identyfikację. W tym celu utworzyliśmy w Twoim projekcie wskaźnik ufności, który podaje znormalizowaną wartość do przewidywania niezawodności na podstawie dotychczasowych wyników. Aby uzyskać dostęp do danych ufności, wyszukaj w narzędziu Metrics Explorer hasło „smarthome”, a potem wybierz Execution success confidence (Ufność sukcesu wykonania).

Gdy integracja z inteligentnym domem osiąga skuteczność na poziomie historycznej skuteczności (średnia z 7 dni) lub wyższą, ten wskaźnik przyjmuje maksymalną wartość (1,0). Gdy odsetek sukcesów odbiega o ponad 4 odchylenia standardowe (obliczone również na podstawie danych z 7 dni), ta wartość przyjmuje wartość minimalną (0,0). W przypadku, gdy odchylenia standardowe są zbyt małe (poniżej 2,5%), wartość 0,0 tego wskaźnika jest oparta na 10-procentowym spadku odsetka sukcesu.
W przypadku wszystkich pośrednich sytuacji ten wskaźnik przyjmuje wartości od 1,0 (pełne przekonanie, że nie ma awarii) do 0,0 (maksymalne przekonanie, że występuje awaria).
Dlatego podczas ustawiania alertu (o czym będzie mowa w następnej sekcji) zalecamy przyjęcie wartości 0,5 jako progu. Będzie to odpowiadać 2 odchyleniom standardowym lub spadkowi o 5%, w zależności od tego, która wartość jest wyższa.
4. Konfigurowanie alertów
Następnym krokiem jest wykorzystanie wszystkiego, czego dowiedzieliśmy się w poprzedniej sekcji, do skonfigurowania alertów w projekcie.
Tworzenie zasady tworzenia alertów
Automatyczne alerty w Google Cloud są konfigurowane za pomocą zasad tworzenia alertów. Zasady alertów są dostępne w bocznym menu na karcie Operacje > Monitorowanie > Alerty. Nową zasadę tworzenia alertów możesz utworzyć, klikając opcję +UTWÓRZ ZASADĘ. Spowoduje to przejście do ekranu tworzenia zasad tworzenia alertów:

Tworzenie zasad tworzenia alertów odbywa się w 3 etapach. Najpierw musisz określić, co chcesz śledzić, dodając warunek. Po naciśnięciu przycisku DODAJ WARUNEK pojawi się okno podobne do Metrics Explorer, ale z dodatkowymi opcjami konfigurowania warunku:

Jako cel wybierz wskaźnik ufności, o którym pisaliśmy w poprzedniej sekcji. Upewnij się, że wyrównywacz jest ustawiony na wartość delta za pomocą tego wskaźnika (Pokaż opcje zaawansowane > Wyrównywacz). Następnym krokiem jest skonfigurowanie warunku alertu przy użyciu tych ustawień:

Warunek uruchamia się, jeśli – to główna konfiguracja określająca, kiedy mają się uruchamiać alerty. Wybór opcji Dowolny szereg czasowy narusza będzie działać, ponieważ ustawimy próg dla naszych danych i będziemy monitorować, czy wartość została przekroczona.
Warunek – chcemy, aby alert był wywoływany, gdy wartość spadnie poniżej progu, więc ustawimy ten warunek na jest poniżej. W przypadku naszych danych 1,0 oznacza, że integracja działa prawidłowo, a 0,0 wskazuje na awarię.
Próg – wskaźnik ufności został utworzony tak, aby zapewnić najlepsze wyniki, gdy ta wartość jest ustawiona na 0,5. Jeśli chcesz otrzymywać częstsze alerty i powiadomienia o mniejszych incydentach, możesz zwiększyć tę wartość (maksymalnie do 1,0). Jeśli chcesz otrzymywać mniej alertów, tylko w przypadku poważniejszych problemów, możesz zmniejszyć tę wartość (min.0,0).
For (Przez) – to ustawienie określa, jak długo ma trwać przerwa w działaniu usługi, zanim otrzymasz powiadomienie. Zalecamy pozostawienie tego ustawienia na najnowsza wartość, aby otrzymywać alerty w przypadku przekroczenia progu w dowolnym momencie. Wskaźnik ufności publikujemy co 15 minut, podając średnią skuteczność w danym okresie.
Po dodaniu warunku kolejnym krokiem jest wybranie kanału powiadomień. Najprostszym sposobem powiadamiania są alerty e-mail. Możesz wybrać adres e-mail z listy Kanały powiadomień:

Jeśli zaznaczysz opcję Powiadamiaj przy zamknięciu incydentu, po oznaczeniu incydentu jako zamkniętego zostanie wysłane kolejne powiadomienie. W takim przypadku musisz też wybrać czas trwania automatycznego zamknięcia incydentu, który domyślnie wynosi 7 dni.
Ostatnim krokiem jest nadanie alertowi nazwy i dodanie dokumentacji, która ma być dołączana do powiadomień.

Przesłanie dokumentacji jest zalecane, zwłaszcza jeśli nie jesteś osobą, która będzie otrzymywać alerty. Dodanie informacji o tym, gdzie szukać informacji podczas incydentu oraz jak ustalać priorytety i debugować, może pomóc w przypadku awarii. W razie potrzeby możesz skorzystać z naszego przewodnika rozwiązywania problemów.
Po zapisaniu zasady tworzenia alertów będą widoczne w sekcji Zasady na stronie Alerty.

5. Ograniczanie przerw w działaniu
Po skonfigurowaniu alertów będziesz otrzymywać powiadomienia o awariach w podanych kanałach powiadomień, a na stronie Alertowanie zostanie utworzony wpis incydentu.
Otrzymywanie alertów
Kanałem alertów w tym ćwiczeniu był e-mail. Po skonfigurowaniu alertów nie powinny się one pojawiać (nie powinno być żadnych przerw w działaniu usługi), ale jeśli jednak wystąpią, powiadomienie będzie wyglądać tak:

Zwróć uwagę, że powiadomienie o alercie zawiera zaobserwowaną wartość przekraczającą określony próg, a także sygnaturę czasową wskazującą, kiedy zdarzenie się rozpoczęło.
Incydenty monitorowania
W miarę występowania incydentów będą one też zliczane w sekcji incydentów na stronie Alerty.

Możesz kliknąć konkretny incydent, aby wyświetlić szczegóły dotyczące przerwy w działaniu usługi, np. czas jej trwania lub stopień nasilenia.
Pamiętaj, że gdy otrzymasz alerty, najlepszym pierwszym krokiem jest sprawdzenie danych, a następnie wyszukanie w logach błędów, które przyczyniły się do przerwy w działaniu usługi. Więcej informacji o tym, jak to zrobić, znajdziesz w ćwiczeniach z programowania Debugowanie inteligentnego domu.
6. Gratulacje

Gratulacje! Dowiedziałeś(-aś) się, jak skonfigurować alerty za pomocą wskaźników udostępnionych w projekcie, aby automatycznie monitorować awarie i otrzymywać powiadomienia o przerwach w działaniu usługi.
Dalsze kroki
Wykonaj te ćwiczenia i zapoznaj się z dodatkowymi materiałami, korzystając z tego samouczka:
- Możesz połączyć informacje zdobyte w tym laboratorium z innymi danymi dostępnymi w Twoim projekcie. Pełną listę dostępnych danych znajdziesz w sekcji Obsługiwane dane na stronie Monitoring.
- Poznaj inne typy kanałów powiadomień o alertach, które są opisane na stronie Opcje powiadomień w dokumentacji Google Cloud.