View a markdown version of this page

Panel de supervisión de RDS Proxy - Amazon Aurora

Panel de supervisión de RDS Proxy

Puede acceder al panel de supervisión de RDS Proxy en la pestaña Supervisión del proxy.

Panel de supervisión de RDS Proxy.

El panel proporciona un conjunto preconfigurado de métricas organizadas en widgets, diseñados para ayudar a realizar tareas comunes de observabilidad y resolución de problemas. Si una métrica no está visible en este panel, puede ver todas las métricas en CloudWatch mediante el enlace que aparece en la sección superior derecha del panel.

No se pueden agregar ni eliminar métricas del panel de control predeterminado. Si desea crear vistas de supervisión personalizadas para los proxies, puede hacerlo directamente en CloudWatch. Para obtener más información, consulte Uso de paneles de CloudWatch.

El panel de supervisión está dividido en varias secciones, con métricas agrupadas en widgets mediante agregaciones predefinidas. Para obtener más información sobre las métricas de RDS Proxy subyacentes, consulte Supervisión de las métricas de RDS Proxy con CloudWatch.

Descripción general

Porcentaje de disponibilidad por rol

El porcentaje de tiempo durante el que el objetivo estuvo disponible en los roles READWRITE y READ_ONLY, en función de una agregación de la métrica AvailabilityPercentage.

La métrica de disponibilidad describe la tasa de éxito de las comprobaciones de estado de la base de datos realizadas por el proxy, lo que refleja el estado de las instancias de la base de datos de destino. Este widget utiliza la estadística Average de cada rol y el cálculo depende del número de instancias de base de datos de un rol determinado (una para el rol READWRITE y, posiblemente, varios para los roles READ_ONLY) y del número de nodos del proxy (decidido por la infraestructura del RDS Proxy).

nota

RDS Proxy ajusta automáticamente su capacidad en función de la configuración de las instancias de base de datos registradas en él. No puede controlar directamente la cantidad de nodos del proxy, pero puede comprobar el recuento actual de nodos mediante la estadística sample count de la métrica de disponibilidad. Para obtener más información sobre cómo RDS Proxy ajusta su capacidad, consulte Planificación de la capacidad de direcciones IP.

El rol de destino READWRITE solo puede contener una instancia de base de datos y el porcentaje de disponibilidad se calcula como la tasa media de éxito de las comprobaciones de estado en todos los nodos del proxy. Por ejemplo, si el proxy contiene cuatro nodos y uno de ellos no ha recibido una respuesta satisfactoria de la comprobación de estado en un periodo determinado, la disponibilidad de lectura/escritura se registrará en un 75 % durante ese periodo. Del mismo modo, si el proxy contiene cuatro nodos y ninguno de ellos ha podido realizar comprobaciones de estado durante 30 segundos durante un periodo de 1 minuto, el proxy informará de una disponibilidad del 50 % durante ese minuto.

El rol de destino READ_ONLY puede contener varias instancias de base de datos, como varias réplicas en un clúster de Aurora. Desde la perspectiva de cada nodo de RDS Proxy, el rol de solo lectura se considera disponible si alguna de las instancias de destino pasa una comprobación de estado. A continuación, se promedia la disponibilidad en todos los nodos de proxy y el número final se presenta en el widget. Tenga en cuenta este ejemplo de un proxy que contiene cuatro nodos:

  • Cada nodo de proxy realiza una comprobación de estado en varios destinos de solo lectura (instancias de bases de datos), donde algunas comprobaciones se realizan correctamente y otras no. Un nodo de proxy indicará que el rol de solo lectura está disponible siempre que reciba una respuesta de comprobación de estado correcta de al menos una instancia de destino.

  • Cuatro nodos proxy realizan comprobaciones de estado en varios destinos de solo lectura. Tres nodos proxy pueden conectarse a al menos un destino, pero un nodo de proxy no puede conectarse a ninguno de los destinos. La disponibilidad de los roles de solo lectura se calculará como una Average de disponibilidad de los roles informada por los nodos proxy: (100% + 100% + 100% + 0% )/ 4 = 75%

nota

El rol de destino READ_ONLY de RDS Proxy es compatible con los clústeres de Aurora o las implementaciones de clústeres de bases de datos de Amazon RDS Multi-AZ con dos modos de espera legibles, pero no con las implementaciones de instancias de base de datos de Amazon RDS con réplicas de lectura. La disponibilidad del rol READ_ONLY puede ser “cero” si el proxy no contiene un destino de solo lectura.

