Google Cloud vous fournit les outils pour surveiller la fiabilité de vos projets avec Google Cloud Monitoring et déboguer les problèmes liés à Google Cloud Logging les journaux d'erreurs. Chaque fois qu'un échec se produit lors du traitement des intents de l'utilisateur, Le pipeline Google Home Analytics enregistre l'échec de vos métriques. publie un journal d'erreurs dans les journaux de votre projet.
Pour résoudre ces erreurs, suivez ces deux étapes:
- Surveillez l'état de vos projets grâce aux métriques pour la maison connectée.
- Examinez les problèmes en consultant les descriptions détaillées des erreurs dans le les journaux d'erreurs.
Surveiller les erreurs
Vous pouvez utiliser des Google Cloud Monitoring dashboards pour accéder aux métriques de votre projet. Certains graphiques clés sont particulièrement utiles pour surveiller la qualité et le débogage:
- Le graphique Taux de réussite est le premier graphique à prendre en compte pour surveiller la fiabilité de vos projets. Les baisses de ce graphique peuvent indiquer une panne pour une partie ou la totalité de votre base d'utilisateurs. Nous vous recommandons surveillez attentivement ce graphique afin de détecter toute irrégularité après chaque modification à votre projet.
- Le graphique de latence au 95e centile est un indicateur important de la façon dont que votre action de maison connectée effectue pour vos utilisateurs. Fluctuations soudaines de ce graphique peut indiquer que vos systèmes ne parviennent pas à rattraper leur retard avec les demandes. Il est recommandé de vérifier régulièrement ce graphique pour voir tout comportement inattendu.
- Les graphiques Répartition des erreurs sont particulièrement utiles pour résoudre les problèmes liés à vos intégrations. Pour chaque erreur mis en évidence dans le graphique du pourcentage de réussite, un code d'erreur s'affiche dans la répartition des erreurs. Vous pouvez voir les erreurs signalées par l'Google Home platform et comment résoudre ces problèmes dans le tableau ci-dessous.
Codes d'erreur de la plate-forme
Voici quelques codes d'erreur courants que vous pouvez voir dans les journaux de votre projet pour Identifiez les problèmes détectés par Google Home platform. Veuillez consulter tableau suivant pour obtenir des informations de dépannage.
Code d'erreur | Description |
---|---|
BACKEND_FAILURE_URL_ERROR |
Google a reçu un code d'erreur HTTP 4xx autre que 401 de votre
Google Cloud.
Utilisez le requestId dans la journalisation GCP pour vérifier votre
les journaux des services à domicile.
|
BACKEND_FAILURE_URL_TIMEOUT |
La requête de Google a expiré lors de la tentative de connexion à votre service.
Vérifiez que votre service est en ligne, qu'il accepte les connexions, et n'est pas en surcapacité. Vérifiez également que la cible votre appareil est allumé, en ligne et synchronisé. |
BACKEND_FAILURE_URL_UNREACHABLE |
Google a reçu un code d'erreur HTTP 5xx de la part de votre service.
Utilisez le requestId dans la journalisation GCP pour vérifier votre
les journaux des services à domicile.
|
DEVICE_NOT_FOUND |
L'appareil n'existe pas du côté du service partenaire.
Cela indique normalement un échec de la synchronisation des données ou une concurrence . |
GAL_BAD_3P_RESPONSE |
Google ne peut pas analyser la réponse de votre service d'association de comptes
en raison d'un format ou de valeurs non valides dans la charge utile.
Consulter les journaux d'erreurs à l'aide de l' requestId dans GCP Logging
dans votre service d'association de comptes.
|
GAL_INTERNAL |
Une erreur interne s'est produite lorsque Google a tenté de récupérer un
un jeton d'accès.
Si vous constatez une augmentation du taux de cette erreur dans la journalisation GCP, contactez pour en savoir plus. |
GAL_INVALID_ARGUMENT |
Une erreur interne s'est produite lorsque Google a tenté de récupérer un
un jeton d'accès.
Si vous constatez une augmentation du taux de cette erreur dans la journalisation GCP, contactez pour en savoir plus. |
GAL_NOT_FOUND |
Les jetons d'accès et d'actualisation de l'utilisateur stockés dans Google sont
invalidée et ne peut plus être actualisée. L’utilisateur doit
associer de nouveau son compte pour continuer à utiliser votre service.
Si vous constatez une augmentation du taux de cette erreur dans la journalisation GCP, contactez pour en savoir plus. |
GAL_PERMISSION_DENIED |
Une erreur interne Google s'est produite lorsque le partage de jetons n'est pas
autorisé.
Si vous constatez une augmentation du taux de cette erreur dans la journalisation GCP, contactez pour en savoir plus. |
GAL_REFRESH_IN_PROGRESS |
Le jeton d'accès de l'utilisateur a expiré et une autre tentative simultanée de
actualiser, cela est déjà en cours.
Il ne s'agit pas d'un problème, et aucune action n'est requise de votre part. |
INVALID_AUTH_TOKEN |
Google a reçu un code d'erreur HTTP 401 de la part de votre service.
Le jeton d'accès n'a pas expiré, mais votre service l'a invalidé. Utilisez le requestId dans la journalisation GCP pour vérifier votre
les journaux des services à domicile.
|
INVALID_JSON |
Impossible d'analyser ou de comprendre la réponse JSON.
Vérifiez que la structure de votre réponse JSON ne contient pas de syntaxe non valide, telle que (crochets non concordants, virgules manquantes, caractères non valides). |
OPEN_AUTH_FAILURE |
Le jeton d'accès de l'utilisateur a expiré et Google ne peut pas l'actualiser.
ou Google a reçu un code d'erreur HTTP 401 de la part de votre service.
Si vous constatez une augmentation du taux de ce code, vérifiez si une augmentation du taux d'erreurs liées aux intentions ou à l'actualisation de la maison connectée de jetons. |
PARTNER_RESPONSE_INVALID_ERROR_CODE |
La réponse indique un code d'erreur non reconnu.
Si la réponse à votre requête indique une erreur, assurez-vous d'en utiliser une fournies par notre codes d'erreur pris en charge. |
PARTNER_RESPONSE_INVALID_PAYLOAD |
Le champ payload de la réponse ne peut pas être analysé en tant qu'objet JSON.
Vérifier si le champ de charge utile dans votre réponse à la requête a une correspondance entre crochets et est correctement structuré en tant que champ JSON. |
PARTNER_RESPONSE_INVALID_STATUS |
La réponse n'indique pas un état ou indique un état incorrect.
Les réponses aux requêtes de traitement d'intent doivent indiquer un état avec SUCCESS, OFFLINE, ERROR, EXCEPTIONS . Toi
pouvez trouver plus d'informations sur
la gestion des erreurs et des exceptions.
|
PARTNER_RESPONSE_MISSING_COMMANDS_AND_DEVICES |
Un ou plusieurs intents présents dans la requête sont manquants dans le
de réponse.
Vérifiez que votre d'exécution est correctement structurée et que les résultats pour tous les intents de la requête sont présents dans votre réponse. |
PARTNER_RESPONSE_MISSING_DEVICE |
Un ou plusieurs appareils présents dans la requête ne figurent pas dans la réponse.
Vérifiez que votre réponse d'exécution est correctement structurée et que tous les ID d'appareil de la requête sont présents dans votre réponse. |
PARTNER_RESPONSE_MISSING_PAYLOAD |
La réponse ne contient pas de champ payload .
Veillez à inclure un champ de charge utile dans la réponse à votre requête. Toi pouvez en savoir plus sur la façon de créer réponse d'exécution. |
PARTNER_RESPONSE_NOT_OBJECT |
La réponse ne peut pas être analysée en tant qu'objet JSON.
Vérifiez que tous les champs de la réponse à votre requête ne contiennent pas de caractères non intentionnels. des crochets non concordants ou des erreurs de mise en forme. Certains caractères Unicode n'est peut-être pas compatible. Assurez-vous également que votre réponse est correcte structuré comme un objet JSON. |
PROTOCOL_ERROR |
Échec du traitement de la requête.
Utilisez le requestId dans Google Cloud Logging pour vérifier votre
les journaux de service de la maison connectée.
|
RESPONSE_TIMEOUT |
Le délai d'attente de la réponse a expiré.
Le délai avant expiration pour l'envoi d'une réponse est de 9 secondes à compter du moment la demande est envoyée. Veillez à envoyer une réponse dans ce délai. |
RESPONSE_UNAVAILABLE |
Aucune réponse n'est reçue ou la réponse n'indique pas d'état.
Les réponses aux requêtes de traitement des intents doivent être structurées conformément aux docs pour maison connectée et indiquer son état. |
TRANSIENT_ERROR |
Une erreur temporaire est une erreur qui se résout d'elle-même.
Le plus souvent, ces erreurs se manifestent par une interruption de la connexion à un appareil ou à un service. De même, si les nouvelles connexions à un serveur ne peuvent pas être ouvert. |
Journaux sur les recherches
Une fois que vous savez surveiller vos intégrations à l'aide de métriques, est de résoudre des erreurs spécifiques Cloud Logging Un journal d'erreurs est Une entrée de type JSON avec des champs contenant des informations utiles comme l'heure, l'erreur et les détails concernant l'intent de maison connectée d'origine.
Dans Google Cloud, plusieurs systèmes envoient des journaux à votre projet à tout moment. Vous devez écrire des requêtes pour filtrer vos journaux et trouver ceux dont vous avez besoin. Les requêtes peuvent être basées sur une période, Ressource, journal Gravité ou entrées personnalisées.
Vous pouvez utiliser les boutons de requête pour créer vos filtres personnalisés.
Pour spécifier une période, cliquez sur le bouton de sélection de la période.
et choisissez l'une des options options. Cela filtrera les journaux et affichera ceux qui proviennent période sélectionnée.Pour spécifier une ressource, cliquez sur le menu déroulant Ressource, puis sélectionnez Projet d'action de l'Assistant Google. Un filtre est ajouté à votre requête pour afficher les journaux provenant de votre projet.
Utilisez le bouton Gravité pour filtrer par Urgence, Infos, Débogage. et d'autres niveaux de journalisation.
Vous pouvez également utiliser le champ de requête dans Logs Explorer
pour saisir des entrées personnalisées. Le moteur de requêtes utilisé par ce champ accepte à la fois
des requêtes de base telles que la correspondance de chaînes, ainsi que des types de requêtes plus avancés, y compris
les comparateurs (<, >=, !=
) et les opérateurs booléens (AND, OR, NOT
).
Par exemple, l'entrée personnalisée ci-dessous renverrait des erreurs qui
proviennent d'un type d'appareil LIGHT
:
resource.type = "assistant_action_project" AND severity = ERROR AND jsonPayload.executionLog.executionResults.actionResults.device.deviceType = "LIGHT"
Consultez la bibliothèque de requêtes pour trouver d'autres exemples d'interrogation efficace des journaux.
Test des correctifs
Une fois que vous avez identifié les erreurs et appliqué les mises à jour pour les corriger, nous vous recommandons de faire des tests vos corrections en détail avec Google Home Test Suite Nous fournissons un guide utilisateur sur comment utiliser Test Suite, qui vous guidera dans le test de votre les changements de manière efficace.
Ressources d'apprentissage
Ce document explique comment résoudre les erreurs sur votre maison connectée action. Vous pouvez également consulter nos ateliers de programmation pour en savoir plus sur le débogage:
- Atelier de programmation sur le débogage de la maison connectée: Guide de démarrage rapide pour déboguer l'intégration au cloud de votre maison connectée
- Atelier de programmation sur le débogage de la maison connectée locale : guide de démarrage rapide pour déboguer l'intégration locale de la maison connectée.