DataSunrise Logra el Estado de Competencia en AWS DevOps en AWS DevSecOps y Monitoreo, Registro, Rendimiento

Cómo Usar las Vistas STL de Redshift para el Registro y Monitoreo

Cómo Usar las Vistas STL de Redshift para el Registro y Monitoreo

Introducción

Si trabajas con Amazon Redshift, es importante monitorear la ejecución de consultas y la actividad del sistema. Esto te ayudará a mejorar el rendimiento, solucionar problemas y garantizar operaciones sin contratiempos. Esto te ayudará a optimizar el rendimiento, solucionar problemas y asegurar un funcionamiento fluido. Afortunadamente, Redshift proporciona un poderoso conjunto de Tablas y Vistas del Sistema (STL) que te permiten acceder a información detallada sobre consultas, conexiones y diversas métricas del sistema.

En este artículo, profundizaremos en los fundamentos de las vistas STL de Redshift, centrándonos en stl_query, stl_connection_log y otras vistas esenciales para el registro y monitoreo.

¿Qué son las Vistas STL de Redshift?

Las Tablas y Vistas del Sistema (STL) de Redshift son una colección de vistas integradas que almacenan información sobre las operaciones internas del clúster de Redshift. Estas vistas proporcionan conocimientos valiosos sobre la ejecución de consultas, el rendimiento del sistema, la utilización de recursos y más. Al consultar las vistas STL, puedes obtener una comprensión profunda de cómo se están ejecutando tus consultas, identificar cuellos de botella y tomar decisiones informadas para optimizar tus cargas de trabajo en Redshift. Redshift genera las vistas del sistema STL a partir de archivos de registro.

Explorando la Vista stl_query

Una de las vistas STL más utilizadas es stl_query. Esta vista contiene un registro de cada consulta ejecutada en el clúster de Redshift, junto con información detallada sobre cada consulta. Echemos un vistazo más de cerca a cómo usar stl_query para el registro y análisis.

Consultando stl_query

Para acceder a la información almacenada en stl_query, puedes ejecutar una sentencia SELECT simple. Aquí tienes un ejemplo:

SELECT query, starttime, endtime, elapsed, aborted
FROM stl_query
ORDER BY starttime DESC
LIMIT 10;

Esta consulta recupera las últimas 10 consultas ejecutadas en el clúster de Redshift, junto con su hora de inicio, hora de finalización, tiempo transcurrido y si fueron abortadas. El resultado te dará una visión rápida de la actividad reciente de consultas.

Analizando el Rendimiento de las Consultas

Al profundizar en la vista stl_query, puedes obtener información valiosa sobre el rendimiento de las consultas. Por ejemplo, puedes identificar consultas de larga duración filtrando en la columna elapsed:

SELECT query, elapsed, substring(querytxt, 1, 50) as query_snippet
FROM stl_query
WHERE elapsed > 60000 -- Duración de la consulta en milisegundos
ORDER BY elapsed DESC;

Esta consulta recupera las consultas que tardaron más de 60 segundos en ejecutarse, junto con un fragmento del texto de la consulta. Al analizar estas consultas lentas, puedes identificar cuellos de botella en el rendimiento y optimizar tus sentencias SQL en consecuencia.

Monitoreando Conexiones con la Vista stl_connection_log

Otra vista STL importante para el registro es stl_connection_log. Esta vista registra información sobre las conexiones de clientes al clúster de Redshift, incluyendo los tiempos de inicio y finalización de la conexión, nombres de usuarios y direcciones IP de los clientes. Exploremos cómo usar stl_connection_log para monitorear conexiones.

Consultando stl_connection_log

Para ver el registro de conexiones, puedes ejecutar una consulta SELECT simple sobre stl_connection_log:

SELECT username, starttime, endtime, duration, remotehost, remoteport
FROM stl_connection_log
ORDER BY starttime DESC
LIMIT 10;

Esta consulta recupera las últimas 10 conexiones al clúster de Redshift, incluyendo el nombre de usuario, la hora de inicio, la hora de finalización, la duración, el host remoto y el puerto remoto. Al monitorear el registro de conexiones, puedes rastrear la actividad de los usuarios e identificar cualquier conexión sospechosa o no autorizada.

