Se encuentra viendo la documentación de la versión en desarrollo, puede estar incompleta.
Esta página fue traducida automáticamente. Si detectas un error, selecciónalo y presiona Ctrl+Enter para informarlo a los editores.

4 Monitorizar MySQL con Zabbix agent 2

Introducción

Esta página le guía a través de los pasos necesarios para comenzar la monitorización básica de un servidor MySQL.

Para monitorizar un servidor MySQL, existen varios enfoques: agente Zabbix, agente Zabbix 2 o el estándar Open Database Connectivity (ODBC). El enfoque principal de esta guía es la monitorización de un servidor MySQL con el agente Zabbix 2, que es el enfoque recomendado debido a su sencilla configuración en diferentes entornos. Sin embargo, esta página también ofrece instrucciones para los otros enfoques, así que siéntase libre de elegir el que mejor se adapte a sus necesidades.

Para quién es esta guía

Esta guía está diseñada para nuevos usuarios de Zabbix y contiene el conjunto mínimo de pasos necesarios para habilitar la monitorización básica de un servidor MySQL. Si busca opciones de personalización avanzadas o requiere una configuración más avanzada, consulte la sección Configuración del manual de Zabbix.

Prerrequisitos

Antes de continuar con esta guía, debe descargar e instalar el servidor Zabbix, el frontend de Zabbix y el agente 2 de Zabbix siguiendo las instrucciones para su sistema operativo.

Según su configuración, algunos de los pasos de esta guía pueden diferir ligeramente. Esta guía se basa en la siguiente configuración:

  • Versión de Zabbix: Zabbix 7.2 PRE-RELEASE (instalado desde paquetes)
  • Distribución del sistema operativo: Ubuntu
  • Versión del sistema operativo: 22.04 (Jammy)
  • Componentes de Zabbix: Servidor, Frontend, Agente 2
  • Base de datos: MySQL
  • Servidor web: Apache

Crear usuario MySQL

Para monitorizar un servidor MySQL, Zabbix requiere acceso a él y a sus procesos. Su instalación de MySQL ya tiene un usuario con el nivel de acceso requerido (el usuario "zabbix" que se creó al instalar Zabbix), sin embargo, este usuario tiene más privilegios de los necesarios para una simple monitorización (privilegios para eliminar bases de datos, borrar entradas de tablas, etc.). Por lo tanto, es necesario crear un usuario MySQL con el propósito de solo monitorizar el servidor MySQL.

1. Conéctese al cliente MySQL, cree un usuario "zbx_monitor" (reemplace <password> para el usuario "zbx_monitor" por una contraseña de su elección), y CONCEDA los privilegios necesarios al usuario:

mysql -u root -p
       # Introduzca la contraseña:
       
       mysql> CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY '<password>';
       mysql> GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';
       mysql> quit;

Una vez creado el usuario, puede pasar al siguiente paso.

Configurar la interfaz web de Zabbix

1. Inicie sesión en la interfaz web de Zabbix.

2. Cree un equipo en la interfaz web de Zabbix:

  • En el campo Nombre del equipo, introduzca un nombre de equipo (por ejemplo, "Servidor MySQL").
  • En el campo Plantillas, escriba o seleccione la plantilla "MySQL by Zabbix agent 2" que se vinculará al equipo.
  • En el campo Grupos de equipos, escriba o seleccione un grupo de equipos (por ejemplo, "Bases de datos").
  • En el campo Interfaces, añada una interfaz de tipo "Agente" y especifique la dirección IP de su servidor MySQL. Esta guía utiliza "127.0.0.1" (localhost) para monitorizar un servidor MySQL que está instalado en la misma máquina que el servidor Zabbix y Zabbix agent 2.

  • En la pestaña Macros, cambie a Macros heredadas y de equipo, busque las siguientes macros y haga clic en Cambiar junto al valor de la macro para actualizarlo:
    • {$MYSQL.DSN} - establezca la fuente de datos del servidor MySQL (la cadena de conexión de una sesión nombrada del archivo de configuración del plugin MySQL Zabbix agent 2). Esta guía utiliza la fuente de datos por defecto "tcp://localhost:3306" para monitorizar un servidor MySQL que está instalado en la misma máquina que el servidor Zabbix y Zabbix agent 2.
    • {$MYSQL.PASSWORD} - establezca la contraseña del usuario MySQL creado previamente "zbx_monitor".
    • {$MYSQL.USER} - establezca el nombre del usuario MySQL creado previamente "zbx_monitor".

3. Haga clic en Añadir para añadir el equipo. Este equipo representará su servidor MySQL.

Ver métricas recopiladas

¡Felicidades! En este punto, Zabbix ya está monitorizando su servidor MySQL.

Para ver las métricas recopiladas, navegue a la sección de menú Monitorización → Equipos y haga clic en Cuadros de mando junto al equipo.

Esta acción le llevará al cuadro de mando del equipo (configurado a nivel de plantilla) con las métricas más importantes recopiladas del servidor MySQL.

