Partage via


Superviser les métriques dans Azure Database pour PostgreSQL - Serveur flexible

S’APPLIQUE À : Azure Database pour PostgreSQL – Serveur flexible

La surveillance des données relatives à vos serveurs vous aide à résoudre les problèmes et à optimiser votre charge de travail. Le serveur flexible Azure Database pour PostgreSQL propose différentes options de supervision pour fournir un insight sur les performances de votre serveur.

Métriques

Le serveur flexible Azure Database pour PostgreSQL propose diverses métriques qui donnent des insights sur le comportement des ressources prenant en charge l’instance de server flexible Azure Database pour PostgreSQL. Chaque métrique est émise selon une fréquence d’une (1) minute et est conservée jusqu’à 93 jours dans l’historique. Vous pouvez configurer des alertes basées sur les métriques. Les autres options incluent la configuration d’actions automatisées, l’exécution d’une analyse avancée et l’archivage de l’historique. Pour plus d’informations, consultez Vue d’ensemble des métriques Azure.

Remarque

Bien que les métriques soient stockées pendant 93 jours, vous pouvez uniquement interroger (dans la vignette Métriques) une valeur maximale de 30 jours sur n’importe quel graphique unique. Si le graphique est vide ou affiche uniquement une partie des données de métriques, vérifiez que l’intervalle entre les dates de début et de fin dans le sélecteur de temps ne dépasse pas 30 jours. Après avoir sélectionné un intervalle de 30 jours, vous pouvez afficher le graphique en mode panoramique pour afficher la fenêtre de rétention complète.

Métriques par défaut

Les métriques suivantes sont disponibles pour une instance de serveur flexible de Azure Database pour PostgreSQL :

Nom d’affichage ID de la métrique Unité Description Par défaut permis
Connexions actives active_connections Count Nombre total de connexions au serveur de base de données, y compris tous les états de connexion tels que actifs, inactifs et autres, comme indiqué dans la vue pg_stat_activity. Cette figure représente la somme globale des connexions entre tous les états, sans faire de distinctions entre les états spécifiques. Pour une analyse approfondie sur un état spécifique, tel que les connexions actives, reportez-vous à la métrique « Sessions par état ». Oui
Stockage de sauvegarde utilisé backup_storage_used Octets Quantité de stockage de sauvegarde utilisée. La métrique représente le total du stockage consommé par l’ensemble des sauvegardes complètes, sauvegardes différentielles et sauvegardes de fichiers journaux conservées en fonction de la période de rétention de sauvegarde définie pour le serveur. La fréquence des sauvegardes est gérée par le service. Pour le stockage géoredondant, l’utilisation du stockage de sauvegarde est le double de l’utilisation du stockage localement redondant. Oui
Connexions ayant échoué connections_failed Count Nombre total d'échecs de connexion. Oui
Connexions ayant abouti connections_succeeded Count Nombre de connexions réussies. Oui
Crédits de processeur consommés cpu_credits_consumed Count Nombre de crédits utilisés par le serveur flexible. S’applique au niveau Burstable. Oui
Crédits de processeurs restants cpu_credits_remaining Count Nombre total de crédits disponibles pour l’expansion. S’applique au niveau Burstable. Oui
Pourcentage d’UC cpu_percent Pourcentage Pourcentage de processeur en cours d’utilisation. Oui
Taille de la base de données (préversion) database_size_bytes Octets Taille de la base de données en octets. Oui
Longueur de file d’attente de disque disk_queue_depth Count Nombre d’opérations d’E/S en attente sur le disque de données. Oui
D’OPÉRATIONS D’E/S PAR SECONDE iops Count Nombre d’opérations d’E/S sur disque par seconde. Oui
Nombre maximal d’ID de transaction utilisés maximum_used_transactionIDs Count Nombre maximal d’ID de transaction utilisés. Oui
Pourcentage de mémoire memory_percent Pourcentage Pourcentage de mémoire en cours d’utilisation. Oui
Network Out network_bytes_egress Octets Quantité de trafic réseau sortant. Oui
Network In network_bytes_ingress Octets Quantité de trafic réseau entrant. Oui
E/S par seconde en lecture read_iops Nombre Nombre d’opérations de lecture d’E/S de disque de données par seconde. Oui
Débit de lecture read_throughput Octets Octets lus par seconde à partir du disque. Oui
Espace de stockage libre storage_free Octets Quantité d’espace de stockage disponible. Oui
Pourcentage de stockage storage_percent Pourcentage Pourcentage d’espace de stockage utilisé. Le stockage utilisé par le service peut inclure les fichiers de base de données, les journaux des transactions et les journaux d’activité du serveur. Oui
Stockage utilisé storage_used Octets Quantité d’espace de stockage utilisé. Le stockage utilisé par le service peut inclure les fichiers de base de données, les journaux des transactions et les journaux d’activité du serveur. Oui
Stockage des journaux des transactions utilisé txlogs_storage_used Octets Quantité d’espace de stockage utilisée par les journaux des transactions. Oui
Débit d’écriture write_throughput Octets Octets écrits sur disque par seconde. Oui
E/S par seconde en écriture write_iops Nombre Nombre d’opérations d’écriture d’E/S de disque de données par seconde. Oui

