Ce document explique comment trouver des données de journal et résoudre les problèmes de surveillance synthétique et de test de disponibilité :
- Rechercher des journaux
- Résoudre les problèmes liés aux notifications
- Résoudre les problèmes liés aux tests de disponibilité publics
- Résoudre les problèmes liés aux tests de disponibilité privés
- Résoudre les problèmes liés aux moniteurs synthétiques
Rechercher des journaux
Cette section explique comment trouver les journaux de vos moniteurs synthétiques et de vos tests de disponibilité :
-
Dans la console Google Cloud, accédez à la page Explorateur de journaux.
Accéder à l'explorateur de journaux
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.
Effectuez l'une des actions suivantes :
Pour rechercher tous les journaux associés à vos surveillances synthétiques ou à vos tests de disponibilité, procédez comme suit : par type de ressource. Vous pouvez utiliser le menu Ressource ou saisissez une requête.
Pour les tests de disponibilité, dans le menu Ressource, sélectionnez URL du test de disponibilité, ou saisissez la requête suivante dans la requête puis cliquez sur Run query (Exécuter la requête) :
resource.type="uptime_url"
Pour les moniteurs synthétiques, dans le menu Resource (Ressource), sélectionnez Cloud Run Revision (Révision dans Cloud Run), ou saisissez la requête suivante dans l'éditeur de requête, puis cliquez sur Run query (Exécuter la requête) :
resource.type="cloud_run_revision"
Pour trouver les journaux contenant des informations sur la réponse reçue lors de l'exécution d'un moniteur synthétique ou d'un test de disponibilité, procédez comme suit :
Pour effectuer une requête en utilisant l'ID de la surveillance synthétique ou du test de disponibilité, utilisez le format suivant lorsque vous saisissez l'ID dans l'éditeur de requête : puis cliquez sur Exécuter la requête.
labels.check_id="my-check-id"
Pour interroger les journaux contenant des données de réponse pour les requêtes émises par les moniteurs synthétiques et les tests de disponibilité, saisissez la requête suivante dans l'éditeur de requêtes, puis cliquez sur Exécuter la requête.
"UptimeCheckResult"
La requête précédente correspond à toutes les entrées de journal qui incluent la chaîne
"UptimeCheckResult"
Ces journaux incluent les éléments suivants:
ID de la surveillance synthétique ou du test de disponibilité, stocké dans le champ
labels.check_id
.Pour les moniteurs synthétiques, le nom de votre fonction Cloud Run, qui est stocké dans le champ
resource.labels.service_name
.Lorsque des données de trace sont collectées, l'ID d'une trace associée, qui est stocké dans le champ
trace
.
Pour vérifier que votre service a reçu des requêtes depuis des serveurs Google Cloud, copiez la requête suivante dans le l'éditeur de requête, puis cliquez sur Exécuter la requête:
"GoogleStackdriverMonitoring-UptimeChecks"
Le champ
protoPayload.ip
contient l'une des adresses utilisées par le de tests de disponibilité. Pour savoir comment répertorier toutes les adresses IP consultez la section Répertorier les adresses IP.
Résoudre les problèmes liés aux notifications
Cette section décrit certaines erreurs que vous pouvez rencontrer lors de la configuration des règles d'alerte et fournit des informations pour les résoudre.
Un vérificateur a échoué, mais les autres ont réussi
Vous examinez les métriques de vos tests de disponibilité et vous remarquez le vérificateur a signalé un échec lorsque tous les autres vérificateurs ont signalé un succès.
Aucune action n'est requise de votre part pour résoudre ce problème.
Lorsqu'un seul vérificateur signale un échec, celui-ci peut être dû à la commande du vérificateur expire en raison d'un problème de réseau. Autrement dit, au lieu d'échouer, la commande ne se termine pas dans le délai spécifié.
Les règles d'alerte qui utilisent la configuration par défaut nécessitent des échecs d'au moins deux vérificateurs avant de créer un incident et d'envoyer une notification. Un échec signalé par un seul vérificateur n'entraîne pas de notification.
Vous avez reçu une notification et souhaitez déboguer l'échec
Pour identifier le moment où l'échec a commencé, effectuez l'une des opérations suivantes :
Pour les tests de disponibilité, consultez la page Détails de la disponibilité afin de déterminer quand l'échec s'est produit :
-
Dans la console Google Cloud, accédez à la page Tests de disponibilité :
Accéder à la page Tests de disponibilité
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.
Recherchez et sélectionnez le test de disponibilité.
Le graphique Vérifications réussies affiche l'historique des vérifications. Pour déterminer quand le test de disponibilité a échoué pour la première fois, vous devrez peut-être modifier la période du graphique. Le sélecteur de période est située dans la barre d'outils de la page Détails du test de disponibilité.
-
Pour la surveillance synthétique, vous pouvez déterminer quand l'échec s'est produit Accédez à la page Informations sur le temps d'activité:
-
Dans la console Google Cloud, accédez à Page Surveillance synthétique:
Accéder à Surveillance synthétique
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.
- Recherchez et sélectionnez le moniteur synthétique.
-
Pour savoir comment trouver les données de journaux associées, consultez la section de cette page intitulée Rechercher des journaux.
Vous n'êtes pas averti en cas d'échec d'un test de disponibilité
Vous avez configuré un test de disponibilité et vous consultez la page Détails du temps d'activité pour ce test. Vous remarquez que le graphique Vérifications réussies indique qu'au moins un échec du vérificateur. Cependant, vous n'avez reçu aucune notification.
Par défaut, la règle d'alerte est configurée pour créer un incident et envoyer une notification lorsque les vérificateurs d'au moins deux régions ne reçoivent pas de réponse ; à un test de disponibilité. Ces défaillances doivent se produire simultanément.
Vous pouvez modifier la condition de la règle d'alerte afin d'être averti lorsqu'une seule région ne parvient pas à recevoir de réponse. Toutefois, nous vous encourageons à utiliser la configuration par défaut, qui réduit le nombre de notifications que vous pourriez recevoir en raison d'échecs temporaires.
Pour afficher ou modifier une règle d'alerte, procédez comme suit :
-
Dans la console Google Cloud, accédez à la page notificationsAlertes :
Accéder à l'interface des alertes
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.
- Cliquez sur Afficher toutes les règles dans le volet Règles.
Recherchez la règle que vous souhaitez afficher ou modifier, puis cliquez sur l'icône nom de la stratégie.
Vous pouvez consulter et modifier la règle depuis la page Détails de la règle.
Résoudre les problèmes liés aux tests de disponibilité publics
Cette section décrit certaines erreurs que vous pouvez rencontrer lors de l'utilisation des tests de disponibilité publics et fournit des informations pour les résoudre.
Échec de vos tests de disponibilité publics
Vous configurez un test de disponibilité public, mais vous recevez une erreur lorsque vous effectuez l'étape de validation.
Voici des causes possibles de l'échec d'un test de disponibilité :
- Erreur de connexion - Refusée : si vous utilisez le type de connexion HTTP par défaut, vérifiez qu'un serveur Web est installé et qu'il répond aux requêtes HTTP. Une erreur de connexion peut se produire sur une nouvelle instance si vous n'avez pas installé de serveur Web ; consultez les Démarrage rapide pour Compute Engine Si vous utilisez le type de connexion HTTPS, vous devrez peut-être effectuer des étapes de configuration supplémentaires. Pour les problèmes de pare-feu, consultez Répertoriez les adresses IP des serveurs de tests de disponibilité.
- Nom ou service introuvable: le nom d'hôte est peut-être incorrect.
- 403 (interdit) : le service renvoie un code d'erreur au vérificateur de tests de disponibilité. Par exemple, la configuration par défaut du serveur Web Apache renvoie ce code sous Amazon Linux, mais elle renvoie le code 200 (succès) sous d'autres versions de Linux. Consultez le tutoriel LAMP pour Amazon Linux ou la documentation de votre serveur Web.
- 404 (introuvable) : le chemin d'accès est peut-être incorrect.
- 408 (Délai avant expiration de la requête) ou absence de réponse : le numéro de port est peut-être incorrect, le service ne fonctionne peut-être pas ou est peut-être inaccessible, ou le délai avant expiration est peut-être trop court. Vérifiez que votre pare-feu autorise le trafic provenant des serveurs de temps d'activité ; voir Répertoriez les adresses IP des serveurs de tests de disponibilité. Le délai avant expiration est spécifié dans les options de validation de réponse.
Pour vous aider à résoudre les problèmes de tests de disponibilité publics ayant échoué, vous pouvez configurer vos tests de disponibilité pour qu'ils envoient jusqu'à trois pings ICMP pendant le test. Les pings peuvent vous aider à distinguer des défaillances causées, par exemple, par des problèmes de connectivité réseau et par des délais avant expiration dans votre application. Pour en savoir plus, consultez Utilisez des pings ICMP.
Résoudre les problèmes liés aux tests de disponibilité privés
Cette section décrit certaines erreurs que vous pouvez rencontrer lors de l'utilisation de vérifications de l'état de disponibilité privées et fournit des informations pour les résoudre.
Échec de la création du test de disponibilité
Les paramètres de votre projet Google Cloud peuvent empêcher la modification des rôles attribués au compte de service utilisé par les tests de disponibilité gérer les interactions avec le service de l'Annuaire des services. Dans ce cas, la création du test de disponibilité échoue.
Cette section explique comment attribuer les rôles dont le compte de service a besoin :
console Google Cloud
Lorsque vous utilisez la console Google Cloud pour créer un test de disponibilité privé, la console Google Cloud exécute les commandes pour accorder des rôles de l'Annuaire des services au compte de service.
Pour savoir comment attribuer des rôles à un compte de service, consultez la section Autoriser le compte de service.
API: projet de surveillance
Lorsque vous créez une vérification de l'état de disponibilité privée pour un service Service Directory et des ressources privées dans un seul projet Google Cloud, la requête peut réussir ou échouer. Le résultat dépend de la désactivation ou non des attributions automatiques de rôles pour les comptes de service dans votre projet :
La première création de vérification de l'état de fonctionnement aboutit si votre projet autorise l'attribution automatique de rôles aux comptes de service. Un compte de service est créé pour vous et se voit attribuer les rôles nécessaires.
La première création de vérification de l'état échoue si votre projet n'autorise pas les attributions automatiques de rôles aux comptes de service. Un compte de service est créé, mais aucun rôle n'est accordé.
Si la création du test de disponibilité échoue, procédez comme suit:
- Autorisez le compte de service.
- Attendez quelques minutes que les autorisations se propagent.
- Réessayez de créer le test de disponibilité privé.
API: projet surveillé
La première fois que vous créez un test de disponibilité privé qui cible service de l'Annuaire des services dans un projet surveillé des ressources privées dans différents projets Google Cloud, la requête échoue et entraîne la création Compte de service Monitoring.
La méthode d'autorisation du compte de service dépend du nombre Les projets Google Cloud que vous utilisez et leurs relations. Vous pouvez être impliqué dans quatre projets au maximum :
- Projet dans lequel vous avez défini le test de disponibilité privé.
- Le projet surveillé dans lequel vous avez configuré le Service de l'Annuaire des services.
- Projet dans lequel vous avez configuré le réseau VPC.
- Projet dans lequel les ressources réseau, telles que les VM ou les équilibreurs de charge, sont configuré. Ce projet ne dispose d'aucun rôle dans l'autorisation du compte de service abordées ici.
Lorsque la création du premier test de disponibilité échoue, procédez comme suit:
- Autorisez le compte de service.
- Attendez quelques minutes que les autorisations soient propagées.
- Essayez de créer à nouveau le test de disponibilité privé.
Accès refusé
Vos tests de disponibilité échouent avec des résultats VPC_ACCESS_DENIED
. Ce résultat
qu'un aspect de votre configuration réseau ou de votre compte de service
l'autorisation n'est pas correcte.
Vérifiez l'autorisation de votre compte de service pour utiliser un projet de champ d'application ou un projet surveillé, comme décrit dans la section Échec de la création de la vérification de l'état de disponibilité.
Pour plus d'informations sur l'accès aux réseaux privés, consultez Configurez le projet réseau.
Résultats anormaux des tests de disponibilité privés
Vous disposez d'un service d'Annuaire des services plusieurs VM et que votre configuration de service contient plusieurs points de terminaison. Lorsque vous arrêtez l'une des VM, le test de disponibilité indique toujours la réussite de l'opération.
Lorsque la configuration de votre service contient plusieurs points de terminaison, l'un d'eux est choisi au hasard. Si la VM associée au point de terminaison choisi est en cours d'exécution, le test de disponibilité aboutit, même si l'une des VM est indisponible.
En-têtes par défaut
Vos tests de disponibilité renvoient des erreurs ou des résultats inattendus. Cela pourrait se produire si vous avez remplacé les valeurs d'en-tête par défaut.
Lorsqu'une requête est envoyée pour une vérification de l'état de disponibilité privé à un point de terminaison cible, elle inclut les en-têtes et valeurs suivants :
En-tête | Valeur |
---|---|
HTTP_USER_AGENT |
GoogleStackdriverMonitoring-UptimeChecks(https://cloud.google.com/monitoring) |
HTTP_CONNECTION |
keep-alive |
HTTP_HOST |
Adresse IP du point de terminaison de l'annuaire des services |
HTTP_ACCEPT_ENCODING |
gzip , deflate , br |
CONTENT_LENGTH |
Calculé à partir des données de publication sur la disponibilité |
Si vous tentez de remplacer ces valeurs, voici ce qui peut se produire:
- Le test de disponibilité signale des erreurs
- Les valeurs de remplacement sont supprimées et remplacées par les valeurs de la table
Aucune donnée visible
Aucune donnée n'est affichée dans le tableau de bord de vérification de la disponibilité lorsque votre vérification de la disponibilité se trouve dans un projet Google Cloud différent du service Service Directory.
Assurez-vous que le projet Google Cloud contenant la vérification de l'état de fonctionnement surveille le projet Google Cloud contenant le service d'annuaire des services.
Pour savoir comment lister les projets surveillés et en ajouter, consultez la section Configurer un champ d'application des métriques pour plusieurs projets.
Résoudre les problèmes liés aux moniteurs synthétiques
Cette section fournit des informations qui peuvent vous aider à résoudre les problèmes liés à vos moniteurs synthétiques.
Message d'erreur après l'activation des API
Vous ouvrez le flux de création pour la surveillance synthétique et êtes invité à activer au moins une API. Une fois les API activées, un message semblable au suivant s'affiche :
An error occurred during fetching available regions: Cloud Functions API has not been used in project PROJECT_ID before or it is disabled.
Le message d'erreur vous recommande de vérifier que l'API est activée, puis vous conseille d'attendre et de réessayer l'action.
Pour vérifier que l'API est activée, accédez à la page API et la page "Services" de votre projet:
Après avoir vérifié que l'API est activée, vous pouvez passer à l' créer un flux. La condition est résolue automatiquement une fois que l'API l'activation se propage dans le backend.
Les requêtes HTTP sortantes ne sont pas suivies.
Vous configurez la surveillance synthétique afin de collecter des données de trace pour la sortie. Requêtes HTTP. Vos données de trace n'affichent qu'un seul segment, semblable à celui-ci : capture d'écran:
Pour résoudre ce problème, assurez-vous que votre compte de service
a reçu le rôle Agent Cloud Trace (roles/cloudtrace.agent
).
Le rôle Éditeur (roles/editor
) est également suffisant.
Pour afficher les rôles attribués à votre compte de service, procédez comme suit :
-
Dans la console Google Cloud, accédez à la page IAM :
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est IAM et administration.
- Sélectionnez Inclure les attributions de rôles fournies par Google.
Si le compte de service utilisé par votre moniteur synthétique n'est pas listé ou s'il ne s'est pas vu attribuer un rôle qui inclut les autorisations du rôle Agent Cloud Trace (
roles/cloudtrace.agent
), attribuez ce rôle à votre compte de service.Si vous ne connaissez pas le nom de votre compte de service, sélectionnez Comptes de service.
État "En cours"
La page Surveillance synthétique liste un moniteur synthétique avec un état In progress
. L'état In progress
signifie que
la surveillance synthétique a été créée récemment
et qu'il n'y a aucune donnée à afficher.
ou que le déploiement de la fonction a échoué.
Pour déterminer si le déploiement de la fonction a échoué, procédez comme suit :
Assurez-vous que le nom de votre fonction Cloud Run n'est pas contiennent un trait de soulignement. Si un trait de soulignement est présent, supprimez-le et redéployer la fonction Cloud Run.
Ouvrez la page Détails de la surveillance synthétique de la surveillance synthétique.
Si le message suivant s'affiche, supprimez le moniteur synthétique.
Cloud Function not found for this Synthetic monitor. Please confirm it exists or delete this monitor.
Le message d'erreur indique que la fonction a été supprimée et que le moniteur synthétique ne peut donc pas l'exécuter.
Ouvrez la page des fonctions Cloud Run correspondant à la fonction. Ouvrir cette page sur la page Détails de la surveillance synthétique, cliquez sur Code, puis sur cliquez sur le nom de la fonction.
Si un message semblable au suivant s'affiche, cela signifie que la fonction a échoué. à déployer.
This function has failed to deploy and will not work correctly. Please edit and redeploy
Pour résoudre ce problème, examinez le code de la fonction et corrigez les erreurs qui empêchent la compilation ou le déploiement de la fonction.
Lorsque vous créez un moniteur synthétique, le déploiement et l'exécution de la fonction peuvent prendre plusieurs minutes.
État de l'avertissement
La section Surveillance synthétique liste un moniteur synthétique avec l'état Warning
. Un état Warning
signifie que les résultats d'exécution sont incohérents. Cela peut indiquer un problème de conception
test, ou cela peut indiquer que ce qui est testé a un comportement incohérent.
État "Échec"
La section Surveillance synthétique liste un moniteur synthétique avec l'état Failing
. Pour en savoir plus sur le motif de l'échec,
afficher l'historique des exécutions le plus récent.
Si le message d'erreur
Request failed with status code 429
s'affiche, la cible de la requête HTTP a rejeté la commande. Pour résoudre ce problème, vous devez modifier la cible de la surveillance synthétique.Le point de terminaison
https://www.google.com
rejette les requêtes effectuées par les moniteurs synthétiques.Si l'échec renvoie une durée d'exécution de
0ms
, alors La fonction Cloud Run manque peut-être de mémoire. Pour résoudre ce problème, modifiez votre fonction Cloud Run, puis augmentez la mémoire à au moins 2 Go et définissez le champ CPU sur1
.
Échec de la suppression d'une surveillance synthétique
Vous utilisez l'API Cloud Monitoring pour supprimer une surveillance synthétique, mais l'API échoue avec un résultat semblable à celui-ci:
{ "error": { "code": 400, "message": "Request contains an invalid argument.", "status": "INVALID_ARGUMENT", "details": [ { "@type": "type.googleapis.com/google.rpc.DebugInfo", "detail": "[ORIGINAL ERROR] generic::invalid_argument: Cannot delete check 1228258045726183344. One or more alerting policies is using it.Delete the alerting policy with id projects/myproject/alertPolicies/16594654141392976482 and any other policies using this uptime check and try again." } ] } }
Pour résoudre le problème, supprimez les règles d'alerte surveiller les résultats de la surveillance synthétique, puis la supprimer.
Impossible de modifier la configuration d'un vérificateur de liens brisés
Vous avez créé un vérificateur de liens brisés à l'aide de la console Google Cloud. Vous souhaitez modifier les éléments HTML testés ou modifier le délai avant expiration de l'URI, les tentatives de nouvelle connexion, l'attente du sélecteur et les options par lien. Toutefois, lorsque vous modifiez l'outil de vérification des liens brisés, la console Google Cloud n'affiche pas les champs de configuration.
Pour résoudre ce problème, procédez comme suit :
-
Dans la console Google Cloud, accédez à la page Surveillance synthétique :
Accéder à Surveillance synthétique
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.
- Recherchez le moniteur synthétique que vous souhaitez modifier, cliquez sur more_vert Plus d'options, puis sélectionnez Modifier.
- Cliquez sur Modifier la fonction.
Modifiez l'objet
options
dans le fichierindex.js
, puis cliquez sur Appliquer la fonction.Pour en savoir plus sur les champs et la syntaxe de cet objet, consultez
broken-links-ok/index.js
.Cliquez sur Enregistrer.
Écran de la console Google Cloud indiquant l'échec de l'enregistrement des captures d'écran
Vous avez créé un vérificateur de liens non fonctionnels et vous l'avez configuré pour enregistrer des captures d'écran. Toutefois, la console Google Cloud affiche l'un des avertissements suivants messages ainsi que des informations plus détaillées:
InvalidStorageLocation
StorageValidationError
BucketCreationError
ScreenshotFileUploadError
Pour résoudre ces échecs, procédez comme suit:
Si le message
InvalidStorageLocation
s'affiche, vérifiez l'existence de cette option. du bucket Cloud Storage spécifié dans le champoptions.screenshot_options.storage_location
Affichez les journaux associés à votre fonction Cloud Run. Pour en savoir plus, consultez la section Rechercher des journaux.
Vérifiez que le compte de service utilisé dans la La fonction Cloud Run dispose d'un rôle Identity and Access Management qui lui permet de créer, y accéder et écrire dans des buckets Cloud Storage.