View a markdown version of this page

Tableau de bord de surveillance du proxy RDS - Amazon Aurora

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Tableau de bord de surveillance du proxy RDS

Vous pouvez accéder au tableau de bord de surveillance du proxy RDS sous l'onglet Surveillance de votre proxy.

Tableau de bord de surveillance du proxy RDS.

Le tableau de bord fournit un ensemble préconfiguré de mesures organisées sous forme de widgets, conçus pour vous aider à effectuer des tâches courantes d'observabilité et de résolution des problèmes. Si une métrique n'est pas visible dans ce tableau de bord, vous pouvez consulter toutes les métriques à CloudWatch l'aide d'un lien fourni dans la section supérieure droite du tableau de bord.

Vous ne pouvez pas ajouter ou supprimer de statistiques dans le tableau de bord par défaut. Si vous souhaitez créer des vues de surveillance personnalisées pour vos proxys, vous pouvez le faire directement dans CloudWatch. Pour plus d'informations, consultez la section Utilisation des CloudWatch tableaux de bord.

Le tableau de bord de surveillance est divisé en plusieurs sections, les métriques étant regroupées dans des widgets à l'aide d'agrégations prédéfinies. Pour plus d'informations sur les métriques sous-jacentes du proxy RDS, consultez la section Surveillance des métriques du proxy RDS avec. CloudWatch

Présentation de

% de disponibilité par rôle

Pourcentage de temps pendant lequel la cible était disponible dans les READ_ONLY rôles READWRITE et, sur la base d'une agrégation de la AvailabilityPercentage métrique.

La métrique de disponibilité décrit le taux de réussite des contrôles d'état de la base de données effectués par le proxy, qui reflète l'état de santé des instances de base de données cibles. Ce widget utilise les Average statistiques pour chaque rôle, et le calcul est influencé par le nombre d'instances de base de données dans un rôle donné (une pour le READWRITE rôle, potentiellement plusieurs pour les READ_ONLY rôles) et le nombre de nœuds dans votre proxy (décidé par l'infrastructure du proxy RDS).

Note

Le proxy RDS ajuste automatiquement sa capacité en fonction de la configuration des instances de base de données enregistrées auprès de celui-ci. Vous ne pouvez pas contrôler directement le nombre de nœuds dans votre proxy, mais vous pouvez vérifier le nombre actuel de nœuds à l'aide des sample count statistiques de la métrique de disponibilité. Pour plus d'informations sur la façon dont le proxy RDS ajuste sa capacité, voir des adresses IP.

Le rôle READWRITE cible ne peut contenir qu'une seule instance de base de données, et le pourcentage de disponibilité est calculé comme le taux de réussite moyen des tests de santé sur tous les nœuds proxy. Par exemple, si le proxy contient quatre nœuds et que l'un d'entre eux n'a pas reçu de réponse satisfaisante au bilan de santé au cours d'une période donnée, le taux de read/write disponibilité sera indiqué comme étant de 75 % pour cette période. De même, si le proxy contient quatre nœuds et qu'aucun d'entre eux n'a pu effectuer de vérification de santé pendant 30 secondes sur une période d'une minute, le proxy signalera une disponibilité de 50 % pendant cette minute.

Le rôle READ_ONLY cible peut contenir plusieurs instances de base de données, telles que plusieurs répliques dans un cluster Aurora. Du point de vue de chaque nœud RDS Proxy, le rôle en lecture seule est considéré comme disponible si l'une des instances cibles passe un contrôle de santé. La disponibilité est ensuite moyennée sur tous les nœuds proxy, et le chiffre final est présenté dans le widget. Prenons cet exemple de proxy contenant quatre nœuds :

  • Chaque nœud proxy effectue un contrôle de santé sur plusieurs cibles en lecture seule (instances de base de données) où certaines vérifications réussissent et d'autres échouent. Un nœud proxy signalera que le rôle en lecture seule est disponible tant qu'il reçoit une réponse de vérification de santé réussie d'au moins une instance cible.

  • Quatre nœuds proxy vérifient l'état de santé de plusieurs cibles en lecture seule. Trois nœuds proxy peuvent se connecter à au moins une cible, mais un nœud proxy ne peut se connecter à aucune des cibles. La disponibilité des rôles en lecture seule sera calculée comme la disponibilité Average des rôles signalée par les nœuds proxy : (100% + 100% + 100% + 0% )/ 4 = 75%

Note

Le rôle READ_ONLY cible du proxy RDS est pris en charge avec les clusters Aurora ou les déploiements de clusters de Multi-AZ base de données Amazon RDS avec deux instances de secours lisibles, mais pas avec les déploiements d'instances de base de données Amazon RDS avec des répliques en lecture. La disponibilité du READ_ONLY rôle peut indiquer « zéro » si le proxy ne contient pas de cible en lecture seule.

