Google Cloud fornisce gli strumenti per monitorare l'affidabilità dei progetti con Google Cloud Monitoring ed esegui il debug dei problemi con Google Cloud Logging log degli errori. Ogni volta che si verifica un errore quando vengono soddisfatti gli intenti dell'utente, La pipeline di analisi di Google Home registra l'errore relativo alle tue metriche e e pubblica un log degli errori nei log del progetto.
Per risolvere gli errori sono previsti due passaggi:
- Monitora lo stato dei tuoi progetti con le metriche della smart home.
- Analizza i problemi controllando le descrizioni dettagliate degli errori nel log degli errori.
Monitoraggio degli errori
Puoi usare Google Cloud Monitoring dashboard per accedere alle metriche del progetto. Ci sono alcuni grafici chiave particolarmente utile per il monitoraggio della qualità e il debug:
- Il grafico Tasso di successo è il primo grafico a partire da quando il monitoraggio dell'affidabilità dei progetti. I rilasci in questo grafico possono indicare un'interruzione per una parte o tutta la base utenti. I nostri suggerimenti monitorando attentamente questo grafico per rilevare eventuali irregolarità dopo ogni modifica o aggiornare il progetto.
- Il grafico della latenza del 95° percentile è un indicatore importante del modo in cui dell'azione per la smart home per i tuoi utenti. Fluttuazioni improvvise in questo grafico potrebbe indicare che i tuoi sistemi non sono in grado di con le richieste. Si consiglia di controllare periodicamente questo grafico per verificare comportamenti imprevisti.
- I grafici Analisi degli errori sono più utili quando si tratta di risolvere i problemi relativi alle integrazioni. Per ogni errore evidenziato nel grafico della percentuale di successo, viene visualizzato un codice di errore nella suddivisione degli errori. Puoi vedere gli errori segnalati dal Google Home platform e come risolvere i problemi nella tabella seguente.
Codici di errore della piattaforma
Ecco alcuni codici di errore comuni che potresti vedere nei log di progetto in identificare i problemi rilevati da Google Home platform. Consulta le la seguente tabella per informazioni sulla risoluzione dei problemi.
Codice di errore | Descrizione |
---|---|
BACKEND_FAILURE_URL_ERROR |
Google ha ricevuto un codice di errore HTTP 4xx diverso da 401 dal tuo
completamente gestito di Google Cloud.
Utilizza requestId in Logging di Google Cloud per verificare la tua
log dei servizi a domicilio.
|
BACKEND_FAILURE_URL_TIMEOUT |
La richiesta di Google è scaduta durante il tentativo di connessione al tuo servizio.
Verifica che il servizio sia online, che accetti connessioni e non sia in eccesso. Verifica inoltre che il target dispositivo sia acceso, online e sincronizzato. |
BACKEND_FAILURE_URL_UNREACHABLE |
Google ha ricevuto un codice di errore HTTP 5xx dal tuo servizio.
Utilizza requestId in Logging di Google Cloud per verificare la tua
log dei servizi a domicilio.
|
DEVICE_NOT_FOUND |
Il dispositivo non esiste sul lato servizio del partner.
Questo in genere indica un errore nella sincronizzazione dei dati o una gara. . |
GAL_BAD_3P_RESPONSE |
Google non può analizzare la risposta del servizio di collegamento dell'account
a causa di valori o formati non validi nel payload.
Utilizza requestId in Google Cloud Logging per controllare i log degli errori
nel servizio di collegamento dell'account.
|
GAL_INTERNAL |
Si è verificato un errore interno di Google durante il tentativo di Google di recuperare un
token di accesso.
Se noti un aumento della percentuale di questo errore nel logging di Google Cloud, contatta per ulteriori informazioni. |
GAL_INVALID_ARGUMENT |
Si è verificato un errore interno di Google durante il tentativo di Google di recuperare un
token di accesso.
Se noti un aumento della percentuale di questo errore nel logging di Google Cloud, contatta per ulteriori informazioni. |
GAL_NOT_FOUND |
I token di accesso e di aggiornamento dell'utente archiviati su Google vengono
invalidata e non può più essere aggiornata. L'utente deve
ricollegare il proprio account per continuare a utilizzare il servizio.
Se noti un aumento della percentuale di questo errore nel logging di Google Cloud, contatta per ulteriori informazioni. |
GAL_PERMISSION_DENIED |
Si è verificato un errore interno di Google quando la condivisione dei token non
autorizzati.
Se noti un aumento della percentuale di questo errore nel logging di Google Cloud, contatta per ulteriori informazioni. |
GAL_REFRESH_IN_PROGRESS |
Il token di accesso dell'utente è scaduto e si è verificato un altro tentativo simultaneo di
aggiornare è già in corso.
Non si tratta di un problema e non è richiesta alcuna azione da parte tua. |
INVALID_AUTH_TOKEN |
Google ha ricevuto un codice di errore HTTP 401 dal tuo servizio.
Il token di accesso non è scaduto, ma è stato invalidato dal servizio. Utilizza requestId in Logging di Google Cloud per verificare lo stato intelligente
log dei servizi a domicilio.
|
INVALID_JSON |
La risposta JSON non può essere analizzata o compresa.
Verifica la presenza di sintassi non valida nella struttura della risposta JSON, ad esempio come parentesi non corrispondenti, virgole mancanti, caratteri non validi. |
OPEN_AUTH_FAILURE |
Il token di accesso dell'utente è scaduto e Google non è in grado di aggiornarlo.
oppure Google ha ricevuto un codice di errore HTTP 401 dal tuo servizio.
Se noti un aumento della frequenza di questo codice, controlla se compare anche una Aumento del tasso di errori relativi agli intent o agli aggiornamenti della smart home richieste di token. |
PARTNER_RESPONSE_INVALID_ERROR_CODE |
La risposta indica un codice di errore non riconosciuto.
Se la risposta alla richiesta indica un errore, assicurati di utilizzarne una fornite dai nostri codici di errore supportati. |
PARTNER_RESPONSE_INVALID_PAYLOAD |
Il campo della risposta payload non può essere analizzato come JSON
Oggetto.
Verifica se il campo del payload nella risposta alla richiesta ha una corrispondenza ed è strutturata correttamente come campo JSON. |
PARTNER_RESPONSE_INVALID_STATUS |
La risposta non indica uno stato o indica uno stato errato.
Le risposte alle richieste di evasione dell'intent devono indicare uno stato con SUCCESS, OFFLINE, ERROR, EXCEPTIONS . Tu
puoi trovare ulteriori informazioni su
per la gestione di errori ed eccezioni.
|
PARTNER_RESPONSE_MISSING_COMMANDS_AND_DEVICES |
Uno o più intent presenti nella richiesta non sono presenti nella
la risposta corretta.
Verifica che di esecuzione automatica sia strutturata correttamente e che i risultati per tutti gli intent della richiesta siano presenti nella tua risposta. |
PARTNER_RESPONSE_MISSING_DEVICE |
Uno o più dispositivi presenti nella richiesta non sono presenti nella
la risposta corretta.
Verifica che di esecuzione automatica sia strutturata correttamente e che tutti i dispositivi ID della richiesta presenti nella risposta. |
PARTNER_RESPONSE_MISSING_PAYLOAD |
La risposta non contiene un campo payload .
Assicurati di includere un campo relativo al payload nella risposta alla richiesta. Tu puoi scoprire di più su come creare correttamente di esecuzione automatica. |
PARTNER_RESPONSE_NOT_OBJECT |
Impossibile analizzare la risposta come oggetto JSON.
Verifica che in tutti i campi della risposta alla richiesta non siano presenti caratteri indesiderati. parentesi non corrispondenti o errori di formattazione. Alcuni caratteri Unicode potrebbero non essere supportate. Assicurati inoltre che la risposta sia corretta strutturati come un oggetto JSON. |
PROTOCOL_ERROR |
Errore durante l'elaborazione della richiesta.
Utilizza requestId in Google Cloud Logging per controllare
log dei servizi per la smart home.
|
RESPONSE_TIMEOUT |
Timeout della richiesta durante l'attesa della risposta.
Il periodo di timeout per l'invio di una risposta è di 9 secondi dal momento in cui quando viene inviata la richiesta. Assicurati di inviare una risposta entro questo periodo del tempo. |
RESPONSE_UNAVAILABLE |
Non viene ricevuta alcuna risposta o la risposta non indica lo stato.
Le risposte alle richieste di evasione dell'intent devono essere strutturate secondo documenti per la smart home e indicare lo stato. |
TRANSIENT_ERROR |
Un errore temporaneo è un errore che si risolve automaticamente.
In genere questi errori si manifestano come una connessione a un dispositivo o l'interruzione del servizio. Inoltre, se le nuove connessioni a un server non possono aperto. |
Log di ricerca
Una volta acquisita dimestichezza con il monitoraggio delle integrazioni tramite le metriche, è quello di risolvere errori specifici utilizzando Cloud Logging Un log degli errori viene una voce di tipo JSON con campi contenenti informazioni utili come ora, errore il codice e i dettagli relativi all'intent della smart home di origine.
All'interno di Google Cloud esistono più sistemi che inviano i log a il tuo progetto in qualsiasi momento. Devi scrivere query per filtrare i log e trovare quelli che ti servono. Le query possono essere basate su un intervallo di tempo, Risorsa, registra il valore Gravità o voci personalizzate.
Puoi utilizzare i pulsanti di query per creare filtri personalizzati.
Per specificare un intervallo di tempo, fai clic sul pulsante di selezione dell'intervallo di tempo.
e scegli una delle opzioni fornite le opzioni di CPU e memoria disponibili. In questo modo i log verranno filtrati e verranno mostrati quelli che hanno origine nel nell'intervallo di tempo selezionato.Per specificare una Risorsa, fai clic sul menu a discesa Risorsa. quindi scegli Progetto di azione dell'Assistente Google. In questo modo, aggiungi un filtro della query per mostrare i log che hanno origine dal tuo progetto.
Utilizza il pulsante Gravità per filtrare in base a Emergenza, Informazioni, Debug, e altri livelli di log di gravità.
Puoi anche utilizzare il campo Query in Logs Explorer
per inserire voci personalizzate. Il motore di query utilizzato da questo campo supporta
per le query di base come la corrispondenza delle stringhe e per i tipi più avanzati di query, tra cui
comparatori (<, >=, !=
) e operatori booleani (AND, OR, NOT
).
Ad esempio, la voce personalizzata riportata di seguito restituirà errori che
provengono da un tipo di dispositivo LIGHT
:
resource.type = "assistant_action_project" AND severity = ERROR AND jsonPayload.executionLog.executionResults.actionResults.device.deviceType = "LIGHT"
Visita la libreria delle query. per trovare altri esempi per eseguire query sui log in modo efficace.
Correzioni dei test
Dopo aver identificato gli errori e applicato gli aggiornamenti per correggerli, ti consigliamo di testare le tue correzioni a fondo, Google Home Test Suite È disponibile una guida dell'utente come usare Test Suite, che ti guida nella procedura di test i cambiamenti in modo efficace.
Risorse didattiche
Questo documento fornisce i passaggi per risolvere gli errori della tua smart home Azione. Per saperne di più sul debug, puoi anche consultare i nostri codelab:
- Debug del codelab sulla smart home: Guida rapida per eseguire il debug dell'integrazione nel cloud per la smart home.
- Debug del codelab casa locale: Guida rapida per eseguire il debug dell'integrazione locale per la smart home.