El widget de disponibilidad de roles es más útil en los siguientes casos:

  • El diagnóstico de errores de conexión, cuando desee evaluar rápidamente si la disponibilidad se vio afectada por el estado de los nodos proxy o las instancias de bases de datos de destino.

  • El diagnóstico de eventos de alto tráfico, cuando la base de datos no estaba definitivamente fuera de disponibilidad, pero las métricas de comprobación de estado del proxy pueden respaldar la hipótesis de una sobrecarga de la base de datos. El RDS Proxy utiliza varias conexiones persistentes reservadas para tareas de supervisión y comprobación de estado, por lo que si las métricas de la base de datos no indican un tiempo de inactividad, pero las comprobaciones de estado del proxy producen un error de forma intermitente, podría ser un indicador de una carga excesiva de la base de datos.

  • Identificar los problemas de configuración que impiden que el proxy se conecte a las instancias de destino. Por ejemplo, si observa una disminución de las métricas de disponibilidad del proxy, pero las instancias de destino parecen estar en buen estado según otras señales, esto podría indicar un problema con las ACL de red asociadas a las subredes del proxy o una configuración incorrecta de los grupos de seguridad conectados a las instancias de la base de datos de destino.

Al diagnosticar problemas relacionados con las métricas de disponibilidad de RDS Proxy, también debe revisar los indicadores de estado y utilización de la propia base de datos. Los cálculos de disponibilidad del proxy dependen de la capacidad de la base de datos para responder a las comprobaciones de estado, por lo que debe recopilar información de ambas partes antes de sacar conclusiones.

Porcentaje de utilización de las conexiones de la base de datos por rol

El porcentaje de utilización del grupo de conexiones del proxy para cada rol, calculado como DatabaseConnections dividido entre MaxDatabaseConnectionsAllowed.

El número máximo de conexiones de bases de datos permitido se refiere al tamaño máximo del grupo de proxy controlado por la configuración de MaxConnectionsPercent, que a su vez depende del límite de conexión de la base de datos, como el parámetro max_connections. Para obtener más información sobre esta configuración, consulte Observaciones sobre la conexión de RDS Proxy.

nota

El RDS Proxy reserva una parte de la cuota MaxConnectionsPercent para las conexiones de supervisión interna. El número total de conexiones reservadas no es coherente, sino que depende del número de nodos proxy internos y del número de instancias de la base de datos de destino.

Se recomienda mantener al menos un 30 % de margen entre el número de conexiones permitidas y el número máximo de conexiones de base de datos esperado durante los picos de carga. Este margen de maniobra mejora la experiencia del cliente durante los picos inesperados de carga de trabajo y ayuda a RDS Proxy a redistribuir las conexiones en su infraestructura interna para la administración de las actividades y otros fines. Para ayudar a seguir esta recomendación, el widget de utilización de las conexiones incluye una línea guía fija del 70 % del máximo.

Por ejemplo, supongamos que tiene un clúster de Aurora PostgreSQL con un escritor y dos lectores con una configuración de max_connections de 500 para cada instancia y un proxy configurado con MaxConnectionsPercent de 50:

  1. el RDS Proxy reserva un número de conexiones para fines de supervisión, lo que significa que MaxDatabaseConnectionsAllowed son menos de 250 por instancia: (max_connections=500 * MaxConnectionsPercent=50%) - reserved connections

  2. Para el rol READWRITE que contiene un escritor, el tamaño máximo del conjunto de conexiones del proxy será ligeramente inferior a 250 (50% * 500 - reserved_connections) y la línea guía del 70 % corresponderá a menos de 175 conexiones (70% * 250 - reserved connections).

  3. Para el rol READ_ONLY que contiene dos lectores, el tamaño máximo del conjunto de conexiones del proxy será ligeramente inferior a 500 (2 * 50% * 500 - reserved_connections) y la línea guía del 70 % corresponderá a menos de 350 conexiones (70% * 500 - reserved connections).