Métriques améliorées

Vous pouvez utiliser des métriques améliorées pour Azure Database pour le serveur flexible PostgreSQL afin d’obtenir une surveillance et des alertes précises sur les bases de données. Vous pouvez configurer des alertes basées sur les métriques. Certaines métriques améliorées incluent un paramètre Dimension que vous pouvez utiliser pour fractionner, puis filtrer les données de métriques à l’aide d’une dimension telle que le nom ou l’état de la base de données.

Activation des métriques améliorées

  • La plupart de ces nouvelles métriques sont désactivées par défaut. Toutefois, il existe quelques exceptions qui sont activées par défaut. La colonne la plus à droite dans les tableaux suivants indique si chaque métrique est activée par défaut ou non.
  • Pour activer ces métriques qui ne sont pas activées par défaut, définissez le paramètre de serveur metrics.collector_database_activity sur ON. Ce paramètre est dynamique et ne nécessite pas de redémarrage de l’instance.
Liste des métriques améliorées

Vous pouvez choisir parmi les catégories de métriques améliorées suivantes :

  • Activité
  • Base de données
  • Réplication logique
  • Réplication
  • Saturation
  • Trafic
Activité
Nom d’affichage ID de la métrique Unité Description Dimension Par défaut permis
Sessions par état sessions_by_state Count Sessions par état, comme montré dans la vue pg_stat_activity. Il catégorise les back-ends clients dans des états différents tels que actifs ou inactifs. State Non
Sessions par WaitEventType sessions_by_wait_event_type Count Sessions par type d’événement pour lequel le backend client est en attente. Type d’événement Wait Non
Back-end le plus ancien oldest_backend_time_sec Secondes L’âge en secondes du backend le plus ancien (quel que soit l’état). Ne s’applique pas Non
Requête la plus ancienne longest_query_time_sec Secondes Âge en secondes de la requête la plus longue en cours d’exécution. Ne s’applique pas Non
Transaction la plus ancienne longest_transaction_time_sec Secondes Âge en secondes de la transaction la plus longue (y compris les transactions inactives). Ne s’applique pas Non
xmin le plus ancien oldest_backend_xmin Count Valeur réelle du paramètre xmin le plus ancien. Si xmin n’augmente pas, cela indique qu’il existe des transactions de longue durée qui peuvent potentiellement empêcher la suppression des tuples morts. Ne s’applique pas Non
Âge xmin le plus ancien oldest_backend_xmin_age Count Âge en unités du paramètre xmin le plus ancien. Indique le nombre de transactions passées depuis le paramètre xmin le plus ancien. Ne s’applique pas Non
Base de données
Nom d’affichage ID de la métrique Unité Description Dimension Par défaut permis
Back-ends numbackends Count Nombre de backends connectés à cette base de données. nom_base_de_données Non
Interblocages deadlocks Count Nombre d’interblocages détectés dans cette base de données. nom_base_de_données Non
Accès aux blocs de disque blks_hit Count Nombre de fois où des blocs de disque ont déjà été trouvés dans le cache des tampons, de sorte qu’aucune lecture n’était nécessaire. nom_base_de_données Non
Lecture de blocs de disque blks_read Count Nombre de blocs de disque précédemment lus dans cette base de données. nom_base_de_données Non
Fichiers temporaires temp_files Count Nombre de fichiers temporaires précédemment créés par des requêtes dans cette base de données. nom_base_de_données Non
Taille des fichiers temporaires temp_bytes Octets Quantité totale de données écrites dans des fichiers temporaires par des requêtes de cette base de données. nom_base_de_données Non
Total des transactions xact_total Count Nombre total de transactions exécutées dans cette base de données. nom_base_de_données Non
Transactions validées xact_commit Count Nombre de transactions dans cette base de données qui ont été validées. nom_base_de_données Non
Transactions par seconde (préversion) tps Count Nombre de transactions exécutées en une seconde. nom_base_de_données Non
Transactions restaurées xact_rollback Count Nombre de transactions dans cette base de données qui ont été restaurées. nom_base_de_données Non
Tuples supprimés tup_deleted Count Nombre de lignes précédemment supprimées par des requêtes de cette base de données. nom_base_de_données Non
Tuples récupérés tup_fetched Count Nombre de lignes précédemment récupérées (fetch) par des requêtes de cette base de données. nom_base_de_données Non
Tuples insérés tup_inserted Count Nombre de lignes précédemment insérées par des requêtes de cette base de données. nom_base_de_données Non
Tuples retournés tup_returned Count Nombre de lignes précédemment renvoyées par des requêtes de cette base de données. nom_base_de_données Non
Tuples mis à jour tup_updated Count Nombre de lignes précédemment mises à jour par des requêtes de cette base de données. nom_base_de_données Non
Réplication logique
Nom d’affichage ID de la métrique Unité Description Dimension Par défaut permis
Retard de réplication logique maximal logical_replication_delay_in_bytes Octets Décalage maximal entre tous les emplacements de réplication logique. Ne s’applique pas Oui
Réplication
Nom d’affichage ID de la métrique Unité Description Dimension Par défaut permis
Retard maximal de réplication physique physical_replication_delay_in_bytes Octets Décalage maximal entre tous les emplacements de réplication physique asynchrone. Ne s’applique pas Oui
Retard de réplica en lecture physical_replication_delay_in_seconds Secondes Retard du réplica en lecture en secondes. Ne s’applique pas Oui
Saturation
Nom d’affichage ID de la métrique Unité Description Dimension Par défaut permis
Pourcentage de bande passante du disque consommée disk_bandwidth_consumed_percentage Pourcentage Pourcentage de bande passante du disque de données consommée par minute. Ne s’applique pas Oui
Pourcentage d’IOPS du disque consommée disk_iops_consumed_percentage Pourcentage Pourcentage d'E/S de disque de données consommées par minute. Ne s’applique pas Oui
Trafic
Nom d’affichage ID de la métrique Unité Description Dimension Par défaut permis
Nombre max de connexions ^ max_connections Count Nombre maximal de connexions. Ne s’applique pas Oui

