Ce document explique comment configurer un test périodique des liens contenus dans un URI en créant un monitor synthétique. Vous spécifiez les options du test, telles que l'URI d'origine, le nombre de liens testés et le nombre de tentatives, puis vous déployez une fonction Cloud Run préconfigurée. Pour vous aider à résoudre les problèmes et à déboguer, les moniteurs synthétiques enregistrent des informations détaillées sur chaque test, y compris des captures d'écran. Les captures d'écran vous permettent de voir exactement la réponse que les clients de votre application ont reçue.
Pour en savoir plus sur les moniteurs synthétiques, consultez À propos des moniteurs synthétiques.
Cette fonctionnalité n'est disponible que pour les projets Google Cloud . Pour les configurations App Hub, sélectionnez le projet hôte App Hub ou le projet de gestion du dossier compatible avec les applications.
À propos des outils de vérification des liens rompus
Chaque outil de vérification des liens brisés teste les liens de manière séquentielle. Il existe un délai d'attente synthétique global, qui est configurable.
Par défaut, un vérificateur de liens brisés effectue les opérations suivantes :
- Recherche les éléments d'ancrage HTML avec des attributs
href
dans l'URI d'origine. - Teste les 10 premiers liens trouvés dans l'URI d'origine.
- Pour chaque lien, le vérificateur envoie une requête et attend une réponse pendant 30 secondes maximum. Lorsqu'une réponse est reçue, le vérificateur s'assure que l'état de la réponse HTTP est
200
, ce qui indique une réponse réussie. Le vérificateur n'effectue pas de nouvelles tentatives.
Vous spécifiez l'URI d'origine. Vous pouvez configurer les éléments HTML que le vérificateur de liens brisés recherche, le nombre maximal d'éléments testés, le délai avant expiration par test et si des nouvelles tentatives sont effectuées. Vous pouvez également configurer des outils de vérification des liens rompus pour qu'ils attendent l'apparition d'un sélecteur.
Les vérificateurs de liens rompus utilisent le modèle broken-links-ok
. La configuration d'un vérificateur de liens brisés est spécifiée par l'objet options
du fichier index.js
. Si vous créez votre vérificateur à l'aide de la consoleGoogle Cloud , vous êtes invité à saisir chaque option de configuration, et la fonction Cloud Run est mise à jour pour vous. Toutefois, si vous utilisez l'API Cloud Monitoring ou Terraform, vous devez remplir cet objet.
Après avoir créé un vérificateur de liens brisés, pour modifier la configuration, mettez à jour l'objet options
et redéployez la fonction Cloud Run.
Avant de commencer
Effectuez les étapes suivantes dans le projet Google Cloud qui stockera le vérificateur de liens :
-
Pour obtenir les autorisations nécessaires pour afficher et modifier des synthétiques à l'aide de la console Google Cloud , demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet :
-
Éditeur Monitoring (
roles/monitoring.editor
) -
Développeur Cloud Functions (
roles/cloudfunctions.developer
)
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
-
Éditeur Monitoring (
-
Enable the Cloud Monitoring API, Artifact Registry API, Cloud Build API, Cloud Functions API, Cloud Logging API, Pub/Sub API, and Cloud Run Admin API APIs.
Vérifiez que votre projet Google Cloud contient le compte de service Compute Engine par défaut. Ce compte de service est créé lorsque vous activez l'API Compute Engine. Son nom est semblable à
12345-compute@developer.gserviceaccount.com
.Dans la console Google Cloud , accédez à la page Comptes de service :
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est IAM et administration.
Si le compte de service Compute Engine par défaut n'existe pas, cliquez sur Créer un compte de service, puis renseignez la boîte de dialogue.
Assurez-vous que le compte de service Compute Engine par défaut ou le compte de service que vous avez créé dispose du rôle Éditeur (
roles/editor
).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 contrôleur synthétique n'est pas listé ou s'il ne s'est pas vu attribuer un rôle incluant les autorisations du rôle Agent Cloud Trace (
roles/cloudtrace.agent
), attribuez ce rôle à votre compte de service.
-
- Configurez les canaux de notification que vous souhaitez utiliser pour recevoir les notifications. Nous vous recommandons de créer plusieurs types de canaux de notification. Pour en savoir plus, consultez Créer et gérer des canaux de notification et Créer et gérer des canaux de notification à l'aide d'API.
-
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
Terraform
Pour utiliser les exemples Terraform de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Pour en savoir plus, consultez Configurer les ADC pour un environnement de développement local dans la documentation sur l'authentification Google Cloud .
REST
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud .
Créer un vérificateur de liens non fonctionnels
Console
Lorsque vous créez un monitor synthétique à l'aide de la console Google Cloud , une fonction Cloud Run (2e génération) est déployée et le monitor correspondant est créé. Vous ne pouvez pas créer de monitor synthétique qui surveille une fonction Cloud Run existante.
- Assurez-vous d'avoir activé les API requises, que votre projet contient un compte de service Compute Engine par défaut et que ce compte dispose du rôle Éditeur (
roles/editor
). Pour en savoir plus, consultez Avant de commencer. -
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.
- Dans la barre d'outils de la console Google Cloud , sélectionnez votre projet Google Cloud . Pour les configurations App Hub, sélectionnez le projet hôte App Hub ou le projet de gestion du dossier compatible avec les applications.
- Sélectionnez Créer une surveillance synthétique.
- Pour le modèle, sélectionnez Vérificateur de liens brisés.
- Saisissez un nom pour le monitor synthétique.
Facultatif : Mettez à jour le délai de réponse, la fréquence de vérification et ajoutez des libellés définis par l'utilisateur.
Configurez l'URI et les éléments à tester :
Cliquez sur URI d'origine, puis saisissez l'URI que vous souhaitez tester. La valeur que vous saisissez doit être un point de terminaison HTTP ou HTTPS. Par exemple, vous pouvez saisir
https://mywebsite.example.com
.Facultatif : Dans Nombre de liens à suivre, modifiez le nombre maximal de liens à tester. La valeur par défaut de ce champ est 10.
Facultatif : Dans le champ Sélecteur d'éléments HTML, saisissez l'élément HTML que vous souhaitez faire correspondre, sous la forme d'une liste séparée par une virgule. La valeur que vous saisissez est convertie en chaîne, puis transmise à la méthode
Document: querySelectorAll()
.Par défaut, ce champ est défini sur
a
, ce qui correspond aux ancres. Vous pouvez saisir des valeurs telles quea, img
lorsque vous souhaitez faire correspondre à la fois les ancres et les images.Facultatif : Dans le champ Attributs HTML à suivre, saisissez les attributs HTML que vous souhaitez faire correspondre. Les valeurs séparées par des virgules que vous saisissez sont transmises individuellement à la méthode
getAttribute()
.Par défaut, ce champ est défini sur
href
, qui spécifie l'URI du lien. Vous pouvez saisir plusieurs attributs. Par exemple, vous pouvez saisirhref, src
. Dans cet exemple, le code recherche l'attributhref
, puis l'attributsrc
.Facultatif : Configurez le sélecteur d'attente, le délai avant expiration par URI, les nouvelles tentatives et les codes d'état attendus :
- Cliquez sur Afficher plus d'options.
Pour configurer le vérificateur de liens rompus afin qu'il attende qu'un sélecteur spécifique apparaisse dans l'URI avant que les liens ne soient extraits, saisissez les sélecteurs CSS dans le champ Sélecteur d'éléments à attendre. La valeur que vous saisissez est convertie en chaîne, puis transmise à la méthode
page.waitForSelector()
.Si le sélecteur n'apparaît pas avant l'expiration du délai, l'échec est enregistré dans les journaux.
Modifiez l'ordre dans lequel les liens sont sélectionnés pour le test.
Configurez les nouvelles tentatives.
Par défaut, une requête est envoyée à chaque lien. Si la requête initiale échoue pour une raison quelconque (par exemple, si la commande expire ou si le code d'état HTTP n'est pas
200
), le lien est marqué comme ayant échoué.Ce champ indique le nombre de fois où le vérificateur de liens brisés peut envoyer une requête HTTP à un lien avant de le marquer comme ayant échoué.
Configurez un délai avant expiration qui s'applique à chaque URI. Par défaut, cette valeur est définie sur 30 secondes.
Pour spécifier le code d'état et le délai d'attente attendus pour un URI spécifique, cliquez sur Ajouter une option par lien et remplissez la boîte de dialogue.
Facultatif : Configurez si les captures d'écran des réponses doivent être collectées et enregistrées. Si vous utilisez les paramètres par défaut, les captures d'écran ne sont pas enregistrées. Si vous activez la collecte de captures d'écran, vous pouvez collecter des captures d'écran pour tous les tests ou uniquement pour ceux qui échouent. Cloud Monitoring utilise la convention suivante pour nommer le bucket Cloud Storage :
gcm-PROJECT_ID-synthetics-LOCATION
Dans l'expression précédente :
- PROJECT_ID : ID de votre projet Google Cloud .
- LOCATION : emplacement de votre bucket Cloud Storage.
Vous pouvez utiliser un bucket Cloud Storage existant.
Vérifiez que votre configuration est correcte et complète, puis créez votre fonction Cloud Run :
Cliquez sur Créer une fonction.
Les valeurs des champs Configuration de l'URI sont copiées dans l'objet
Options
du fichierindex.js
lorsque vous cliquez sur Créer une fonction. Après avoir cliqué sur Créer une fonction, modifiez l'objetOptions
pour changer la configuration.Saisissez un nom à afficher et sélectionnez une région. Les noms doivent être uniques dans une région.
Dans la section Paramètres d'exécution, de compilation, de connexion et de sécurité, procédez comme suit :
Dans l'onglet Connexions, assurez-vous que l'option Autoriser tout le trafic est sélectionnée.
Examinez les paramètres par défaut et mettez-les à jour si nécessaire.
Dans le champ Compte de service d'exécution, sélectionnez un compte de service.
Cliquez sur Appliquer la fonction.
Configurez la règle d'alerte :
Facultatif : Mettez à jour le nom de la règle d'alerte et la durée de l'échec avant l'envoi des notifications.
Ajoutez les canaux de notification.
Cliquez sur Créer.
La fonction Cloud Run que vous avez définie est créée et déployée en tant que fonction de 2e génération, et le monitoring synthétique est créé.
Terraform
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base. Pour en savoir plus, consultez la documentation de référence du fournisseur Terraform.
Le processus de création d'un vérificateur de liens rompus à l'aide de Terraform est identique à celui de la création de tout autre vérificateur synthétique. Pour savoir comment utiliser Terraform pour créer un test synthétique, consultez Créer un test synthétique, puis sélectionnez l'onglet "Terraform".
Les vérificateurs de liens rompus utilisent le modèle
broken-links-ok
. La configuration d'un vérificateur de liens brisés est spécifiée par l'objetoptions
du fichierindex.js
.Une fois la structure
options.screenshot_options
définie, le vérificateur de liens non fonctionnels collecte les captures d'écran et les enregistre dans un bucket Cloud Storage. Si le champscreenshot_options.storage_location
n'est pas défini ou si la valeur est une chaîne vide, Monitoring crée un bucket Cloud Storage et les captures d'écran y sont enregistrées. Monitoring utilise la convention suivante pour nommer le bucket Cloud Storage :gcm-PROJECT_ID-synthetics-LOCATION
Dans l'expression précédente :
- PROJECT_ID : ID de votre projet Google Cloud .
- LOCATION : emplacement de votre bucket Cloud Storage.
REST
La procédure de création d'un vérificateur de liens brisés à l'aide de l'API Cloud Monitoring est identique à celle de création de tout autre contrôleur synthétique. Pour savoir comment utiliser l'API Cloud Monitoring pour créer un monitor synthétique, consultez Créer un monitor synthétique, puis sélectionnez l'onglet "Cloud Monitoring".
Les vérificateurs de liens rompus utilisent le modèle
broken-links-ok
. La configuration d'un vérificateur de liens brisés est spécifiée par l'objetoptions
du fichierindex.js
.Une fois la structure
options.screenshot_options
définie, le vérificateur de liens non fonctionnels collecte les captures d'écran et les enregistre dans un bucket Cloud Storage. Si le champscreenshot_options.storage_location
n'est pas défini ou si la valeur est une chaîne vide, Monitoring crée un bucket Cloud Storage et les captures d'écran y sont enregistrées. Monitoring utilise la convention suivante pour nommer le bucket Cloud Storage :gcm-PROJECT_ID-synthetics-LOCATION
Dans l'expression précédente :
- PROJECT_ID : ID de votre projet Google Cloud .
- LOCATION : emplacement de votre bucket Cloud Storage.
Explorer les résultats
Pour chaque exécution, un vérificateur de liens brisés effectue les opérations suivantes :
Génère un tableau dans lequel chaque ligne fournit des informations sur le test d'un URI spécifique. Les informations récapitulatives incluent l'URI cible, la latence, l'état et l'identifiant de l'élément HTML. Par exemple, cette colonne affiche a lorsqu'un élément d'ancrage HTML est testé. Lorsque la ligne correspond à l'URI d'origine, la valeur de l'identifiant de l'élément HTML est -.
Collecte des métriques, des données de trace et des données de journaux.
Collecte des captures d'écran, si configuré.
Pour savoir comment explorer les données collectées, consultez Explorer les résultats des vérifications synthétiques.
Résoudre les problèmes
Cette section fournit des informations que vous pouvez utiliser pour vous aider à résoudre les problèmes liés à vos vérificateurs de liens rompus.
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 et vous souhaitez modifier les éléments HTML testés, ou vous voulez modifier le délai d'expiration de l'URI, les tentatives, l'attente du sélecteur et les options par lien. Toutefois, lorsque vous modifiez le vérificateur de 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.
- Dans la barre d'outils de la console Google Cloud , sélectionnez votre projet Google Cloud . Pour les configurations App Hub, sélectionnez le projet hôte App Hub ou le projet de gestion du dossier compatible avec les applications.
- Localisez le monitor 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.
La consoleGoogle Cloud indique que l'enregistrement des captures d'écran a échoué.
Vous avez créé un vérificateur de liens non fonctionnels et l'avez configuré pour enregistrer des captures d'écran. Toutefois, la console Google Cloud affiche l'un des messages d'avertissement suivants, ainsi que des informations plus détaillées :
InvalidStorageLocation
StorageValidationError
BucketCreationError
ScreenshotFileUploadError
Pour résoudre ces échecs, essayez les solutions suivantes :
Si le message
InvalidStorageLocation
s'affiche, vérifiez l'existence du bucket Cloud Storage spécifié dans le champoptions.screenshot_options.storage_location
.Affichez les journaux liés à votre fonction Cloud Run. Pour en savoir plus, consultez Rechercher des journaux.
Vérifiez que le compte de service utilisé dans la fonction Cloud Run correspondante dispose d'un rôle Identity and Access Management qui lui permet de créer des buckets Cloud Storage, d'y accéder et d'y écrire.
Étapes suivantes
- Exemples pour la surveillance synthétique
- Gérer les moniteurs synthétiques
- Explorer les résultats de la surveillance synthétique
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/14 (UTC).
-