Este widget sirve como indicador general del uso de la conexión y es un punto de partida útil en determinadas situaciones de solución de problemas. Por ejemplo:

  • Las variaciones frecuentes y bruscas en el uso de la conexión podrían indicar que la configuración de MaxIdleConnectionsPercent es demasiado baja, y podría reducir la pérdida de conexiones si permite que las conexiones inactivas permanezcan abiertas durante más tiempo.

  • En función de los patrones de carga de trabajo y de la actividad de los clientes, podría tener una expectativa general sobre el número de conexiones que se utilizan en un momento dado. El widget puede ayudar a validar esas expectativas y a detectar posibles problemas con los clientes. Tenga en cuenta una situación en la que la configuración de MaxIdleConnectionsPercent sea muy baja pero la utilización de la conexión sea muy alta de manera coherente. Esto podría indicar que los clientes rara vez están inactivos (lo que no es necesariamente un problema), pero también puede significar que las conexiones están fijadas y, por lo tanto, no están sujetas a comprobaciones de inactividad.

  • Si no hay problemas con la configuración de fijado o el proxy, el uso elevado de la conexión de la base de datos podría significar que sea necesario aumentar la configuración de max_connections de la base de datos o, en el caso del rol de solo lectura, el clúster podría utilizar más réplicas de lectura.

Desglose de latencia

La latencia de los préstamos de conexión y las respuestas de las consultas.

Etiqueta Descripción Origen
DatabaseConnectionsBorrowLatency El tiempo que tarda el proxy en obtener una conexión de base de datos, ya sea una existente del grupo o una nueva que haya tenido que abrirse en la base de datos. RDS Proxy, métrica DatabaseConnectionsBorrowLatency
QueryResponseLatency El tiempo entre obtener una solicitud de consulta y que el proxy la responda. RDS Proxy, métrica QueryResponseLatency
QueryDatabaseResponseLatency El tiempo que la base de datos tardó en responder a la consulta, incluida la latencia de red entre el proxy y la base de datos. RDS Proxy, métrica QueryDatabaseResponseLatency

Este widget ayuda a comprender el tiempo medio de respuesta de las consultas y cómo contribuye la capa de proxy a la latencia total. La métrica de latencia de préstamo puede resultar especialmente útil para detectar la congestión de un grupo, es decir, cuando las solicitudes de los clientes están esperando porque no hay suficientes conexiones disponibles en el grupo.

Los puntos de datos de estas métricas se publican solo si el valor es superior a cero, lo que significa que el widget puede contener brechas durante los periodos sin tráfico de consultas.

Conexiones de clientes

El número de conexiones entre los clientes y el proxy, desglosado por estado de conexión.

Etiqueta Descripción Origen
ClientConnectionsReceived El número de solicitudes de conexión de cliente recibidas. RDS Proxy, métrica ClientConnectionsReceived
ClientConnectionsSetupSucceeded El número de conexiones de cliente que se han establecido correctamente. RDS Proxy, métrica ClientConnectionsSetupSucceeded
ClientConnectionsSetupFailedAuth El número de intentos de conexión de cliente que produjeron un error debido a una autenticación o TLS mal configurada. RDS Proxy, métrica ClientConnectionsSetupFailedAuth
ClientConnectionsClosed El número de conexiones de cliente cerradas. RDS Proxy, métrica ClientConnectionsClosed

Este widget puede ayudar a evaluar el rendimiento y el estado de las conexiones de los clientes al mostrar las métricas de varias conexiones de clientes en un solo gráfico. Puede resultar útil para supervisar la tasa de éxito general de las conexiones de los clientes y observar la velocidad a la que se abren y cierran las conexiones. Esto puede resultar útil para detectar las tormentas de conexiones y los cambios en la actividad de los clientes a lo largo del tiempo.

Carga de trabajo de proxy

El número de solicitudes de consulta por punto de conexión del proxy, en función de las métricas del proxy QueryRequests.

Las etiquetas de la serie de datos varían en función del punto de conexión:

  • el punto de conexión del proxy de lectura/escritura predeterminado usa la etiqueta default.

  • Si habilitó el punto de conexión de solo lectura opcional al crear el proxy a través de la consola de administración de AWS, este punto de conexión utiliza la etiqueta read-only con el nombre del proxy como prefijo. En el caso de un proxy denominado my-proxy, la etiqueta será my-proxy-read-only.

  • Los puntos de conexión del proxy adicionales utilizan el nombre del punto de conexión como etiqueta sin prefijos adicionales.

Este widget es útil para supervisar el volumen de carga de trabajo gestionado en cada uno de los puntos de conexión del proxy.

importante

Actualmente, la métrica QueryRequests no se emite para la actividad de consultas en las conexiones de PostgreSQL que utilizan el protocolo de consulta extendido.

Latencia

Latencia de respuesta de la base de datos por destino

La latencia de respuesta de la base de datos por destino (instancia de base de datos), en función de la métrica del proxy QueryDatabaseResponseLatency.