Le widget de disponibilité des rôles est particulièrement utile dans les scénarios suivants :

  • Diagnostic des erreurs de connexion, lorsque vous souhaitez évaluer rapidement si la disponibilité a été affectée par l'état de santé des nœuds proxy ou des instances de base de données cibles.

  • Diagnostiquer les événements à fort trafic, lorsque la base de données n'a pas connu d'indisponibilité certaine mais que les indicateurs de santé du proxy peuvent étayer l'hypothèse d'une surcharge de la base de données. Le proxy RDS utilise un certain nombre de connexions persistantes réservées aux tâches de surveillance et de vérification de l'état. Par conséquent, si les indicateurs de la base de données n'indiquent pas un temps d'arrêt mais que les contrôles de santé du proxy échouent par intermittence, cela peut indiquer une charge de base de données excessive.

  • Identification des problèmes de configuration qui empêchent le proxy de se connecter aux instances cibles. Par exemple, si vous constatez une baisse des métriques de disponibilité du proxy mais que les instances cibles semblent saines selon d'autres signaux, cela peut indiquer un problème avec les ACL réseau associées aux sous-réseaux du proxy ou une mauvaise configuration du ou des groupes de sécurité attachés aux instances de base de données cibles.

Lorsque vous diagnostiquez des problèmes liés aux mesures de disponibilité du proxy RDS, vous devez également examiner les indicateurs de santé et d'utilisation à partir de la base de données elle-même. Les calculs de disponibilité du proxy sont influencés par la capacité de la base de données à répondre aux contrôles de santé. Vous devez donc recueillir des informations des deux côtés avant de tirer des conclusions.

% d'utilisation des connexions à la base de données par rôle

Pourcentage d'utilisation du pool de connexions du proxy pour chaque rôle, calculé en DatabaseConnections divisant parMaxDatabaseConnectionsAllowed.

Le nombre maximum de connexions à la base de données autorisées fait référence à la taille maximale du pool du proxy contrôlée par le MaxConnectionsPercent paramètre, qui dépend à son tour de la limite de connexion à la base de données, telle que le max_connections paramètre. Pour plus d'informations sur ce paramètre, voir Considérations relatives à la connexion au au proxy RDS.

Note

RDS Proxy réserve une partie du MaxConnectionsPercent quota aux connexions de surveillance internes. Le nombre total de connexions réservées n'est pas constant, mais il dépend du nombre de nœuds proxy internes et du nombre d'instances de base de données cibles.

Nous recommandons de maintenir une marge d'au moins 30 % entre le nombre de connexions autorisées et le nombre maximum de connexions à la base de données attendues pendant les pics de charge. Cette marge de manœuvre améliore l'expérience client lors de pics de charge de travail inattendus et aide RDS Proxy à redistribuer les connexions au sein de son infrastructure interne à des fins de gestion de la chaleur et à d'autres fins. Pour vous aider à suivre cette recommandation, le widget d'utilisation des connexions inclut une ligne directrice fixe à 70 % du maximum.

Supposons, par exemple, que vous disposiez d'un cluster Aurora PostgreSQL avec un rédacteur et deux lecteurs avec max_connections un paramètre de 500 pour chaque instance, et un proxy configuré MaxConnectionsPercent avec 50 :

  1. RDS Proxy réserve un certain nombre de connexions à des fins de surveillance, ce qui signifie que le nombre MaxDatabaseConnectionsAllowed est inférieur à 250 par instance : (max_connections=500 * MaxConnectionsPercent=50%) - reserved connections

  2. Pour le READWRITE rôle contenant un rédacteur, la taille maximale du pool de connexions proxy sera légèrement inférieure à 250 (50% * 500 - reserved_connections), et la limite de 70 % correspondra à moins de 175 connexions (70% * 250 - reserved connections).

  3. Pour le READ_ONLY rôle contenant deux lecteurs, la taille maximale du pool de connexions proxy sera légèrement inférieure à 500 (2 * 50% * 500 - reserved_connections), et la limite de 70 % correspondra à moins de 350 connexions (70% * 500 - reserved connections).

