Présentation de la surveillance synthétique

Ce document décrit la compatibilité de Cloud Monitoring avec les écrans synthétiques, qui vous permet de tester la disponibilité, la cohérence et les performances de vos services, applications, pages Web et API. Les surveillances synthétiques envoient régulièrement des requêtes simulées, puis enregistrent si ces requêtes ont abouti. Elles enregistrent également des données supplémentaires sur la requête, telles que la latence. Vous pouvez être averti lorsqu'un test échoue en créant une règle d'alerte pour surveiller les résultats.

Pour tester vos services et vos applications, vous pouvez utiliser l'une des approches suivantes:

  • Les tests de disponibilité permettent à Google Cloud d'interroger régulièrement une application qui répond aux requêtes HTTP, HTTPS ou TCP. Les tests de disponibilité permettent de tester les points de terminaison publics ou privés, ainsi que de valider les données de réponse.

  • La surveillance synthétique personnalisée et basée sur Mocha vous permet de déployer une suite de tests que vous pouvez utiliser pour tester une application qui répond aux requêtes HTTP ou HTTPS. Pour créer ces surveillances synthétiques, vous commencez par utiliser un framework fourni par Cloud Monitoring (personnalisé ou Mocha), puis écrivez vos tests. Si vous avez accès à Gemini Code Assist dans ce projet, vous pouvez fournir une requête pour générer votre code de test.

  • Les vérificateurs de liens non fonctionnels permettent à Google Cloud de tester régulièrement un URI et de tester un nombre configurable de liens trouvés à cet URI.

Le tableau suivant répertorie les outils que vous pouvez utiliser pour créer des tests de disponibilité et des surveillances synthétiques:

Console Google Cloud API Cloud Monitoring Terraform Bibliothèques clientes
Tests de disponibilité O O O O
Surveillance synthétique O O O
Vérifications de liens non fonctionnels O O O

À propos des tests de disponibilité

Il existe deux types de tests de disponibilité:

  • Les tests de disponibilité publics envoient des requêtes depuis plusieurs emplacements dans le monde vers des URL publiques ou des ressources Google Cloud.
  • Les tests de disponibilité privés envoient des requêtes aux adresses IP internes des ressources Google Cloud. Les tests de disponibilité privés peuvent envoyer des requêtes via un réseau privé à des ressources telles qu'une machine virtuelle (VM) ou un équilibreur de charge interne (ILB) de couche 4.

Les requêtes effectuées pour le compte des tests de disponibilité proviennent de vérificateurs qui résident dans plusieurs régions Google Cloud. Lorsque vous créez un test de disponibilité, vous spécifiez les régions des vérificateurs.

Le système d'exécution de requêtes pour les tests de disponibilité, fourni par Google Cloud, gère les éléments suivants:

  • Exécution des vérificateurs configurés.
  • Validation des résultats.

    La requête émise par un vérificateur aboutit si la ressource répond et que les exigences de la configuration du test de disponibilité sont remplies. Sinon, la requête échoue. Les requêtes émises par les vérificateurs individuels sont sans état, c'est-à-dire que chaque requête est une action indépendante.

  • Collecter et stocker les résultats pour les métriques de tests de disponibilité

    Pour en savoir plus sur ces métriques, consultez les entrées uptime_check dans le tableau des métriques monitoring.

  • Écrire des entrées de journal en cas d'échec

    Si vous créez un test de disponibilité à l'aide de la console Google Cloud, vous pouvez le configurer pour qu'il écrive également une entrée de journal en cas d'échec. Si vous avez configuré un test de disponibilité public pour envoyer des pings ICMP, les résultats de ces pings sont écrits dans les journaux Cloud Logging lorsque le ping échoue. Pour en savoir plus, consultez Utiliser des pings ICMP.

À propos des vérificateurs de liens non fonctionnels et des autres outils de surveillance synthétique

Les surveillances synthétiques vous permettent de définir ce que vous allez tester et une séquence de tests. Par exemple, vous pouvez tester la page de connexion de votre application, le processus de paiement de votre boutique en ligne ou les appels d'API que votre application effectue à des services tiers.

Lorsque vous créez une surveillance synthétique, vous déployez une fonction Cloud de 2e génération basée sur Cloud Run. Votre fonction doit être écrite en Node.js et s'appuyer sur le framework du SDK Synthetics Open Source. Cloud Monitoring distribue et gère ce framework.

Cloud Monitoring est compatible avec les types de surveillance synthétique suivants:

Le système d'exécution de requêtes pour la surveillance synthétique, fourni par Google Cloud, gère les éléments suivants:

  • Exécution périodique de votre fonction Cloud
  • Collecter et stocker les résultats de chaque exécution:

    • Des informations sur la réussite et l'échec, telles que le message d'erreur, le type d'erreur et la ligne de code
    • Durée d'exécution
    • Journaux
    • de régression

    Pour en savoir plus sur l'affichage des résultats d'exécution, consultez Explorer les résultats de la surveillance synthétique.

Surveiller et afficher les résultats

Vous pouvez observer les résultats de la surveillance synthétique et des tests de disponibilité dans la console Google Cloud:

  • Pour la surveillance synthétique, accédez à la page Surveillance synthétique.
  • Pour les tests de disponibilité, accédez à la page Tests de disponibilité.

Pour recevoir une notification en cas d'échec d'une surveillance synthétique ou d'un test de disponibilité, créez une règle d'alerte à l'aide de la console Google Cloud ou de la Google Cloud CLI.

Résoudre les échecs

Pour vous aider à résoudre les problèmes, les en-têtes de requête et les données journalisées incluent l'ID de la surveillance synthétique ou du test de disponibilité associés. Pour en savoir plus, consultez Résoudre les problèmes liés à la surveillance synthétique ou aux tests de disponibilité.

Régionalité des données

N'utilisez pas la surveillance synthétique ni les tests de disponibilité lorsque vous avez configuré Assured Workloads, car vous avez des exigences de résidence des données ou d'impact 4 (IL4).

Cloud Monitoring ne garantit pas que les données de la requête de test de disponibilité soient conservées dans un emplacement géographique spécifique.

Pour la surveillance synthétique qui dépend d'une fonction Cloud, vous pouvez spécifier la région dans laquelle votre fonction Cloud est déployée. Toutefois, votre fonction peut être appelée à partir de n'importe quelle région compatible avec les serveurs de tests de disponibilité. Ce comportement n'est pas configurable.

Tarification

En général, les métriques système de Cloud Monitoring sont gratuites, contrairement aux métriques des systèmes, agents ou applications externes. Les métriques facturables sont facturées en fonction du nombre d'octets ou du nombre d'échantillons ingérés.

Pour en savoir plus sur les tarifs de Cloud Monitoring, consultez les documents suivants:

Limites

Les limites suivantes s'appliquent à l'utilisation de la surveillance synthétique:

Catégorie Valeur
Tests de disponibilité par champ d'application des métriques * 100
Nombre maximal de pings ICMP par test de disponibilité public 3
Surveillance synthétique par champ d'application des métriques 100
*Cette limite s'applique au nombre de configurations de tests de disponibilité. Chaque configuration de test de disponibilité inclut l'intervalle de temps entre les tests de l'état de la ressource spécifiée.
Pour savoir comment augmenter cette limite, consultez la page Gérer votre quota à l'aide de la console Google Cloud.

Étapes suivantes