Este widget es útil para supervisar la latencia de respuesta de la base de datos para cada instancia de base de datos en el proxy, especialmente cuando se utilizan distintas instancias de base de datos para diferentes cargas de trabajo o si los tamaños de las instancias no son idénticos. Considere los siguientes ejemplos:

  • Un clúster de base de datos contiene varias réplicas de lectura, todas las cuales reciben tráfico a través del proxy. Además, algunas de las réplicas reciben tráfico directamente de los clientes que pasan por alto el proxy. El widget puede ayudar a determinar si ese tráfico adicional está afectando a la latencia de las consultas de las cargas de trabajo gestionadas a través del proxy.

  • Un clúster de base de datos contiene réplicas de diferentes tamaños, toda la carga de trabajo se gestiona a través del proxy y las instancias de la base de datos utilizan la configuración de conexión predeterminada, en la que el límite de conexión es proporcional al tamaño de la instancia. El proxy sigue los límites de conexión y envía proporcionalmente menos conexiones a instancias más pequeñas, pero esas instancias pueden producir una latencia más alta debido a que sus cachés y búferes también son más pequeños. El widget puede ayudar a determinar si ese es el caso y si las instancias pequeñas están a la altura de las más grandes en términos de latencia de consulta.

Grupo de conexiones

Porcentaje fijado de conexiones de bases de datos por rol

El porcentaje de conexiones de bases de datos fijadas para cada rol, calculado como DatabaseConnectionsCurrentlySessionPinned dividido entre DatabaseConnections.

Este widget es útil para supervisar el fijado de conexiones en la carga de trabajo. Al igual que en otros widgets, el valor relativo se utiliza aquí como un indicador de estado más adecuado que el número absoluto de conexiones fijadas. Un valor ideal es cero, pero es posible que no se pueda evitar por completo la fijación de la conexión en todas las cargas de trabajo. Es posible sentir comodidad con que un pequeño porcentaje de conexiones se fijen siempre y cuando no tengan un impacto perceptible en el resto de la carga de trabajo. Sin embargo, si una gran parte de todas las experiencias de la carga de trabajo se fija, podría indicar que hay un problema con el comportamiento del cliente que impide que RDS Proxy multiplexe las conexiones (las reutilice entre transacciones).

Para obtener más información sobre la fijación de conexiones, consulte Cómo evitar la fijación de RDS Proxy.

Las conexiones de bases de datos configuran las métricas por rol

El número de conexiones configuradas entre el proxy y la base de datos, desglosado por el resultado de la configuración y el rol de destino. El widget muestra varias series de datos para cada rol:

Etiqueta Descripción Origen
DatabaseConnectionRequests El número de solicitudes para crear una conexión de base de datos. RDS Proxy, métrica DatabaseConnectionRequests
DatabaseConnectionsSetupSucceeded El número de conexiones de base de datos establecidas correctamente. RDS Proxy, métrica DatabaseConnectionsSetupSucceeded
DatabaseConnectionsSetupFailed El número de solicitudes de conexión de base de datos que produjeron un error. RDS Proxy, métrica DatabaseConnectionsSetupFailed

Los puntos de datos de estas métricas se publican solo si el valor es superior a cero, lo que significa que el widget puede contener brechas durante los periodos sin un evento relevante. Por ejemplo, si un cliente ejecuta consultas a través del proxy durante un periodo determinado y el proxy puede gestionar la totalidad del tráfico reutilizando las conexiones de bases de datos back-end existentes (sin abrir nuevas conexiones), no verá los puntos de datos de ese periodo.

Este widget es útil para observar la actividad y la pérdida de conexiones entre el proxy y la base de datos. Si se combina con la información que se muestra en el widget Conexiones de cliente, se puede utilizar para evaluar la eficacia de la agrupación y la multiplexación de conexiones dentro del proxy.

Tenga en cuenta que el RDS Proxy no preasigna todo el conjunto de conexiones al máximo de su capacidad y cierra las conexiones de bases de datos inactivas tras un periodo de inactividad. Es normal que DatabaseConnectionRequests esté por encima de cero y que fluctúe con la carga, pero es la relación de DatabaseConnectionRequests a ClientConnectionsReceived que puede requerir su atención. Por ejemplo:

  • Si los clientes abren un número determinado de conexiones al proxy y el proxy abre casi el mismo número de conexiones a la base de datos en cada periodo, se puede deducir que el proxy no puede reutilizar las conexiones debido a una fijación o a otros motivos. Es posible que esta situación requiera una investigación más profunda, centrándose en el comportamiento del cliente que impide que el proxy reutilice las conexiones.

  • Si los clientes abren un número determinado de conexiones al proxy, pero las nuevas conexiones a la base de datos representan solo una fracción de ese número, esto demuestra que el proxy gestiona la gran mayoría del tráfico mediante la reutilización de las conexiones existentes. Este es el estado normal y deseado del conjunto de conexiones.

