Google Cloud udostępnia narzędzia do monitorowania niezawodności projektów. z wykorzystaniem Google Cloud Monitoring i debuguj problemy z zasadą Google Cloud Logging dzienników błędów. Gdy wystąpi porażka przy realizacji zamiarów użytkownika, Potok Google Home Analytics rejestruje ten błąd w Twoich danych, publikuje dziennik błędów w logach projektu.
Aby rozwiązać problemy z błędami, wykonaj 2 kroki:
- Monitoruj stan swoich projektów za pomocą danych inteligentnego domu.
- Aby badać problemy, sprawdź szczegółowe opisy błędów w dzienników błędów.
Monitorowanie błędów
Aby uzyskać dostęp do danych projektu, możesz użyć Google Cloud Monitoring dashboard. Istnieje kilka kluczowych wykresów, które szczególnie przydatne do monitorowania jakości i debugowania:
- Wskaźnik sukcesu to pierwszy wykres, od którego zaczyna się w momencie monitorowania niezawodności projektów. Spadek na tym wykresie może może oznaczać przerwę w działaniu usługi w przypadku części lub wszystkich użytkowników. Zalecamy uważnie monitoruj ten wykres pod kątem wszelkich nieprawidłowości po każdej zmianie lub zaktualizuj ją do projektu.
- Wykres 95 centyl czasu oczekiwania to ważny wskaźnik czasu, Działanie inteligentnego domu. Nagłe wahania na tym wykresie może oznaczać, że systemy nie są w stanie nadgonić z prośbami. Zalecamy okresowe sprawdzanie tego wykresu w celu nieoczekiwane zachowanie.
- Wykresy z podziałem błędów są najbardziej przydatne, jeśli chodzi w celu rozwiązania problemów z integracją. W zestawieniu błędów podany jest kod błędu dla każdego błędu wyróżnionego na wykresie odsetka sukcesów. W tabeli poniżej znajdziesz błędy oznaczone ikoną Google Home platform oraz sposoby ich rozwiązywania.
Kody błędów platformy
Oto kilka typowych kodów błędów, które mogą wystąpić w logach projektu, aby identyfikować problemy wykryte przez Google Home platform. Zapoznaj się z w poniższej tabeli.
Kod błędu | Opis |
---|---|
BACKEND_FAILURE_URL_ERROR |
Do Google został wysłany kod błędu HTTP 4xx inny niż 401
posprzedażna.
Użyj requestId w GCP Logging, aby sprawdzić inteligentne
dzienników usług dla domu.
|
BACKEND_FAILURE_URL_TIMEOUT |
Podczas próby nawiązania połączenia z usługą upłynął limit czasu żądania Google.
Sprawdź, czy usługa jest dostępna online, akceptuje połączenia i nie przekracza limitu przepustowości. Sprawdź też, czy wartość docelowa urządzenie jest włączone, online i zsynchronizowane. |
BACKEND_FAILURE_URL_UNREACHABLE |
Google otrzymało od Twojej usługi kod błędu HTTP 5xx.
Użyj requestId w GCP Logging, aby sprawdzić inteligentne
dzienników usług dla domu.
|
DEVICE_NOT_FOUND |
Urządzenie nie istnieje po stronie usługi partnera.
Zwykle oznacza to błąd synchronizacji danych lub wyścigu . |
GAL_BAD_3P_RESPONSE |
Google nie może przeanalizować odpowiedzi z usługi łączenia kont
z powodu nieprawidłowego formatu lub nieprawidłowych wartości w ładunku.
Aby sprawdzić dzienniki błędów w usłudze łączenia kont, użyj requestId w logowaniu GCP.
|
GAL_INTERNAL |
Podczas próby pobrania przez Google wiadomości wystąpił błąd wewnętrzny Google
token dostępu.
Jeśli zauważysz wzrost częstotliwości tego błędu w GCP Logging, skontaktuj się z . |
GAL_INVALID_ARGUMENT |
Podczas próby pobrania przez Google wiadomości wystąpił błąd wewnętrzny Google
token dostępu.
Jeśli zauważysz wzrost częstotliwości tego błędu w GCP Logging, skontaktuj się z . |
GAL_NOT_FOUND |
Tokeny dostępu i tokeny odświeżania użytkownika przechowywane w Google są nieważne i nie można ich już odświeżyć. Użytkownik musi:
połączyć je ponownie, aby nadal korzystać z usługi.
Jeśli zauważysz wzrost częstotliwości tego błędu w GCP Logging, skontaktuj się z . |
GAL_PERMISSION_DENIED |
Gdy udostępnianie tokena nie było prawidłowe, wystąpił błąd wewnętrzny Google
.
Jeśli zauważysz wzrost częstotliwości tego błędu w GCP Logging, skontaktuj się z . |
GAL_REFRESH_IN_PROGRESS |
Token dostępu użytkownika wygasł, a inna próba jego odświeżenia jest już w toku.
Nie jest to problem i nie musisz nic robić. |
INVALID_AUTH_TOKEN |
Otrzymaliśmy kod błędu HTTP 401 z Twojej usługi.
Token dostępu nie wygasł, ale usługa unieważniła go. Użyj requestId w GCP Logging, aby sprawdzić inteligentne
dzienników usług dla domu.
|
INVALID_JSON |
Odpowiedź JSON nie może zostać przeanalizowana lub niezrozumiała.
Sprawdź, czy struktura odpowiedzi JSON nie zawiera nieprawidłowej składni, na przykład jako niezgodne nawiasy, brakujące przecinki, nieprawidłowe znaki. |
OPEN_AUTH_FAILURE |
token dostępu użytkownika wygasł i Google nie może go odświeżyć,
lub Google otrzymał kod błędu HTTP 401 z Twojej usługi.
Jeśli zauważysz wzrost częstotliwości wysyłania tego kodu, sprawdź, czy pojawia się również wzrost liczby błędów związanych z intencjami lub odświeżeniami dotyczącymi inteligentnego domu żądania tokenów. |
PARTNER_RESPONSE_INVALID_ERROR_CODE |
Odpowiedź wskazuje nierozpoznany kod błędu.
Jeśli odpowiedź na żądanie wskazuje błąd, użyj takiego kodu pochodzące z naszego obsługiwane kody błędów. |
PARTNER_RESPONSE_INVALID_PAYLOAD |
Pola odpowiedzi payload nie można przeanalizować jako pliku JSON
Obiekt.
Sprawdź, czy pole ładunku w odpowiedzi na żądanie jest zgodne nawiasy klamrowe i ma prawidłową strukturę jako pole JSON. |
PARTNER_RESPONSE_INVALID_STATUS |
Odpowiedź nie wskazuje stanu lub wskazuje nieprawidłowy stan.
Odpowiedzi na żądania realizacji intencji powinny wskazywać stan przy użyciu: SUCCESS, OFFLINE, ERROR, EXCEPTIONS . Ty
można znaleźć więcej informacji na temat
obsługi błędów i wyjątków.
|
PARTNER_RESPONSE_MISSING_COMMANDS_AND_DEVICES |
W żądaniu brakuje co najmniej 1 intencji
.
Sprawdź, czy atrybuty odpowiedź na wykonanie ma prawidłową strukturę, a wyniki dla wszystkich intencji z żądania. |
PARTNER_RESPONSE_MISSING_DEVICE |
W żądaniu brakuje co najmniej 1 urządzenia
.
Sprawdź, czy odpowiedź na żądanie wykonania jest poprawnie sformatowana i czy zawiera wszystkie identyfikatory urządzeń z żądania. |
PARTNER_RESPONSE_MISSING_PAYLOAD |
Odpowiedź nie zawiera pola payload .
Pamiętaj, aby w odpowiedzi na żądanie umieścić pole ładunku. Ty można dowiedzieć się więcej na temat prawidłowego tworzenia odpowiedzi na wykonanie. |
PARTNER_RESPONSE_NOT_OBJECT |
Nie można przeanalizować odpowiedzi jako obiektu JSON.
Sprawdź, czy wszystkie pola w odpowiedzi na żądanie nie zawierają niezamierzonych znaków. niepasujące nawiasy czy błędy formatowania. niektóre znaki Unicode; może nie być obsługiwany. Upewnij się też, że odpowiedź jest poprawna ma strukturę obiektu JSON. |
PROTOCOL_ERROR |
Nie udało się przetworzyć żądania.
Użyj requestId w Google Cloud Logging, aby sprawdzić
dzienników usług inteligentnego domu.
|
RESPONSE_TIMEOUT |
Podczas oczekiwania na odpowiedź przekroczono limit czasu żądania.
Limit czasu na wysłanie odpowiedzi wynosi 9 sekund od momentu prośba zostanie wysłana. Pamiętaj, aby wysłać odpowiedź w tym terminie. |
RESPONSE_UNAVAILABLE |
Nie otrzymano odpowiedzi lub odpowiedź nie określa stanu.
Odpowiedzi na żądania dotyczące realizacji intencji powinny być uporządkowane zgodnie z dokumenty inteligentnego domu i określić ich stan. |
TRANSIENT_ERROR |
Błąd przejściowy to błąd, który ustąpi samoistnie.
Zwykle te błędy występują jako połączenie z urządzeniem lub usługi. Ponadto jeśli nie można nawiązać nowych połączeń z serwerem otwarto. |
Dzienniki wyszukiwania
Gdy już zaczniesz monitorować integracje za pomocą danych, następnym krokiem będzie rozwiązywanie konkretnych błędów za pomocą Cloud Logging. Dziennik błędów to wpis w stylu JSON z polami zawierającymi przydatne informacje, takie jak godzina, błąd kod i szczegóły dotyczące pierwotnej intencji inteligentnego domu.
W usłudze Google Cloud jest wiele systemów, które w każdej chwili wysyłają logi do Twojego projektu. Czynności, które musisz wykonać napisz zapytania pozwalające filtrować logi i znajdować te, których potrzebujesz. Zapytania mogą być oparte na zakresie czasu, Zasób, Poziom ważności lub wpisy niestandardowe.
W tworzeniu filtrów niestandardowych możesz używać przycisków zapytań.
Aby określić Zakres czasowy, kliknij przycisk wyboru zakresu czasowego
i wybierz jedną z dostępnych opcji. Spowoduje to przefiltrowanie dzienników i wyświetlenie tych, które pochodzą w wybranym przedziale czasu.Aby określić Zasób, kliknij menu Zasób. a następnie wybierz Google Assistant Action Project (Projekt akcji Asystenta Google). Spowoduje to dodanie filtra w: zapytanie, aby wyświetlić logi pochodzące z Twojego projektu.
Kliknij przycisk Waga, aby filtrować według tych kryteriów: Alarmowe, Informacje, Debugowanie. i innych poziomów ważności.
Możesz też użyć pola Zapytanie w interfejsie Logs Explorer
aby wpisać wpisy niestandardowe. Mechanizm zapytań używany w tym polu obsługuje zarówno
podstawowych zapytań, takich jak dopasowanie ciągów, oraz bardziej zaawansowanych typów zapytań,
operatory logiczne (<, >=, !=
) i operatory logiczne (AND, OR, NOT
).
Na przykład poniższy wpis niestandardowy zwróciłby błędy, które
pochodzą z urządzenia typu LIGHT
:
resource.type = "assistant_action_project" AND severity = ERROR AND jsonPayload.executionLog.executionResults.actionResults.device.deviceType = "LIGHT"
Otwórz Bibliotekę zapytań. aby znaleźć więcej przykładów skutecznego wysyłania zapytań dotyczących logów.
Poprawki testów
Gdy wykryjesz błędy i zastosujesz aktualizacje, aby je naprawić, zalecamy przetestowanie wraz z wprowadzaniem poprawek Google Home Test Suite Udostępniamy przewodnik użytkownika dotyczący Test Suite, który pomoże Ci skutecznie przetestować zmiany.
Materiały szkoleniowe
W tym dokumencie znajdziesz instrukcje rozwiązywania problemów z inteligentnym domem. Akcja. Aby dowiedzieć się więcej o debugowaniu, możesz też zapoznać się z naszą serią Codelabs:
- Ćwiczenie z programowania dotyczące debugowania inteligentnego domu: Krótki przewodnik po debugowaniu integracji inteligentnego domu w chmurze.
- Ćwiczenie z programowania dotyczące debugowania lokalnego domu: Krótki przewodnik po debugowaniu lokalnej integracji inteligentnego domu.