Analizando Patrones de Conexión

También puedes utilizar stl_connection_log para analizar patrones de conexión e identificar posibles problemas. Por ejemplo, puedes contar el número de conexiones por usuario:

SELECT username, COUNT(*) as connection_count
FROM stl_connection_log
GROUP BY username
ORDER BY connection_count DESC;

Esta consulta te ofrece una visión general del número de conexiones realizadas por cada usuario. Si notas una cantidad inusualmente alta de conexiones de un usuario en particular, esto podría indicar un problema o un diseño ineficiente de la aplicación que requiere atención.

Vistas Adicionales de Registro y Monitoreo en Redshift

Además de stl_query y stl_connection_log, Redshift ofrece varias otras vistas del sistema que ayudan a monitorear la actividad del clúster, solucionar problemas de rendimiento y rastrear el comportamiento de los usuarios.

Rastreando Errores de Consultas: stl_error

Registra todos los errores relacionados con consultas. Útil para depurar consultas fallidas.

SELECT username, query, substring(error, 1, 50) AS error_snippet, starttime
FROM stl_error
ORDER BY starttime DESC
LIMIT 10;

Monitoreando las Colas de Trabajo: stl_wlm_query

Muestra cómo el Administrador de Cargas de Trabajo (WLM) de Redshift está manejando las consultas en cola y en ejecución.

SELECT queue_start_time, total_queue_time, total_exec_time, slot_count
FROM stl_wlm_query
ORDER BY queue_start_time DESC
LIMIT 10;

Auditando las Cargas de Datos: stl_load_commits

Rastrea el uso del comando COPY, ayudándote a monitorear la duración y la eficiencia de las cargas de datos.

SELECT query, table_name, lines_scanned, num_files, start_time, end_time,
DATEDIFF(seconds, start_time, end_time) AS duration
FROM stl_load_commits
ORDER BY start_time DESC
LIMIT 10;

Monitoreo en Tiempo Real: Vistas STV

  • stv_recents – Consultas completadas recientemente.
  • stv_inflight – Consultas en ejecución actualmente y su duración.
  • stv_wlm_service_class_config – Configuración y límites actuales de WLM.
  • stv_blocklist – Uso de bloques de disco y asignación de espacio.

Mejorando el Registro en Redshift con DataSunrise

Si bien las vistas STL de Redshift proporcionan registros detallados y métricas en tiempo real, no incluyen controles de acceso granulares, enmascaramiento ni integración con auditorías externas. Ahí es donde DataSunrise agrega valor.

  • Auditoría de consultas en tiempo real en todas las sesiones de Redshift
  • Enmascaramiento dinámico de datos basado en roles de usuario, IPs o contenido de la consulta
  • Registro centralizado con retención a largo plazo y capacidad de búsqueda
  • Bloqueo de operaciones riesgosas como escaneos completos de tablas o exportaciones
  • Alineación con normativas como GDPR, HIPAA, PCI DSS y más

DataSunrise se coloca entre los clientes y tu clúster de Redshift, analizando, registrando y controlando el tráfico sin cambiar la estructura de tus datos.

Conclusión

Las vistas STL y STV de Redshift proporcionan herramientas poderosas para registrar el comportamiento de las consultas, rastrear el acceso y optimizar el rendimiento del sistema. Pero para entornos que requieren trazas de auditoría, control de acceso a datos de forma granular y el cumplimiento de normativas, el registro nativo por sí solo no es suficiente.

DataSunrise mejora la visibilidad y el control en Redshift con capacidades inteligentes de enmascaramiento, alertas y auditoría. Solicita una demostración para ver cómo puedes llevar el monitoreo de Redshift al siguiente nivel mientras cumples con los estándares de protección de datos empresariales.

Siguiente

Cliente de CockroachDB

Cliente de CockroachDB

Más información

¿Necesita la ayuda de nuestro equipo de soporte?

Nuestros expertos estarán encantados de responder a sus preguntas.

Información general:
[email protected]
Servicio al Cliente y Soporte Técnico:
support.datasunrise.com
Consultas sobre Asociaciones y Alianzas:
[email protected]