Cómo monitorear la actividad del servidor MySQL con un panel de Grafana

Grafana es una popular solución de observabilidad de código abierto que le permite visualizar métricas en paneles gráficos. Grafana tiene conectores para una amplia selección de fuentes de datos, incluidas bases de datos de series temporales, motores de búsqueda y aplicaciones individuales. En este artículo, aprenderá cómo usar Grafana para configurar un monitoreo simple para un servidor de base de datos MySQL usando la integración oficial de Grafana Cloud.

→ Índice de contenidos

Empezando

Grafana está disponible para alojamiento propio en su propio hardware o como una plataforma SaaS administrada llamada Grafana Cloud. Usamos Grafana Cloud en este tutorial porque admite integraciones de inicio rápido que se conectan a su fuente de datos y proporciona diseños de panel prediseñados para las métricas más comunes.

Inicie sesión en su cuenta de Grafana para comenzar. Puede crear una nueva cuenta de Grafana Cloud de forma gratuita para almacenar hasta 10 000 series de métricas y 50 GB de registros.

Agregar la integración de MySQL

Puede agregar la integración de MySQL a su cuenta dirigiéndose a la página "Integraciones y conexiones", a la que se accede desde el ícono del rayo en la barra lateral izquierda. Ingrese "mysql" en la barra de búsqueda en la parte superior de la pantalla.

imagen de búsqueda de la integración de MySQL en Grafana

Debería ver aparecer dos resultados, ambos etiquetados como "MySQL". Elija el que está marcado como "Integración". Las integraciones incluyen una experiencia de configuración simplificada y diseños de panel preconstruidos para monitorear estadísticas clave del servidor. La opción alternativa, "Fuente de datos", requiere que se conecte manualmente a su servidor, extraiga métricas y ensamble paneles.

imagen de la instalación de la integración MySQL de Grafana

La siguiente pantalla le pedirá que seleccione el sistema operativo y la arquitectura del procesador de la máquina que aloja su servidor MySQL. Ajuste las opciones del menú desplegable para que coincidan con su sistema. Presione el botón azul "Instalar integración" para ver las instrucciones de instalación de Grafana Agent correspondientes.

Instalación del Agente Grafana

Grafana Agent es una utilidad que se ejecuta como un servicio del sistema para recopilar métricas de sus máquinas. Envía datos a su cuenta de Grafana, donde aparecerán en sus paneles. El agente es una versión reducida del recopilador de datos de Prometheus.

Al ejecutar el script que se muestra en la pantalla de integración de MySQL, se descargará Grafana Agent, se configurará con su cuenta de Grafana Cloud y se configurará el monitoreo de MySQL. Los datos se recopilarán cada 60 segundos cuando utilice la configuración predeterminada.

Copie el script que se muestra y ejecútelo en el servidor que aloja sus bases de datos MySQL. Verá algunas líneas de salida a medida que el script descarga el binario y recupera su archivo de configuración.

Verifique que el servicio Grafana Agent se haya iniciado correctamente antes de continuar:

$ sudo systemctl status grafana-agent.service
● grafana-agent.service - Monitoring system and forwarder
     Loaded: loaded (/lib/systemd/system/grafana-agent.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2022-08-13 17:39:03 UTC; 39s ago
       Docs: https://grafana.com/docs/agent/latest/

Presione el botón "Probar integración" en su cuenta de Grafana Cloud para verificar que todo esté listo para usar. El agente debería enviar datos a Grafana.

Ahora puede presionar "Ver paneles" para comenzar a interactuar con las visualizaciones incluidas con la integración.

Explorando sus tableros

La integración de MySQL viene con dos paneles: Descripción general de MySQL y Registros de MySQL. El panel de información general proporciona gráficos que cubren todos los aspectos de la operación de su servidor MySQL, incluido el tiempo de actividad, las consultas por segundo, las conexiones activas, las consultas, las clasificaciones y la actividad de la red. Puede utilizar estas métricas para interrogar el rendimiento de MySQL e identificar oportunidades de optimización.

La vista Registros ofrece una fuente de los archivos de registro escritos por su instancia de servidor MySQL. La integración recopila automáticamente los registros dentro del /var/log/mysql directorio. El tablero incluye gráficos de la cantidad de líneas de registro que se han escrito, desglosadas por nivel de gravedad y código de error.

Los tableros se pueden personalizar haciendo clic en el ícono de configuración en la esquina superior derecha y presionando el botón "Hacer editable". Esto le permitirá cambiar la configuración del tablero usando los otros controles en la pantalla de configuración. También se le agregará para agregar y editar los paneles gráficos que se muestran en el tablero.

Agente de Grafana Autenticación del servidor MySQL

Un desafío que podría encontrar se refiere a la cuenta de usuario de MySQL que Grafana Agent usa para acceder a su base de datos. El agente está configurado para usar root por defecto. Esto no funcionará si el inicio de sesión raíz de MySQL está deshabilitado en su servidor, o si ha bloqueado las conexiones raíz a bases de datos específicas.

Puede mejorar la seguridad y recuperar el control creando un usuario de MySQL dedicado para Grafana. Ejecute los siguientes comandos en un shell de MySQL para agregar un usuario y una contraseña, luego concédale privilegios para acceder a sus datos:

> CREATE USER 'grafana'@'localhost' IDENTIFIED BY '<your-password>';
> GRANT ALL PRIVILEGES ON *.* TO 'grafana'@'localhost';
> FLUSH PRIVILEGES;

La concesión de privilegios en *.* permite al usuario acceder a cualquier tabla en su servidor, en todos los esquemas. Podrías cambiar el GRANT para restringir los privilegios de Grafana o limitar las interacciones a esquemas y tablas específicos. Sin embargo, la integración funciona mejor con privilegios elevados que incluyen las tablas del sistema MySQL. Esto permite recopilar la selección más completa de métricas.

Una vez que haya creado su usuario, edite su archivo de configuración del Agente Grafana para autenticarse con sus credenciales. Encontrarás esto en /etc/grafana-agent.yaml. Busque la siguiente sección:

integrations:
  mysqld_exporter:
    data_source_name: root@(localhost:3306)/

los data_source_name El campo define la dirección del servidor MySQL y las credenciales de usuario. Modifíquelo para hacer referencia a su nueva cuenta.

data_source_name: grafana:<your-password>@(localhost:3306)/

Reinicie el servicio Grafana Agent para aplicar el cambio.

$ sudo service grafana-agent restart

Resumen

La integración MySQL incorporada de Grafana proporciona una manera conveniente de monitorear el rendimiento de su servidor de base de datos. Los diseños de tablero incluidos agregan sus registros de errores y grafican todas las métricas medidas comúnmente, manteniéndolo al tanto de la utilización de recursos y la actividad de consultas.

El monitoreo regular de estos datos puede ayudarlo a detectar tendencias de rendimiento emergentes y resolver anomalías antes de que se conviertan en un problema. Registrar y recuperar manualmente estas métricas sería una tarea ardua, mientras que los paneles de Grafana le brindan todo en una pantalla, lo que facilita un análisis eficiente.

Subir Change privacy settings