Alternativamente, desde la sección de menú Monitorización → Equipos, puede hacer clic en Últimos datos para ver todas las métricas recopiladas más recientes en una lista. Tenga en cuenta que la métrica MySQL: Calculated value of innodb_log_file_size se espera que no tenga datos, ya que el valor se calculará a partir de los datos de la última hora.

Configurar alertas de problemas

Zabbix puede notificarle sobre un problema en su infraestructura utilizando una variedad de métodos. Esta guía proporciona los pasos básicos de configuración para enviar alertas por correo electrónico.

1. Vaya a Configuración de usuario → Perfil, cambie a la pestaña Medios y agregue su correo electrónico.

2. Siga la guía para Recibir una notificación de problema.

La próxima vez que Zabbix detecte un problema, debería recibir una alerta por correo electrónico.

Pruebe su configuración

Para probar su configuración, podemos simular un problema real actualizando la configuración del equipo en la interfaz de Zabbix.

1. Abra la configuración del equipo de su servidor MySQL en Zabbix.

2. Cambie a la pestaña Macros y seleccione Macros heredadas y del equipo.

3. Haga clic en Cambiar junto al valor de la macro configurada previamente {$MYSQL.USER}, por ejemplo, y establezca un nombre de usuario de MySQL diferente.

4. Haga clic en Actualizar para actualizar la configuración del equipo.

5. En unos momentos, Zabbix detectará el problema "MySQL: El servicio está caído", porque no podrá conectarse al servidor MySQL. El problema aparecerá en Supervisión → Problemas.

Si las alertas están configuradas, también recibirá la notificación del problema.

6. Cambie el valor de la macro a su valor anterior para resolver el problema y continuar monitorizando el servidor MySQL.

Otros enfoques para monitorizar MySQL

En lugar de monitorizar un servidor MySQL con Zabbix agent 2, también puede utilizar Zabbix agent o el estándar Open Database Connectivity (ODBC). Aunque se recomienda utilizar Zabbix agent 2, puede haber algunas configuraciones que no sean compatibles con Zabbix agent 2 o que requieran un enfoque personalizado.

La diferencia clave entre Zabbix agent y ODBC radica en el método de recopilación de datos: Zabbix agent se instala directamente en el servidor MySQL y recopila datos utilizando su funcionalidad incorporada, mientras que ODBC depende de un controlador ODBC para establecer una conexión con el servidor MySQL y recuperar datos utilizando consultas SQL.

Aunque muchos de los pasos de configuración son similares a la monitorización de un servidor MySQL con Zabbix agent 2, existen algunas diferencias significativas: debe configurar Zabbix agent u ODBC para poder monitorizar un servidor MySQL. Las siguientes instrucciones le guiarán a través de estas diferencias.

Monitorizar MySQL con el agente Zabbix

Para monitorizar un servidor MySQL con el agente Zabbix, debe descargar e instalar el servidor Zabbix, el frontend de Zabbix y el agente Zabbix siguiendo las instrucciones para su sistema operativo.

Una vez que haya instalado correctamente los componentes necesarios de Zabbix, debe crear un usuario MySQL como se describe en la sección Crear usuario MySQL.

Después de haber creado el usuario MySQL, debe configurar el agente Zabbix para que pueda establecer una conexión con el servidor MySQL y monitorizarlo. Esto incluye configurar múltiples parámetros de usuario para ejecutar comprobaciones personalizadas del agente, así como proporcionar al agente Zabbix las credenciales necesarias para conectarse al servidor MySQL como el usuario "zbx_monitor" creado previamente.

Configurar el agente Zabbix

1. Navegue al directorio de configuraciones adicionales del agente Zabbix.

cd /usr/local/etc/zabbix/zabbix_agentd.d

El directorio de configuraciones adicionales del agente Zabbix debe estar ubicado en el mismo directorio que su archivo de configuración del agente Zabbix (zabbix_agentd.conf). Dependiendo de su sistema operativo y la instalación de Zabbix, este directorio puede tener una ubicación diferente a la especificada en esta guía. Para ubicaciones por defecto, consulte el parámetro Include en el archivo de configuración del agente Zabbix.

En lugar de definir todos los parámetros de usuario necesarios para monitorizar el servidor MySQL en el archivo de configuración del agente Zabbix, estos parámetros se definirán en un archivo separado en el directorio de configuraciones adicionales.

2. Cree un archivo template_db_mysql.conf en el directorio de configuraciones adicionales del agente Zabbix.

vi template_db_mysql.conf

3. Copie el contenido del archivo template_db_mysql.conf (ubicado en el repositorio de Zabbix) al archivo template_db_mysql.conf que creó y guarde.

4. Reinicie el agente Zabbix para actualizar su configuración.

systemctl restart zabbix-agent

Una vez que haya configurado los parámetros de usuario del agente Zabbix, puede continuar para configurar las credenciales que permitirán al agente Zabbix acceder al servidor MySQL.

5. Vaya al directorio principal del agente Zabbix (si no existe en su sistema, debe crearlo; por defecto: /var/lib/zabbix).

cd /var/lib/zabbix

6. Cree un archivo .my.cnf en el directorio principal del agente Zabbix.

