Cómo monitorear bases de datos MySQL/MariaDB usando Netdata en CentOS 7


Netdata es una aplicación de monitoreo de estado y rendimiento del sistema en tiempo real, simple y escalable, gratuita y de código abierto para sistemas similares a Unix como Linux, FreeBSD y MacOS. Reúne varias métricas y las visualiza, lo que le permite observar las operaciones en su sistema. Admite varios complementos para monitorear el estado actual del sistema, ejecutar aplicaciones y servicios como el servidor de base de datos MySQL/MariaDB, y mucho más.

  1. Cómo monitorear el rendimiento de Apache usando Netdata en CentOS 7
  2. Cómo monitorear el desempeño de Nginx usando Netdata en CentOS 7

En este artículo, explicaremos cómo monitorear el rendimiento del servidor de base de datos MySQL/MariaDB usando Netdata en la distribución CentOS 7 o RHEL 7.

Al final de este artículo, podrá ver visualizaciones de ancho de banda, consultas, manejadores, bloqueos, problemas, temporales, conexiones, binlog, métricas de subprocesos de su servidor de base de datos MySQL/MariaDB desde una interfaz web de monitoreo de netdata.

  1. Un servidor RHEL 7 con instalación mínima.
  2. Instalación del servidor de base de datos MariaDB.

Paso 1: Instale el servidor de base de datos MariaDB en CentOS 7

1. Primero comience agregando el repositorio de software MariaDB YUM a su sistema.

# vim /etc/yum.repos.d/MariaDB.repo

Ahora agregue las siguientes líneas en este archivo.

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

2. A continuación, instale el paquete MariaDB, de la siguiente manera.

# yum install MariaDB-server MariaDB-client -y

3. Una vez que haya instalado la base de datos MariaDB, inicie el demonio del servidor de la base de datos por el momento, y habilítelo para que se inicie automáticamente al arrancar el sistema, y confirme que está funcionando usando los siguientes comandos.

# systemctl start mariadb
# systemctl enable mariadb
# systemctl status mariadb

4. De forma predeterminada, la instalación de MySQL no es segura y debe protegerla ejecutando el script de seguridad que viene con el paquete binario. Se le pedirá que establezca una contraseña de root, configúrela y continúe.

# mysql_secure_installation

Una vez que haya configurado la contraseña de root, ingrese yes/y en el resto de las preguntas para eliminar usuarios anónimos, no permitir el inicio de sesión de root de forma remota, eliminar la base de datos de prueba y acceder a ella, así como volver a cargar las tablas de privilegios ahora .

5. Para recopilar estadísticas de rendimiento de su servidor de base de datos MySQL/MariaDB, netdata necesita conectarse al servidor de base de datos. Por lo tanto, cree un usuario de base de datos llamado "netdata" para que tenga la capacidad de conectarse al servidor de la base de datos en localhost, sin una contraseña.

# mysql -u root -p
MariaDB [(none)]> CREATE USER 'netdata'@'localhost';
MariaDB [(none)]> GRANT USAGE on *.* to 'netdata'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

Paso 2: Instale Netdata para monitorear el rendimiento de MySQL

6. Afortunadamente, ya tenemos un script de una sola línea proporcionado por los desarrolladores de netdata, para instalarlo sin problemas desde el árbol de fuentes en el repositorio de github.

El script de kickstarter descarga otro script para detectar su distribución de Linux; instala los paquetes de sistema necesarios para construir netdata; luego descarga el último árbol de fuentes de netdata; lo construye e instala en su sistema.

Este comando lo ayudará a iniciar el script de kickstarter, la opción all permite instalar los paquetes requeridos para todos los complementos de netdata, incluidos los de MySQL/MariaDB.

# bash <(curl -Ss https://my-netdata.io/kickstart.sh) all

Si no administra su sistema como root, se le pedirá que ingrese su contraseña de usuario para el comando sudo, y también se le pedirá que confirme una serie de funciones simplemente presionando [Enter].

7. Una vez que la secuencia de comandos haya terminado de compilar e instalar netdata, iniciará automáticamente el servicio netdata y lo habilitará al iniciarse el sistema.

8. Netdata escucha en el puerto 19999 de forma predeterminada, utilizará este puerto para acceder a la interfaz de usuario web. Entonces, abra el puerto en el firewall de su sistema.

# firewall-cmd --permanent --add-port=19999/tcp
# firewall-cmd --reload 

Paso 2: configurar Netdata para monitorear MySQL/MariaDB

9. La configuración de netdata para el complemento MySQL/MariaDB es /etc/netdata/python.d/mysql.conf, que está escrito en formato YaML.

# vim /etc/netdata/python.d/mysql.conf

La configuración predeterminada es suficiente para comenzar a monitorear su servidor de base de datos MySQL/MariaDB. En caso de que haya leído la documentación y haya realizado algún cambio en el archivo anterior, debe reiniciar el servicio netdata para efectuar los cambios.

# systemctl restart netdata

10. A continuación, abra un navegador web y utilice cualquiera de las siguientes URL para acceder a la interfaz de usuario web de netdata.

http://domain_name:19999
OR
http://SERVER_IP:19999

Desde el panel de netdata, busque “MySQL local” en la lista de complementos del lado derecho y haga clic en él para comenzar a monitorear su servidor MySQL/MariaDB. Podrás ver visualizaciones de ancho de banda, consultas, manejadores, bloqueos, así como galera, como se muestra en la siguiente captura de pantalla.

Repositorio Netdata Github: https://github.com/firehol/netdata

¡Eso es todo! En este artículo, hemos explicado cómo monitorear el rendimiento del servidor de base de datos MySQL/MariaDB usando Netdata en CentOS 7. Use el formulario de comentarios a continuación para hacer preguntas o compartir pensamientos adicionales con nosotros.