Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Supervisión del sistema operativo
Una instancia de base de datos en Amazon RDS para MySQL o MariaDB se ejecuta en el sistema operativo Linux, que utiliza los recursos del sistema subyacentes: CPU, memoria, red y almacenamiento.
MySQL [(none)]> SHOW variables LIKE 'version%'; +-------------------------+---------------------+ | Variable_name | Value | +-------------------------+---------------------+ | version | 8.0.28 | | version_comment | Source distribution | | version_compile_machine | aarch64 | | version_compile_os | Linux | | version_compile_zlib | 1.2.11 | +-------------------------+---------------------+ 5 rows in set (0.00 sec)
El rendimiento general de la base de datos y del sistema operativo subyacente depende en gran medida del uso de los recursos del sistema. Por ejemplo, la CPU es el componente clave del rendimiento del sistema, ya que ejecuta las instrucciones del software de la base de datos y administra otros recursos del sistema. Si la CPU está sobreutilizada (es decir, si la carga requiere más potencia de la CPU que la aprovisionada para la instancia de base de datos), este problema afectaría al rendimiento y a la estabilidad de la base de datos y, en consecuencia, de la aplicación.
El motor de base de datos asigna y libera memoria de manera dinámica. Cuando no hay suficiente memoria en la RAM para hacer el trabajo actual, el sistema graba páginas de memoria en la memoria de intercambio, que se encuentra en el disco. Como el disco es mucho más lento que la memoria, incluso si el disco usa la tecnología SSD NVMe, la asignación excesiva de memoria provoca una degradación del rendimiento. El uso elevado de la memoria provoca un aumento de la latencia de las respuestas de la base de datos, ya que el tamaño de un archivo de paginación aumenta para admitir más memoria. Si la asignación de memoria es tan alta que agota los espacios de la RAM y la memoria de intercambio, es posible que el servicio de base de datos deje de estar disponible y los usuarios observen errores como [ERROR] mysqld: Out of memory (Needed xyz
bytes).
Los sistemas de administración de bases de datos de MySQL y MariaDB utilizan el subsistema de almacenamiento, que consta de discos que almacenan estructuras en el discoOS error code 28: No space left on
device pueden provocar la falta de disponibilidad de la base de datos y dañarla.
Amazon RDS proporciona métricas en tiempo real para el sistema operativo en el que se ejecuta la instancia de base de datos. Amazon RDS publica de manera automática un conjunto de métricas del sistema operativo en CloudWatch. Estas métricas están disponibles para su visualización y análisis en la consola de Amazon RDS y en los paneles de CloudWatch. Puede configurar las alarmas en las métricas seleccionadas en CloudWatch. Entre los ejemplos se incluyen:
-
CPUUtilization: porcentaje de uso de la CPU. -
BinLogDiskUsage: cantidad de espacio en disco que ocupan los registros binarios. -
FreeableMemory: cantidad de memoria de acceso aleatorio disponible. Representa el valor del campoMemAvailablede/proc/meminfo. -
ReadIOPS: número promedio de operaciones de E/S de lectura en disco por segundo. -
WriteThroughput: número promedio de bytes que se escribe en el disco por segundo del almacenamiento local. -
NetworkTransmitThroughput: tráfico de red de salida en el nodo de la base de datos, que combina el tráfico de la base de datos y el tráfico de Amazon RDS utilizado en la supervisión y la replicación.
Para obtener una referencia completa de todas las métricas publicadas por Amazon RDS en CloudWatch, consulte Métricas de Amazon CloudWatch para Amazon RDS en la documentación de Amazon RDS.
En el siguiente gráfico se muestran ejemplos de las métricas de CloudWatch para Amazon RDS que se muestran en la consola de Amazon RDS.
En el siguiente gráfico se muestran métricas similares que se muestran en el panel de CloudWatch.
Enhanced Monitoring para Amazon RDS recopila el otro conjunto de métricas del sistema operativo. Esta herramienta le ofrece una mayor visibilidad del estado de las instancias de base de datos de Amazon RDS para MariaDB y Amazon RDS para MySQL, ya que proporciona las métricas del sistema y la información sobre los procesos del sistema operativo en tiempo real. Cuando habilita Enhanced Monitoring en la instancia de base de datos y establece la granularidad deseada, la herramienta recopila las métricas del sistema operativo y la información del proceso, que puede mostrar y analizar en la consola de Amazon RDS, como se muestra en la siguiente pantalla.
Algunas de las métricas clave que proporciona Enhanced Monitoring son:
-
cpuUtilization.total: porcentaje total de CPU utilizado. -
cpuUtilization.user: porcentaje de CPU utilizado por los programas de usuario. -
memory.active: cantidad de memoria asignada, en kilobytes. -
memory.cached: cantidad de memoria utilizada para almacenar en la caché las E/S basadas en el sistema de archivos. -
loadAverageMinute.one: número de procesos que solicitaron tiempo de la CPU durante el último minuto.
Para obtener una lista completa de las métricas, consulte Métricas del sistema operativo en Enhanced Monitoring en la documentación de Amazon RDS.
En la consola de Amazon RDS, la lista de procesos del sistema operativo proporciona detalles de cada proceso que se ejecuta en la instancia de base de datos. La lista está organizada en tres secciones:
-
Procesos del sistema operativo: esta sección representa un resumen agregado de todos los procesos del núcleo y del sistema. Por lo general, estos procesos tienen un impacto mínimo en el rendimiento de la base de datos.
-
Procesos de RDS: esta sección representa un resumen de los procesos de AWS necesarios para admitir una instancia de base de datos de Amazon RDS. Por ejemplo, incluye el agente de administración de Amazon RDS, los procesos de supervisión y diagnóstico y procesos similares.
-
Procesos secundarios de RDS: esta sección representa un resumen de los procesos de Amazon RDS que admiten la instancia de base de datos, en este caso, el proceso
mysqldy sus subprocesos. Los subprocesos demysqldaparecen anidados debajo del proceso principalmysqld.
En la ilustración siguiente de la pantalla se muestra la lista de procesos del sistema operativo en la consola de Amazon RDS.
Amazon RDS envía las métricas de Enhanced Monitoring a su cuenta de Registros de CloudWatch. Los datos de supervisión que se muestran en la consola de Amazon RDS se obtienen de Registros de CloudWatch. También puede obtener las métricas de una instancia de base de datos en forma de flujo de registro de Registros de CloudWatch. Estas métricas se almacenan en formato JSON. Además, puede consumir la salida JSON de monitorización mejorada desde registros de Amazon Cloudwatch en un sistema de monitoreo de su elección.
Para mostrar los gráficos en el panel de CloudWatch y crear las alarmas que inicien una acción si una métrica supera el umbral definido, debe crear los filtros de las métricas en CloudWatch a partir de Registros de CloudWatch. Para obtener instrucciones detalladas, consulte el artículo de AWS re:Post
El siguiente ejemplo ilustra la métrica personalizada CPU.User en el espacio de nombres Custom/RDS. Esta métrica personalizada se crea al filtrar la métrica de Enhanced Monitoring cpuUtilization.user de Registros de CloudWatch.
Cuando la métrica está disponible en el repositorio de CloudWatch, puede mostrarla y analizarla en los paneles de CloudWatch, aplicar más operaciones matemáticas y de consulta y configurar una alarma para supervisar esta métrica concreta y generar alertas si los valores observados no se ajustan a las condiciones de alarma definidas.