Le paramètre ^ Nombre max de connexions représente la valeur configurée du paramètre du serveur max_connections. Cette métrique est interrogée toutes les 30 minutes.

Points à prendre en compte pour l’utilisation des métriques améliorées
  • Les métriques améliorées qui utilisent la dimension DatabaseName ont une limite de 50 bases de données.
  • Sur la référence SKU Burstable, la limite est de 10 bases de données pour les métriques qui utilisent la dimension DatabaseName.
  • La limite de dimension DatabaseName est appliquée à la colonne identificateur de base de données (datid) de la vue du système pg_stat_database, qui correspond à l’ordre de création de la base de données.
  • Le DatabaseName dans la dimension des métriques ne respecte pas la casse. Cela signifie qu’après l’interrogation de la vue pg_stat_database, le filtrage des lignes dans lesquelles datname est soit template1, soit template0, trié par datid et limitant les lignes renvoyées aux 50 premières (ou 10 dans le cas de référence SKU Burstable), les métriques pour les noms de base de données dans cet ensemble de résultats, qui sont identiques à l’exception du cas (par exemple, contoso_database et Contoso_database) seront fusionnés et peuvent ne pas afficher de données précises.

Métriques du nettoyage automatique

Vous pouvez utiliser des métriques de nettoyage automatique pour surveiller et ajuster des performances de nettoyage automatique pour Azure Database pour PostgreSQL – Serveur flexible. Chaque métrique est émise à des intervalles de 30 minutes, puis conservée pendant une période de rétention allant jusqu’à 93 jours. Vous pouvez créer des alertes pour des métriques spécifiques, et vous pouvez fractionner, puis filtrer des données de métriques à l’aide de la dimension DatabaseName.

