Surveiller les bases de données avec Cloud Monitoring
Cette page explique comment utiliser un 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 compatible avec MongoDB
Pour afficher les différentes métriques de Firestore compatible avec MongoDB et créer des graphiques, utilisez l'une des méthodes suivantes :
La page Surveillance de la section Firestore de la console Google Cloud . Cette page inclut un tableau de bord de surveillance prédéfini. Vous pouvez également créer un tableau de bord personnalisé. Pour accéder à la page Surveillance d'une base de données, procédez comme suit :
Dans la console Google Cloud , ouvrez la page Bases de données Firestore.
Sélectionnez une base de données dans la liste.
Dans le menu de navigation, cliquez sur Monitoring pour ouvrir un tableau de bord.
L'explorateur de métriques dans Cloud Monitoring de 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.
Ressources surveillées
Dans Cloud Monitoring, une ressource surveillée représente une entité logique ou physique, telle qu'une machine virtuelle, une base de données ou une application. Les ressources surveillées contiennent un ensemble unique de métriques qui peuvent être explorées, présentées dans un tableau de bord ou utilisées pour créer des alertes. Chaque ressource possède également un ensemble de libellés de ressources, qui sont des paires clé/valeur contenant des informations supplémentaires sur la ressource. Les libellés de ressources sont disponibles pour toutes les métriques associées à la ressource.
À l'aide de l'API Cloud Monitoring, les performances de Firestore compatible avec MongoDB sont surveillées à l'aide de la ressource suivante :
Ressources | Description |
firestore.googleapis.com/Database | Type de ressource surveillée qui fournit des détails pour project , location et database_id . Le libellé database_id sera (default) pour les bases de données créées sans nom spécifique. |
Métriques
Pour obtenir la liste complète des métriques Firestore, consultez Métriques Firestore. La section suivante décrit certaines des métriques disponibles.
Métriques d'exécution du service
Les métriques serviceruntime
fournissent une vue d'ensemble du trafic d'un projet. Ces métriques sont disponibles pour la plupart des API Google Cloud . Le type de ressource surveillée consumed_api
contient ces métriques courantes. Ces métriques sont échantillonnées toutes les 30 minutes, ce qui entraîne un lissage des données.
method
est un libellé de ressource important pour les métriques serviceruntime
. Ce libellé représente la méthode RPC sous-jacente appelée. Il est possible que la méthode SDK que vous appelez ne porte pas le même nom que la méthode RPC sous-jacente. En effet, le SDK fournit une abstraction d'API de haut niveau. Toutefois, lorsque vous essayez de comprendre comment votre application interagit avec Firestore, il est important de comprendre les métriques en fonction du nom de la méthode RPC.
Si vous avez besoin de connaître la méthode RPC sous-jacente pour une méthode de SDK donnée, consultez la documentation de l'API.
Utilisez les métriques d'exécution de service suivantes pour surveiller votre base de données.
api/request_latencies
La métrique api/request_latencies
fournit des distributions de latence pour toutes les requêtes traitées.
Firestore enregistre les métriques du composant Service Firestore. Les métriques de latence incluent le temps écoulé entre la réception de la requête par Firestore et l'envoi de la réponse par Firestore, y compris les interactions avec la couche de stockage. Par conséquent, la latence aller-retour (rtt) entre le client et le service Firestore n'est pas incluse dans ces métriques.
Métriques sur les opérations liées aux documents
Firestore fournit des nombres de lectures, d'écritures et de suppressions. La métrique d'écriture fournit une répartition entre les opérations de création et de mise à jour. Ces métriques sont alignées sur les opérations CRUD.
Les métriques suivantes peuvent être utilisées pour déterminer si votre base de données est axée sur la lecture ou l'écriture, et pour connaître le taux de nouveaux documents par rapport aux documents supprimés.
document/delete_ops_count
: nombre de suppressions de documents réussies.document/read_ops_count
: nombre de lectures de documents réussies à partir de requêtes ou de recherches.document/write_ops_count
: nombre d'écritures de documents réussies.
Métriques d'index
Les taux d'écriture d'index peuvent être comparés à la métrique document/write_ops_count
pour comprendre le déploiement d'index.
index/write_count
: nombre d'écritures d'index.
Métriques TTL
Les métriques TTL pour Firestore compatible avec MongoDB permettent de surveiller l'effet de la règle TTL appliquée.
document/ttl_deletion_count
: nombre total de documents supprimés par les services TTL.document/ttl_expiration_to_deletion_delays
: temps écoulé entre l'expiration du délai avant suppression (TTL) d'un document et sa suppression effective.
Créer des tableaux de bord Cloud Monitoring personnalisés
Dans Cloud Monitoring, les tableaux de bord personnalisés vous permettent d'afficher les informations qui vous intéressent de manière organisée. 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 les tableaux de bord personnalisés et Ajouter des widgets au tableau de bord.
Créer une règle d'alerte
Cloud Monitoring vous permet de créer des alertes pour vous avertir lorsqu'une condition de métrique change. 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 basées sur un seuil de métrique.
Prenons l'exemple suivant où nous créons une règle d'alerte de latence. La règle d'alerte vérifie la latence p99 sur une période glissante de cinq minutes. Si la latence p99 reste supérieure à 250 ms pendant cinq minutes, l'alerte est déclenchée.
Console
Dans la console Google Cloud , accédez à la page Surveillance, puis sélectionnez notifications Alertes.
Sélectionnez Créer une règle.
Sélectionnez la métrique Latences des requêtes à partir de la ressource API consommée.
Ajoutez un filtre de service pour
firestore.googleapis.com
pour les bases de données Firestore en mode natif.Cliquez sur Suivant pour configurer le déclencheur.
Sélectionnez Seuil pour Types de condition.
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 minutes).
Définissez la Valeur du seuil sur 250.
Cliquez sur Suivant pour configurer les notifications.
Définissez le nom de la règle d'alerte, puis cliquez sur Suivant.
Examinez les configurations d'alerte, 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 obtenir d'autres exemples d'utilisation de MQL, consultez 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'