Utiliser le tableau de bord Cloud Monitoring

Cette page explique comment utiliser le tableau de bord Cloud Monitoring pour afficher les métriques disponibles, créer un tableau de bord personnalisé et définir des alertes.

Afficher les métriques Firestore

Pour afficher les différentes métriques Firestore et créer des graphiques, utilisez l'Explorateur de métriques dans Cloud Monitoring dans la console Google Cloud. Pour en savoir plus sur la création de graphiques, consultez Créer des graphiques avec l'Explorateur de métriques.

Configurer un tableau de bord Cloud Monitoring

Dans Cloud Monitoring, les tableaux de bord personnalisés vous permettent d'afficher de façon organisée les informations qui vous intéressent. Par exemple, vous pouvez créer un tableau de bord pour afficher les métriques de performances et les règles d'alerte de votre projet dans votre environnement de production.

Pour en savoir plus sur la configuration d'un tableau de bord personnalisé, consultez Gérer un tableau de bord personnalisé et Ajouter des widgets de tableau de bord.

Surveiller les taux d'erreur

Vous pouvez créer un tableau de bord de surveillance pour surveiller les taux d'erreur et garantir la disponibilité de votre base de données. La disponibilité fait référence à la vitesse à laquelle votre base de données répond dans un délai attendu avec un code d'état de réussite. Le Contrat de niveau de service Firestore définit les détails spécifiques de ce qui est considéré comme une requête valide.

Le taux d'erreur est déterminé en divisant le nombre de requêtes ayant entraîné une réponse d'erreur par le nombre total de requêtes envoyées.

Vous pouvez créer un exemple de tableau de bord permettant de calculer les taux d'erreur en calculant le ratio A/B de api/request_count de requêtes valides avec des codes d'erreur 4xx ou 5xx comparés au api/request_count de toutes les requêtes valides.

 Comprendre la disponibilité avec le taux d'erreur
Figure 1. Comprendre la disponibilité avec le taux d'erreur.

La figure 1 vous montre comment visualiser le taux d'erreur à l'aide des métriques api/request_count dans l'Explorateur de métriques.

Créer une règle d'alerte

Cloud Monitoring vous permet de créer des alertes pour être informé en cas de modification d'une condition de métrique. Vous pouvez utiliser ces alertes pour être informé des problèmes potentiels avant qu'ils n'affectent vos utilisateurs.

Pour en savoir plus sur la création d'alertes, consultez Créer des règles d'alerte de seuil de métrique.

Prenons l'exemple suivant, dans lequel nous créons une règle d'alerte de latence. La règle d'alerte vérifie la latence P99 sur une fenêtre glissante de cinq minutes. Si la latence P99 reste supérieure à 250 ms pendant 5 minutes, l'alerte est déclenchée.

Console

  1. Dans la console Google Cloud, accédez à la page Monitoring, puis sélectionnez  Alertes.

    Accéder à Monitoring

  2. Sélectionnez Créer une règle.

  3. Sélectionnez la métrique Latences des requêtes dans la ressource API Consumed.

  4. Ajout d'un filtre de service pour firestore.googleapis.com pour les bases de données Firestore natives.

    Sélectionnez la métrique api/request_latencies pour créer un déclencheur.
  5. Cliquez sur Suivant pour configurer le déclencheur.

  6. Dans Types de conditions, sélectionnez Seuil.

    Une condition de seuil est définie sur une valeur de seuil de 250 ms. Une alerte est déclenchée lorsque la valeur de latence P99 reste la même pendant toute la période de la fenêtre glissante (5 min).

    Ajoutez le seuil pour la métrique.
  7. Définissez la valeur du seuil sur 250.

  8. Cliquez sur Suivant pour configurer les notifications.

  9. Définissez le nom de la règle d'alerte, puis cliquez sur Suivant.

  10. Vérifiez les configurations des alertes, puis cliquez sur Créer une règle.

MQL

Vous pouvez implémenter la même règle d'alerte de latence à l'aide d'une requête MQL (Monitoring Query Language). Pour plus d'exemples d'utilisation de MQL, consultez la section Exemples de requêtes MQL.

      fetch consumed_api
      | metric 'serviceruntime.googleapis.com/api/request_latencies'
      | filter (resource.service == 'firestore.googleapis.com')
      | group_by 5m,
          [value_request_latencies_percentile:
            percentile(value.request_latencies, 99)]
      | every 5m
      | condition val() > 0.25 's'