L'observabilité des bases de données est une mesure de la précision avec laquelle vous pouvez déduire l'état interne d'un système de base de données en fonction des données ou de la télémétrie qu'il génère dans les journaux, les métriques et les traces.
Le diagnostic et le dépannage des problèmes d'une application peuvent s'avérer particulièrement difficiles et chronophages lorsqu'une base de données est impliquée. La collecte de télémétrie est d'une importance cruciale. La télémétrie, lorsqu'elle s'accompagne du contexte de l'application, peut rendre les instances de base de données plus compréhensibles, observables et faciles à gérer. Vous pouvez facilement identifier les incidents et les tendances problématiques et les résoudre rapidement, tout en limitant les temps d'arrêt coûteux. De plus, l'utilisation de ces données vous permet de configurer des instances de base de données plus récentes afin de collecter le type de données approprié au moment du démarrage.
Vous pouvez ainsi utiliser les données de manière efficace et proactive pour éviter les problèmes et vous concentrer sur l'innovation stratégique. Une collecte de télémétrie bien menée est particulièrement utile dans le modèle DevOps, où les généralistes de base de données doivent analyser indépendamment la télémétrie pour surveiller, évaluer et optimiser les performances et l'état de leurs applications en constante évolution.
Google Cloud offre plusieurs fonctionnalités puissantes couvrant les quatre étapes d'observabilité itératives pour vous aider à maintenir l'état de votre base de données Cloud SQL.
Collecte automatisée de télémétrie
Pour atteindre des objectifs d'observabilité, nous commençons par collecter les données de télémétrie, de préférence via un processus automatisé. Lorsqu'elle est effectuée sur une période, la collecte de télémétrie permet d'établir une référence pour les métriques dans différentes conditions de charge.
Les services Google Cloud génèrent automatiquement des données d'observabilité, y compris des métriques, des journaux et des traces, ce qui peut vous fournir une présentation complète de l'observabilité.
Cloud Monitoring collecte des mesures de votre service et des ressources Google Cloud que vous utilisez. Cloud SQL utilise des agents personnalisés à mémoire intégrée pour collecter la télémétrie des requêtes, ce qui réduit l'impact sur les performances et élimine le besoin de maintenance des agents ou les coûts liés à la sécurité.
Cloud Logging collecte les données de journalisation à partir des composants d'application courants. Pour Cloud SQL, consultez également la section Afficher les journaux d'instance.
Cloud Trace collecte les données de latence et les plans de requête exécutés à partir d'applications pour vous aider à suivre la propagation des requêtes dans votre application. Vous pouvez comparer ces distributions de latence dans le temps ou entre les versions. Cloud Trace vous alerte lorsqu'il détecte un changement significatif dans le profil de latence de votre application, s'il est instrumenté pour utiliser Cloud Trace.
Sqlcommenter, une bibliothèque OpenTelemetry pour les bases de données, vous permet de surveiller vos bases de données sous l'angle d'une application. Sqlcommenter instrumente automatiquement les ORM pour augmenter les instructions SQL à l'aide de tags et permet de propager les informations de contexte de trace OpenTelemetry dans la base de données.
Avec les tags et le contexte de l'application dans les bases de données, il est facile de mettre en corrélation le code de l'application avec les performances de la base de données et de résoudre les problèmes liés aux architectures basées sur des microservices.
Surveillance des bases de données
Une surveillance appropriée vous aide à déterminer si votre application fonctionne de manière optimale. Implémentez la surveillance de manière anticipée, par exemple avant de lancer une migration ou avant de déployer une nouvelle application dans un environnement de production. Faites la distinction entre les problèmes d'application et les problèmes liés au cloud sous-jacents.
Le tableau de bord des insights système de Cloud SQL prend en compte plusieurs signaux importants de l'état général et des performances de la base de données.
Le tableau de bord affiche des graphiques pour plusieurs métriques importantes, qui vous aident à mieux comprendre les problèmes tels que le débit, la latence et les coûts. Ces insights vous aident à réagir de manière proactive à mesure que les besoins de votre application changent. Vous pouvez comparer les performances actuelles aux tendances passées et identifier les anomalies qui pourraient nécessiter un examen.
La page de présentation de Cloud SQL affiche des graphiques pour certaines métriques clés.
Cloud SQL vous aide également à comparer les métriques pour les instances sélectionnées.
Cloud Monitoring vous permet de créer des tableaux de bord personnalisés qui vous aident à surveiller les métriques et à configurer des règles d'alerte afin de recevoir des notifications en temps opportun.
Analyse de bases de données et de requêtes
L'outil Query Insights de Cloud SQL fournit des fonctionnalités de surveillance et de diagnostic qui vous permettent de détecter et de résoudre les problèmes de performances des requêtes.
Les tableaux de bord de Insights sur les requêtes vous permettent d'identifier de manière anticipée les problèmes de performances des requêtes et de passer de la détection à la résolution à l'aide d'une seule interface. Les plans de requête visuels intégrés vous aident à résoudre les problèmes. Vous pouvez également utiliser le traçage en contexte de l'application de bout en bout pour rechercher la source d'une requête problématique.
Query Insights offre également une surveillance centrée sur les applications qui vous aide à diagnostiquer les problèmes de performances des applications créées à l'aide de mappages ORM (Object-Relational Mappings). Vous pouvez ajouter des tags à des requêtes en utilisant une logique métier à laquelle la requête est associée, telle que le paiement, l'inventaire, l'analyse commerciale ou la livraison. Query Insights peut s'intégrer à vos outils APM existants, ce qui vous permet de surveiller et de résoudre les problèmes de requête à l'aide de votre outil préféré.
L'outil QueryInsights utilise sqlcommenter pour instrumenter automatiquement vos ORM. Cette instrumentation vous aide à identifier le code de l'application à l'origine des problèmes. Insights sur les requêtes est compatible avec les standards OpenTelemetry et rend les données de métriques de requête et de traces disponibles pour vos outils APM via l'API de Google Cloud Observability.
Insights sur les requêtes s'intègre à Cloud Monitoring, ce qui vous permet de créer des tableaux de bord et des alertes personnalisés sur les métriques ou les tags de requête, et de recevoir des notifications par e-mail, SMS, Slack, PagerDuty, etc.
Réglage de la base de données
Vous pouvez effectuer un dépannage et un réglage itératif de votre base de données.
Les outils de recommandation Cloud SQL vous aident à analyser l'utilisation actuelle de votre base de données et fournissent des recommandations et des insights basés sur des méthodes heuristiques et le machine learning.
Les outils de recommandation Cloud SQL sont brièvement décrits comme suit :
Nom | Description |
---|---|
Outil de recommandation pour manque d'espace disque | Réduisez le risque d'indisponibilité imputable à des instances Cloud SQL manquant d'espace disque. |
Outil de recommandation pour instances inactives | Réduisez les coûts en arrêtant les instances Cloud SQL inactives non intentionnellement. |
Outil de recommandation pour instances surprovisionnées | Réduisez les coûts en redimensionnant les instances Cloud SQL inutilement volumineuses pour une charge de travail donnée. |
Outil de recommandation pour instances sous-provisionnées | Évitez les goulots d'étranglement liés à une utilisation intensive du processeur et de la mémoire, et réduisez la probabilité d'événements de mémoire insuffisante en redimensionnant les instances Cloud SQL qui utilisent beaucoup de processeurs et/ou de mémoire. |
Outil de recommandation pour utilisation élevée d'ID de transaction | Optimisez les performances de votre instance en évitant la réinitialisation éventuelle de l'ID de transaction pour les instances Cloud SQL pour PostgreSQL. |
Étapes suivantes
- Consultez la liste des métriques Cloud SQL.
- Utiliser Insights sur les requêtes pour améliorer les performances des requêtes.
- Améliorez les performances des instances à l'aide des insights système.
- Regardez la vidéo : Présentation de Cloud SQL Insights.
- Consultez le blog de lancement : Observabilité de la base de données pour les développeurs : présentation de Cloud SQL Insights.
- Consultez le blog : Boostez vos compétences en dépannage des performances des requêtes à l'aide de Cloud SQL Insights.
- Consultez le blog : Activez l'ajout de tags aux requêtes avec Sqlcommenter.
- Apprenez-en plus sur Cloud Logging et Cloud Monitoring. Consultez également la section Afficher les journaux d'instances.
- Dépannez et réglez votre instance de base de données.
- Apprenez-en plus sur les outils de recommandation Google Cloud.