Comment activer les métriques du nettoyage automatique

  • Les métriques de nettoyage automatique sont désactivées par défaut.
  • Pour activer ces métriques, définissez le paramètre serveur metrics.autovacuum_diagnostics sur ON.
  • Ce paramètre est dynamique et ne nécessite donc pas de redémarrage de l’instance.

Liste des métriques de nettoyage automatique

Nom d’affichage ID de la métrique Unité Description Dimension Par défaut permis
Analyser les tables utilisateur du compteur analyze_count_user_tables Count Nombre de fois où des tables utilisateur uniquement ont été analysées manuellement dans cette base de données. nom_base_de_données Non
Analyser automatiquement les tables utilisateur du compteur autoanalyze_count_user_tables Count Nombre de fois où des tables utilisateur uniquement ont été analysées par le démon de nettoyage automatique dans cette base de données. nom_base_de_données Non
Nettoyer automatiquement les tables utilisateur du compteur autovacuum_count_user_tables Count Nombre de fois où des tables utilisateur uniquement ont été nettoyées automatiquement par le démon de nettoyage automatique dans cette base de données. nom_base_de_données Non
Pourcentage de ballonnements (aperçu) bloat_percent Pourcentage Pourcentage de ballonnement estimé pour les tables réservées aux utilisateurs. nom_base_de_données Non
Tables utilisateur estimées des lignes mortes n_dead_tup_user_tables Count Nombre estimé de lignes mortes pour les tables utilisateur uniquement dans cette base de données. nom_base_de_données Non
Tables utilisateur estimées des lignes actives n_live_tup_user_tables Count Nombre estimé de lignes actives pour les tables utilisateur uniquement dans cette base de données. nom_base_de_données Non
Tables utilisateur estimées des modifications n_mod_since_analyze_user_tables Count Nombre estimé de lignes modifiées depuis la dernière analyse des tables utilisateur uniquement. nom_base_de_données Non
Tables utilisateur analysées tables_analyzed_user_tables Count Nombre de tables utilisateur uniquement qui ont été analysées dans cette base de données. nom_base_de_données Non
Tables utilisateur analysées automatiquement tables_autoanalyzed_user_tables Count Nombre de tables utilisateur uniquement qui ont été analysées par le démon de nettoyage automatique dans cette base de données. nom_base_de_données Non
Tables utilisateur nettoyées automatiquement tables_autovacuumed_user_tables Count Nombre de tables utilisateur uniquement qui ont été nettoyées automatiquement par le démon de nettoyage automatique dans cette base de données. nom_base_de_données Non
Compteur de tables utilisateur tables_counter_user_tables Count Nombre de tables utilisateur uniquement dans cette base de données. nom_base_de_données Non
Tables utilisateur nettoyées tables_vacuumed_user_tables Count Nombre de tables utilisateur uniquement qui ont été nettoyées dans cette base de données. nom_base_de_données Non
Nettoyer les tables utilisateur du compteur vacuum_count_user_tables Count Nombre de fois où des tables utilisateur uniquement ont été nettoyées manuellement dans cette base de données (sans compter VACUUM FULL). nom_base_de_données Non