Las conexiones de bases de datos configuran las métricas por destino

Un equivalente a Las conexiones de bases de datos configuran las métricas por rol con los datos desglosados por destino (instancia de base de datos).

Uso de conexiones de base de datos

Porcentaje de uso de conexiones de base de datos por destino

El porcentaje de utilización del grupo de conexiones del proxy para cada destino (instancia de base de datos), calculado como DatabaseConnections dividido entre MaxDatabaseConnectionsAllowed.

Este widget es similar al Porcentaje de utilización de las conexiones de base de datos por rol, pero proporciona una vista detallada del uso de las conexiones en cada instancia de base de datos. Puede resultar útil para verificar la distribución equitativa de las conexiones en el rol READ_ONLY para clústeres de bases de datos con varias instancias.

Por ejemplo, supongamos que tiene un clúster de Aurora con dos lectores y MaxDatabaseConnectionsAllowed de 500 por lector. Si el número de conexiones de proxy es 100 en el primer lector y 125 en el segundo, el widget mostrará un 20 % de uso de la conexión en el primer lector y un 25 % en el segundo.

nota

El RDS Proxy intenta igualar el número de conexiones de cliente en cada réplica, ponderado según el límite de conexiones de la base de datos. No equilibra la carga del tráfico en función de las métricas de la base de datos, como el uso de la CPU y no sabe cuánto durará cada sesión de cliente una vez abierta. Como resultado, un pequeño desequilibrio en la utilización de la conexión entre instancias es un fenómeno normal.

Uso de las conexiones de bases de datos por el rol READWRITE/READ_ONLY

El número de conexiones de base de datos utilizadas y permitidas por el proxy y la base de datos. Hay dos widgets de este tipo: uno para el rol READWRITE y otro para el rol READ_ONLY.

Este widget solo está visible si el destino de la base de datos del proxy admite un rol READ_ONLY, que incluye los clústeres de base de datos de Aurora y las implementaciones de clústeres de base de datos de Amazon RDS Multi-AZ. El widget no se muestra para las implementaciones de instancias de base de datos de Amazon RDS.

Cada widget contiene varias series de datos:

Etiqueta Descripción Origen
Database Connections El número de conexiones que existen en la base de datos, ya sean abiertas por el proxy o por otros clientes. Base de datos, métrica DatabaseConnections
Database Connections: proxy El número de conexiones de base de datos que existen entre el proxy y la base de datos, excluidas las conexiones internas utilizadas por RDS Proxy para la supervisión de la base de datos. RDS Proxy, métrica DatabaseConnections
MaxDatabaseConnectionsAllowed: Proxy Número máximo de conexiones de bases de datos que permite el proxy, controlado por la configuración de MaxConnectionsPercent. RDS Proxy, métrica MaxDatabaseConnectionsAllowed

Las cifras presentadas son sumas (totales) del proxy y del clúster de base de datos subyacente. Por ejemplo, supongamos que el clúster de base de datos contiene dos instancias que permiten 1000 conexiones cada una y que el proxy está configurado con un MaxConnectionsPercent de 20. En este escenario, MaxDatabaseConnectionsAllowed: Proxy mostrará 2 * 1000 * 20% = 400 menos el número de conexiones reservadas internamente por RDS Proxy con fines de supervisión. El valor real será inferior a 400 y variará en función del número de nodos del proxy.

Este widget es más útil en las siguientes situaciones:

  • Supervisión de las cifras absolutas de utilización de la conexión para el proxy y la base de datos.

  • Determinación del número de conexiones que llegan a la base de datos a través del proxy en comparación con las conexiones que pasan por alto el proxy.

  • Cálculo de la diferencia entre la utilización actual de la conexión y la utilización máxima permitida.

nota

El valor de DatabaseConnections será mayor que Database Connections: Proxy incluso si todas las conexiones de los clientes se gestionan a través del proxy. La plataforma RDS y la infraestructura de RDS Proxy mantienen siempre una serie de conexiones internas. La base de datos cuenta esas conexiones, pero no se reflejan en las métricas del proxy.