Ce widget sert d'indicateur général de l'utilisation de la connexion et constitue un point de départ utile lors de certains scénarios de dépannage. Par exemple :

  • Des variations fréquentes et importantes de l'utilisation des connexions peuvent indiquer que le MaxIdleConnectionsPercent paramètre est trop bas, et vous pouvez réduire la perte de connexion en autorisant les connexions inactives à rester ouvertes plus longtemps.

  • Sur la base de vos modèles de charge de travail et de l'activité de vos clients, vous pouvez développer des attentes élevées quant au nombre de connexions utilisées à un moment donné. Le widget peut vous aider à valider ces attentes et à détecter les problèmes potentiels des clients. Imaginons une situation dans laquelle votre MaxIdleConnectionsPercent paramètre est très faible mais où l'utilisation de la connexion est toujours très élevée. Cela peut indiquer que les clients sont rarement inactifs (ce qui n'est pas nécessairement un problème), mais cela peut également signifier que les connexions sont bloquées et ne sont donc pas soumises à des contrôles d'inactivité.

  • En l'absence de problèmes liés à l'épinglage ou à la configuration du proxy, une utilisation élevée de la connexion à la base de données peut nécessiter une augmentation des max_connections paramètres de la base de données ou, dans le cas du rôle en lecture seule, le cluster peut utiliser davantage de répliques en lecture.

Répartition de latence

La latence des emprunts de connexion et des réponses aux requêtes.

Étiquette Description Source
DatabaseConnectionsBorrowLatency Le temps nécessaire au proxy pour établir une connexion à la base de données, qu'il s'agisse d'une connexion existante provenant du pool ou d'une nouvelle connexion qui a dû être ouverte sur la base de données. Proxy RDS, métrique DatabaseConnectionsBorrowLatency
QueryResponseLatency Le délai entre la réception d'une demande de requête et la réponse du proxy à celle-ci. Proxy RDS, métrique QueryResponseLatency
QueryDatabaseResponseLatency Le temps nécessaire à la base de données pour répondre à la requête, y compris le temps de latence du réseau entre le proxy et la base de données. Proxy RDS, métrique QueryDatabaseResponseLatency

Ce widget vous aide à comprendre le temps de réponse moyen de vos requêtes et la façon dont la couche proxy contribue à la latence totale. La métrique de latence d'emprunt peut être particulièrement utile pour détecter la congestion du pool, c'est-à-dire lorsque les demandes des clients sont en attente parce qu'il n'y a pas suffisamment de connexions facilement disponibles dans le pool.

Les points de données de ces métriques ne sont publiés que si la valeur est supérieure à zéro, ce qui signifie que le widget peut contenir des lacunes pendant les périodes sans trafic de requêtes.

Connexions client

Le nombre de connexions entre les clients et le proxy, ventilé par état de connexion.

Étiquette Description Source
ClientConnectionsReceived Le nombre de demandes de connexion client reçues. Proxy RDS, métrique ClientConnectionsReceived
ClientConnectionsSetupSucceeded Le nombre de connexions client établies avec succès. Proxy RDS, métrique ClientConnectionsSetupSucceeded
ClientConnectionsSetupFailedAuth Nombre de tentatives de connexion client ayant échoué en raison d’une mauvaise configuration de l’authentification ou du protocole TLS. Proxy RDS, métrique ClientConnectionsSetupFailedAuth
ClientConnectionsClosed Le nombre de connexions client fermées. Proxy RDS, métrique ClientConnectionsClosed

Ce widget peut vous aider à évaluer le débit et l'état des connexions client en affichant plusieurs indicateurs de connexions clients sur un seul graphique. Cela peut être utile pour surveiller le taux de réussite global des connexions des clients et pour observer le taux d'ouverture et de fermeture des connexions. Cela peut être utile pour détecter les tempêtes de connexion et les changements dans l'activité des clients au fil du temps.

Charge de travail du proxy

Le nombre de demandes de requête par point de terminaison du proxy, sur la base des métriques du QueryRequests proxy.

Les étiquettes des séries de données varient en fonction du point de terminaison :

  • Le point de terminaison du read/write proxy par défaut utilise l'defaultétiquette.

  • Si vous avez activé le point de terminaison facultatif en lecture seule lors de la création du proxy via la console de AWS gestion, ce point de terminaison utilise l'read-onlyétiquette préfixée par le nom du proxy. Pour un proxy nommémy-proxy, l'étiquette seramy-proxy-read-only.

  • Les points de terminaison supplémentaires du proxy utilisent le nom du point de terminaison comme étiquette sans préfixes supplémentaires.

Ce widget est utile pour surveiller le volume de charge de travail géré par chacun des points de terminaison du proxy.

Important

La QueryRequests métrique n'est actuellement pas émise pour l'activité de requête sur les connexions PostgreSQL utilisant le protocole Extended Query Protocol.

Latence

Latence de réponse de la base de données par cible

Latence de réponse de la base de données par cible (instance de base de données), sur la base de la métrique du QueryDatabaseResponseLatency proxy.

Ce widget est utile pour surveiller la latence de réponse de la base de données pour chaque instance de base de données située sous le proxy, en particulier lorsque vous utilisez différentes instances de base de données pour différentes charges de travail ou lorsque les tailles d'instance ne sont pas identiques. Considérez les exemples suivants :

  • Un cluster de base de données contient plusieurs répliques de lecture, qui reçoivent toutes du trafic via le proxy. En outre, certaines répliques reçoivent le trafic directement des clients en contournant le proxy. Le widget peut vous aider à déterminer si ce trafic supplémentaire a un impact sur la latence des requêtes pour les charges de travail gérées via le proxy.

  • Un cluster de base de données contient des répliques de différentes tailles, l'intégralité de la charge de travail est gérée via le proxy et les instances de base de données utilisent la configuration de connexion par défaut dans laquelle la limite de connexion est proportionnelle à la taille de l'instance. Le proxy respecte les limites de connexion et envoie proportionnellement moins de connexions aux plus petites instances, mais ces instances peuvent produire une latence plus élevée en raison de la réduction de leurs caches et de leurs tampons. Le widget peut vous aider à déterminer si c'est le cas et si les petites instances suivent le rythme des plus grandes en termes de latence des requêtes.

Pool de connexions

% de connexions à la base de données épinglées par rôle

Pourcentage de connexions à la base de données épinglées pour chaque rôle, calculé DatabaseConnectionsCurrentlySessionPinned en divisant parDatabaseConnections.

Ce widget est utile pour surveiller les connexions bloquées dans votre charge de travail. Comme pour les autres widgets, la valeur relative est utilisée ici comme indicateur de santé plus approprié que le nombre absolu de connexions épinglées. La valeur idéale est zéro, mais l'épinglage des connexions n'est peut-être pas totalement évitable pour toutes les charges de travail. Vous pouvez accepter qu'un faible pourcentage de connexions soit épinglé, à condition que cela n'ait pas d'impact perceptible sur le reste de la charge de travail. Toutefois, si une grande partie de la charge de travail est bloquée, cela peut indiquer un problème de comportement du client qui empêche le proxy RDS de multiplexer les connexions (de les réutiliser entre les transactions).

Pour en savoir plus sur l'épinglage des connexions, voir RDS.

Paramètres de configuration des connexions à la base de données par rôle

Nombre de connexions configurées entre le proxy et la base de données, ventilé par résultat de configuration et rôle cible. Le widget affiche plusieurs séries de données pour chaque rôle :

Étiquette Description Source
DatabaseConnectionRequests Le nombre de demandes de création d’une connexion à une base de données. Proxy RDS, métrique DatabaseConnectionRequests
DatabaseConnectionsSetupSucceeded Nombre de connexions à la base de données établies avec succès. Proxy RDS, métrique DatabaseConnectionsSetupSucceeded
DatabaseConnectionsSetupFailed Le nombre de demandes de connexion à une base de données qui ont échoué. Proxy RDS, métrique DatabaseConnectionsSetupFailed

Les points de données de ces mesures ne sont publiés que si la valeur est supérieure à zéro, ce qui signifie que le widget peut contenir des écarts pendant les périodes sans événement pertinent. Par exemple, si un client exécute des requêtes via le proxy pendant une période donnée et que le proxy peut gérer l'intégralité du trafic en réutilisant les connexions de base de données principales existantes (sans ouvrir de nouvelles connexions), vous ne verrez aucun point de données pour cette période.

Ce widget est utile pour observer l'activité et le taux de désabonnement des connexions entre le proxy et la base de données. Lorsqu'il est associé aux informations affichées sur le widget Connexions client, vous pouvez l'utiliser pour évaluer l'efficacité du regroupement des connexions et du multiplexage au sein du proxy.

N'oubliez pas que le proxy RDS ne préalloue pas l'intégralité du pool de connexions à sa capacité maximale et ferme les connexions de base de données inactives après une période d'inactivité. Il est normal DatabaseConnectionRequests d'être au-dessus de zéro et de fluctuer sous la charge, mais c'est le ratio entre et ClientConnectionsReceived qui peut nécessiter votre attention. DatabaseConnectionRequests Par exemple :

  • Si les clients ouvrent un certain nombre de connexions au proxy et que celui-ci ouvre presque le même nombre de connexions à la base de données au cours de chaque période, vous pouvez penser que le proxy n'est pas en mesure de réutiliser les connexions pour des raisons d'épinglage ou pour d'autres raisons. Cette situation peut nécessiter une enquête plus approfondie, en se concentrant sur le comportement du client qui empêche le proxy de réutiliser les connexions.

  • Si les clients ouvrent un certain nombre de connexions au proxy, mais que les nouvelles connexions à la base de données ne représentent qu'une fraction de ce nombre, cela montre que le proxy gère la grande majorité du trafic en réutilisant les connexions existantes. Il s'agit de l'état normal et souhaité du pool de connexions.

Paramètres de configuration des connexions à la base de données par cible

Un équivalent des métriques de configuration des connexions à la base de données par rôle avec les données ventilées par cible (instance de base de données).

Utilisation des connexions aux bases de données

% d'utilisation des connexions à la base de données par cible

Pourcentage d'utilisation du pool de connexions du proxy pour chaque cible (instance de base de données), calculé en DatabaseConnections divisant parMaxDatabaseConnectionsAllowed.

Ce widget est similaire au pourcentage d'utilisation des connexions de base de données par rôle, mais il fournit une vue détaillée de l'utilisation des connexions pour chaque instance de base de données. Cela peut être utile pour vérifier la distribution équitable des connexions dans le READ_ONLY rôle des clusters de base de données comportant plusieurs instances.

Supposons, par exemple, que vous disposiez d'un cluster Aurora avec deux lecteurs et MaxDatabaseConnectionsAllowed 500 par lecteur. Si le nombre de connexions proxy est de 100 sur le premier lecteur et de 125 sur le second, le widget affichera 20 % d'utilisation des connexions pour le premier lecteur et 25 % pour le second.

Note

Le proxy RDS tente d'égaliser le nombre de connexions client sur chaque réplique, pondéré par la limite de connexions de la base de données. Il n'équilibre pas la charge du trafic en fonction des indicateurs de base de données tels que l'utilisation du processeur, et il ne sait pas combien de temps durera chaque session client après son ouverture. Par conséquent, un léger déséquilibre dans l'utilisation des connexions entre les instances est un phénomène normal.

Utilisation des connexions à la base de données par READWRITE/READ rôle _ONLY

Nombre de connexions à la base de données utilisées et autorisées par le proxy et la base de données. Il existe deux widgets de ce type : un pour le READWRITE rôle et un pour le READ_ONLY rôle.

Ce widget n'est visible que si la cible de base de données du proxy prend en charge un READ_ONLY rôle, qui inclut les clusters de base de données Aurora et les déploiements de clusters de Multi-AZ bases de données Amazon RDS. Le widget n'est pas affiché pour les déploiements d'instances de base de données Amazon RDS.

Chaque widget contient plusieurs séries de données :

Étiquette Description Source
Database Connections Le nombre de connexions existant dans la base de données, qu'elles aient été ouvertes par le proxy ou par d'autres clients. Base de données, DatabaseConnections métrique
Database Connections: proxy Nombre de connexions de base de données existant entre le proxy et la base de données, à l'exclusion des connexions internes utilisées par le proxy RDS pour la surveillance de la base de données. Proxy RDS, métrique DatabaseConnections
MaxDatabaseConnectionsAllowed: Proxy Nombre maximal de connexions à la base de données autorisées par le proxy, contrôlé par le MaxConnectionsPercent paramètre. Proxy RDS, métrique MaxDatabaseConnectionsAllowed

Les chiffres présentés sont des sommes (totaux) pour le proxy et le cluster de bases de données sous-jacent. Supposons, par exemple, que le cluster de base de données contienne deux instances autorisant chacune 1 000 connexions et que le proxy soit configuré avec MaxConnectionsPercent ou20. Dans ce scénario, 2 * 1000 * 20% = 400 moins le nombre de connexions réservées en interne par RDS Proxy à des fins de surveillance MaxDatabaseConnectionsAllowed: Proxy sera affiché. La valeur réelle sera inférieure à400, et elle variera en fonction du nombre de nœuds de votre proxy.

Ce widget est particulièrement utile dans les situations suivantes :

  • Surveillance des chiffres absolus d'utilisation des connexions pour le proxy et la base de données.

  • Déterminer le nombre de connexions atteignant la base de données via le proxy par rapport aux connexions contournant le proxy.

  • Calcul de la différence entre l'utilisation actuelle de la connexion et l'utilisation maximale autorisée.

Note

La valeur de DatabaseConnections sera plus élevée que Database Connections: Proxy même si toutes les connexions client sont gérées via le proxy. Un certain nombre de connexions internes sont toujours maintenues par la plate-forme RDS et l'infrastructure RDS Proxy. Ces connexions sont comptabilisées par la base de données, mais ne sont pas reflétées dans les métriques du proxy.