Points à prendre en compte pour l’utilisation des métriques de nettoyage automatique

  • Les métriques de nettoyage automatique qui utilisent la dimension DatabaseName ont une limite de 30 bases de données.
  • Sur la référence SKU Burstable, la limite est de 10 bases de données pour les métriques qui utilisent la dimension DatabaseName.
  • La limite de dimension DatabaseName est appliquée à la colonne OID, qui correspond à l’ordre de création de la base de données.

Métriques PgBouncer

Vous pouvez utiliser les métriques PgBouncer pour surveiller le niveau de performance du processus PgBouncer, notamment des détails sur les connexions actives, les connexions inactives, le nombre total de connexions groupées et le nombre de pools de connexions. Chaque métrique est émise à des intervalles de 1 minutes, puis conservée jusqu’à 93 jours dans l’historique. Les clients peuvent configurer des alertes sur les métriques et accéder aux nouvelles dimensions de métriques pour fractionner, puis filtrer les données des métriques par nom de base de données.

Comment activer les métriques PgBouncer

  • Les métriques PgBouncer sont désactivées par défaut.
  • Pour que les métriques PgBouncer fonctionnent, les paramètres pgbouncer.enabled et metrics.pgbouncer_diagnostics du serveur doivent tous deux être activés.
  • Ces paramètres sont dynamiques et ne nécessitent pas de redémarrage de l’instance.

Liste des métriques PgBouncer

Nom d’affichage ID de la métrique Unité Description Dimension Par défaut permis
Connexions clientes actives client_connections_active Count Connexions à partir des clients associés à une connexion Azure Database pour PostgreSQL : connexion du serveur flexible. nom_base_de_données Non
Connexions clientes en attente client_connections_waiting Count Connexions à partir de clients qui attendent qu’une connexion Azure Database pour PostgreSQL - Connexion du Serveur flexible à disposition. nom_base_de_données Non
Connexions serveur actives server_connections_active Count Connexions à Azure Database pour PostgreSQL – Serveur flexible utilisées par une connexion client. nom_base_de_données Non
Connexions serveur inactives server_connections_idle Count Connexions à Azure Database pour PostgreSQL - Serveur flexible inactives et prêtes à servir une nouvelle connexion client. nom_base_de_données Non
Nombre total des connexions mises en pool total_pooled_connections Count Nombre actuel de connexions groupées. nom_base_de_données Non
Nombre de pools de connexions num_pools Count Nombre total de pools de connexions. nom_base_de_données Non

Points à prendre en compte pour l’utilisation des métriques PgBouncer

  • Les métriques PgBouncer qui utilisent la dimension DatabaseName ont une limite de 30 bases de données.
  • Sur la référence SKU Burstable, la limite est de 10 bases de données qui ont la dimension DatabaseName.
  • La limite de dimension DatabaseName est appliquée à la colonne OID, qui correspond à l’ordre de création de la base de données.

Métrique de disponibilité des bases de données

Is-db-alive est une métrique de disponibilité de serveur de base de données pour serveur flexible Azure DB pour PostgreSQL qui renvoi [1 for available] et [0 for not-available]. Chaque métrique est émise à une fréquence de 1 minute, puis conservée pendant une période de rétention allant jusqu’à 93 jours. Les clients peuvent configurer des alertes sur la métrique.

Nom d’affichage ID de la métrique Unité Description Dimension Par défaut permis
La base de données est active is_db_alive Count Indique si la base de données est active ou non. n/a Oui

Points à prendre en compte lors de l’utilisation des métriques de disponibilité de la base de données

  • L’agrégation de cette métrique avec MAX() permet aux clients de déterminer si le serveur a été actif ou à l’arrêt au cours de la dernière minute.
  • Les clients ont la possibilité d’agréger davantage ces métriques à n’importe quelle fréquence souhaitée (5 min, 10 min, 30 min, et bien plus encore) pour répondre à leurs exigences d’alerte, puis éviter tout faux positif.
  • Les autres agrégations possibles sont AVG() et MIN().

Filtrer, puis fractionner les métriques de dimension