vi .my.cnf

7. Copie el siguiente contenido en el archivo .my.cnf (reemplace <password> por la contraseña del usuario "zbx_monitor").

[client]
       user='zbx_monitor'
       password='<password>'

Configure la interfaz web de Zabbix y pruebe su configuración

Para configurar la interfaz web de Zabbix, siga las instrucciones de la sección Configurar la interfaz web de Zabbix con los siguientes ajustes:

  • En el campo Plantillas, escriba o seleccione la plantilla "MySQL por Zabbix agent" que se vinculará al equipo.
  • No es necesario configurar Macros.

Una vez que haya configurado la interfaz web de Zabbix, puede ver las métricas recopiladas y configurar alertas de problemas.

Para probar su configuración, siga las instrucciones de la sección Probar su configuración con los siguientes ajustes:

  • En la sección Macros heredadas y del equipo de la configuración del equipo del servidor MySQL, haga clic en Cambiar junto al valor de la macro {$MYSQL.PORT} y establezca un puerto diferente (por ejemplo, "6033").

Monitorizar MySQL con ODBC

Para monitorizar un servidor MySQL con ODBC, necesita descargar e instalar el servidor Zabbix y el frontend de Zabbix.

Una vez que haya instalado correctamente los componentes requeridos de Zabbix, debe crear un usuario MySQL como se describe en la sección Crear usuario MySQL.

Después de haber creado el usuario MySQL, debe configurar ODBC. Esto incluye instalar una de las implementaciones de API ODBC de código abierto más utilizadas - unixODBC - y un controlador unixODBC, así como editar el archivo de configuración del controlador ODBC.

Configurar ODBC

1. Instale unixODBC. La forma sugerida de instalar unixODBC es utilizar los repositorios de paquetes predeterminados del sistema operativo Linux.

apt install unixodbc

2. Instale el controlador de base de datos MariaDB unixODBC. Aunque tiene una base de datos MySQL, se utiliza el controlador MariaDB unixODBC por cuestiones de compatibilidad.

apt install odbc-mariadb

3. Verifique la ubicación de los archivos de configuración de ODBC odbcinst.ini y odbc.ini.

odbcinst -j

El resultado de ejecutar este comando debería ser similar al siguiente.

unixODBC 2.3.9
       DRIVERS............: /etc/odbcinst.ini
       SYSTEM DATA SOURCES: /etc/odbc.ini
       FILE DATA SOURCES..: /etc/ODBCDataSources
       ...

4. Para configurar el controlador ODBC para monitorizar una base de datos MySQL, necesita el nombre del controlador, que se encuentra en el archivo odbcinst.ini. En el siguiente ejemplo de archivo odbcinst.ini, el nombre del controlador es "MariaDB Unicode".

[MariaDB Unicode]
       Driver=libmaodbc.so
       Description=MariaDB Connector/ODBC(Unicode)
       Threading=0
       UsageCount=1

5. Copie el siguiente contenido en el archivo odbc.ini (reemplace <password> por la contraseña del usuario "zbx_monitor"). Esta guía utiliza "127.0.0.1" (localhost) como la dirección del servidor MySQL para monitorizar un servidor MySQL que está instalado en la misma máquina que el controlador ODBC. Tenga en cuenta el nombre de la fuente de datos (DSN) "test", que será necesario cuando configure la interfaz web de Zabbix.

[test]
       Driver=MariaDB Unicode
       Server=127.0.0.1
       User=zbx_monitor
       Password=<password>
       Port=3306
       Database=zabbix

Configurar el frontend de Zabbix y probar su configuración

Para configurar el frontend de Zabbix, siga las instrucciones en la sección Configurar el frontend de Zabbix con los siguientes ajustes:

  • En el campo Plantillas, escriba o seleccione la plantilla "MySQL por ODBC" que se vinculará al equipo.
  • No es necesario configurar Interfaces.
  • El valor de la macro {$MYSQL.DSN} en la sección Macros heredadas y del equipo de la configuración del equipo del servidor MySQL debe establecerse en el nombre DSN del archivo odbc.ini.

Una vez que haya configurado el frontend de Zabbix, puede ver las métricas recopiladas, configurar alertas de problemas y probar su configuración.

Véase también

  • Creación de una métrica: cómo empezar a monitorizar métricas adicionales.
  • Escalaciones de problemas: cómo crear escenarios de alerta de varios pasos (por ejemplo, primero enviar un mensaje al administrador del sistema, luego, si el problema no se resuelve en 45 minutos, enviar un mensaje al responsable del centro de datos).
  • Monitorización ODBC: cómo configurar ODBC en otras distribuciones Linux y cómo empezar a monitorizar métricas adicionales relacionadas con bases de datos mediante ODBC.
  • Plantilla MySQL por agente Zabbix: información adicional sobre la plantilla MySQL por agente Zabbix.
  • Plantilla MySQL por agente Zabbix 2: información adicional sobre la plantilla MySQL por agente Zabbix 2.
  • Plantilla MySQL por ODBC: información adicional sobre la plantilla MySQL por ODBC.