En resumenRecopila y visualiza los logs de errores de MySQL y de consultas lentas en ClickStack con el receiver
filelog de OTel. Incluye un conjunto de datos de demostración y un dashboard preconfigurado.Integración con MySQL existente
Requisitos previos
- Instancia de ClickStack en ejecución
- Instalación existente de MySQL (versión 5.7 o posterior)
- Acceso para modificar los archivos de configuración de MySQL
- Espacio suficiente en disco para los archivos de registro
Configurar el registro de MySQL
MySQL admite varios tipos de registros. Para una monitorización completa con OpenTelemetry, recomendamos habilitar el registro de errores y el registro de consultas lentas.El archivo de configuraciónmy.cnf o my.ini suele encontrarse en:- Linux (apt/yum):
/etc/mysql/my.cnfo/etc/my.cnf - macOS (Homebrew):
/usr/local/etc/my.cnfo/opt/homebrew/etc/my.cnf - Docker: La configuración suele establecerse mediante variables de entorno o un archivo de configuración montado
[mysqld]:El registro de consultas lentas captura las consultas que tardan más de
long_query_time segundos. Ajusta este umbral según los requisitos de rendimiento de tu aplicación. Si lo configuras demasiado bajo, se generará un volumen excesivo de registros.Crear una configuración personalizada de OTel collector
ClickStack le permite ampliar la configuración base de OpenTelemetry Collector montando un archivo de configuración personalizado y estableciendo una variable de entorno. La configuración personalizada se fusiona con la configuración base administrada por HyperDX mediante OpAMP.Cree un archivo llamadomysql-logs-monitoring.yaml con la siguiente configuración:- Lee los logs de errores de MySQL y los logs de consultas lentas desde sus ubicaciones estándar
- Gestiona entradas de log de varias líneas (las consultas lentas abarcan varias líneas)
- Analiza ambos formatos de log para extraer campos estructurados (level, error_code, query_time, rows_examined)
- Conserva las marcas de tiempo originales de los logs
- Añade los atributos
source: mysql-errorysource: mysql-slowpara filtrar en HyperDX - Envía los logs al exportador de ClickHouse mediante un pipeline dedicado
Se requieren dos receivers porque los logs de errores de MySQL y los logs de consultas lentas tienen formatos completamente distintos. El
time_parser usa el layout gotime para procesar el formato de timestamp ISO8601 de MySQL con desplazamientos de zona horaria.Configura ClickStack para cargar una configuración personalizada
Para habilitar una configuración personalizada del colector en tu despliegue existente de ClickStack, monta el archivo de configuración personalizado en/etc/otelcol-contrib/custom.config.yaml y establece la variable de entorno CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml.Actualiza la configuración de despliegue de ClickStack:Asegúrese de que el collector de ClickStack tenga los permisos adecuados para leer los archivos de log de MySQL. Use montajes de solo lectura (
:ro) y siga el principio de mínimo privilegio.Verificar logs en HyperDX
Una vez configurado, inicia sesión en HyperDX y verifica que se estén recibiendo logs:- Ve a la vista de búsqueda
- Establece
sourceen Logs - Filtra por
source:mysql-errorosource:mysql-slowpara ver logs específicos de MySQL - Deberías ver entradas de log estructuradas con campos como
level,error_code,message(para logs de error) yquery_time,rows_examined,query(para logs de consultas lentas)
Conjunto de datos de demostración
Descargar el conjunto de datos de ejemplo
Descargue los archivos de log de ejemplo:- Entradas del registro de errores (mensajes de inicio, advertencias, errores de conexión, mensajes de InnoDB)
- Consultas lentas con características de rendimiento realistas
- Eventos del ciclo de vida de las conexiones
- Secuencias de inicio y apagado del servidor de base de datos
Crear la configuración del collector de prueba
Crea un archivo llamadomysql-logs-demo.yaml con la siguiente configuración:Ejecuta ClickStack con la configuración de demostración
Ejecuta ClickStack con los logs de demostración y la configuración de demostración:Verifica los logs en HyperDX
Una vez que ClickStack esté en ejecución:- Espera unos instantes a que ClickStack se inicialice por completo (normalmente, entre 30 y 60 segundos)
- Abre HyperDX e inicia sesión en tu cuenta (puede que primero tengas que crear una cuenta)
- Ve a Search view y establece la source en
Logs - Establece el intervalo de tiempo en 2025-11-13 00:00:00 - 2025-11-16 00:00:00
- Deberías ver 40 logs en total (30 logs de error con
source:mysql-demo-error+ 10 consultas lentas consource:mysql-demo-slow)
Si no ves los 40 logs de inmediato, espera aproximadamente un minuto para que el colector termine de procesarlos. Si los logs siguen sin aparecer después de esperar, ejecuta
docker restart clickstack-demo y vuelve a comprobarlo al cabo de otro minuto. Este es un problema conocido del filelog receiver de OpenTelemetry al cargar en bloque archivos preexistentes con start_at: beginning. Los despliegues de producción que usan start_at: end procesan los logs a medida que se escriben en tiempo real y no experimentan este problema.Visualización de la zona horariaHyperDX muestra los timestamps en la zona horaria local de tu navegador. Los datos de demostración abarcan 2025-11-14 00:00:00 - 2025-11-15 00:00:00 (UTC). El amplio intervalo de tiempo garantiza que verás los logs de demostración independientemente de tu ubicación. Una vez que veas los logs, puedes reducir el intervalo a un período de 24 horas para obtener visualizaciones más claras.
Dashboards y visualización
la configuración del dashboard
Importa el dashboard preconfigurado
- Abre HyperDX y ve a la sección Dashboards
- Haz clic en Import Dashboard en la esquina superior derecha, dentro del menú de puntos suspensivos
- Sube el archivo
mysql-logs-dashboard.jsony haz clic en Finish Import
Ver el dashboard
El dashboard se creará con todas las visualizaciones ya configuradas.Para el conjunto de datos de demostración, establece el intervalo de tiempo en 2025-11-14 00:00:00 - 2025-11-15 00:00:00 (UTC) (ajústalo según tu zona horaria local). El dashboard importado no tendrá un intervalo de tiempo especificado de forma predeterminada.
Solución de problemas
La configuración personalizada no se carga
No aparecen logs en HyperDX
filelog:
El registro de consultas lentas no aparece
Los logs no se procesan correctamente
Próximos pasos
- Configura alertas para eventos críticos (fallos de conexión, consultas lentas que superan los umbrales y picos de errores)
- Crea dashboards personalizados para analizar consultas lentas por patrón de consulta
- Ajusta
long_query_timeen función de los patrones de rendimiento observados en las consultas