Dans les tables précédentes, certaines métriques ont des dimensions telles que DatabaseName ou État. Vous pouvez utiliser le filtrage et le fractionnement pour les métriques qui ont des dimensions. Ces fonctionnalités montrent comment les différents segments de métriques (ou valeurs de dimension) affectent la valeur globale de la métrique. Vous pouvez les utiliser pour identifier les valeurs hors norme possibles.

  • Filtrage : utilisez le filtrage pour choisir les valeurs de dimension à inclure dans le graphique. Par exemple, vous pouvez vouloir afficher les connexions inactives lorsque vous établissez un graphique des métriques Sessions-by-State. Définissez le filtre sur Inactif dans la dimension État.
  • Fractionnement : utilisez le fractionnement pour contrôler si le graphique affiche des lignes distinctes pour chaque valeur d’une dimension ou s’il agrège les valeurs dans une seule ligne. Par exemple, vous pouvez voir une ligne pour une métrique Sessions-by-State dans toutes les sessions. Vous pouvez voir des lignes distinctes pour chaque session groupée par valeur État. Appliquez le fractionnement à la dimension État pour voir des lignes distinctes.

L’exemple suivant illustre le fractionnement par la dimension État et le filtrage sur des valeurs d’état spécifiques :

Capture d’écran qui montre in exemple de fractionnement et de filtrage des métriques et des dimensions.

Si vous souhaitez en savoir plus sur la configuration de graphiques pour les métriques dimensionnelles, veuillez consulter la rubrique Exemples de graphiques de métriques.

Visualisation des métriques

Il existe plusieurs options pour visualiser les métriques Azure Monitor.

Composant Description Formation et/ou configuration requises
Page Vue d’ensemble La plupart des services Azure disposent d’une page Vue d’ensemble dans le portail Azure qui comprend une section Superviser avec des graphiques récents pour les métriques critiques. Ces informations sont destinées aux propriétaires de services individuels pour évaluer rapidement les performances de la ressource. Cette page est basée sur les métriques de plateforme collectées automatiquement. Aucune configuration n'est requise.
Metrics Explorer Metrics Explorer permet aux utilisateurs d’utiliser des données de métriques et de créer des alertes de métrique de manière interactive. Vous avez besoin d’une formation minimale pour utiliser Metrics Explorer, mais vous devez être familiarisé avec les métriques que vous souhaitez analyser. - Une fois la collecte de données configurée, aucune autre configuration n’est requise.
- Les métriques de plateforme pour les ressources Azure sont automatiquement disponibles.
- Les métriques d’invité pour les machines virtuelles sont disponibles une fois qu’un agent Azure Monitor est déployé sur les machines virtuelles.
- Les métriques d’application sont disponibles une fois Application Insights configurée.
Grafana Vous pouvez utiliser Grafana pour visualiser et générer des alertes sur les métriques. Toutes les versions de Grafana incluent le plug-in de source de données Azure Monitor pour visualiser vos métriques et journaux Azure Monitor. Certaines formations sont requises pour vous familiariser avec les tableaux de bord Grafana. Toutefois, vous pouvez simplifier le processus en téléchargeant un tableau de bord de supervision grafana de serveur flexible Azure Database pour PostgreSQL pré-fabriqué, ce qui permet de surveiller facilement toutes les instances de serveur flexible Azure Database pour PostgreSQL au sein de votre organisation.

Journaux d’activité

En plus des métriques, vous pouvez utiliser un serveur flexible Azure Database pour PostgreSQL pour configurer les journaux d’activité standard Azure Database pour PostgreSQL, puis pour y accéder. Si vous souhaitez en savoir plus, veuillez consulter la rubrique Concepts de journalisation.

Visualisation de journaux

Composant Description Formation et/ou configuration requises
Log Analytics Avec Log Analytics, vous pouvez créer des requêtes de journal pour travailler avec des données de journal et créer des alertes de requête de journal de manière interactive. Une certaine formation est nécessaire pour que vous vous familiarisez avec le langage de requête, mais vous pouvez utiliser des requêtes préétablies pour les besoins courants.

Étapes suivantes