Mytop: una herramienta útil para monitorear el rendimiento de MySQL/MariaDB en Linux


Mytop es un programa de monitoreo de código abierto y gratuito para bases de datos MySQL y MariaDB que fue escrito por Jeremy Zawodny usando lenguaje Perl. Es muy similar en apariencia a la herramienta de monitoreo de sistemas Linux más famosa llamada top.

El programa Mytop proporciona una interfaz de shell de línea de comandos para monitorear los subprocesos MySQL/MariaDB en tiempo real, las consultas por segundo, la lista de procesos y el rendimiento de las bases de datos y le da una idea al administrador de la base de datos para optimizar mejor el servidor para manejar cargas pesadas.

Por defecto, la herramienta Mytop está incluida en los repositorios de Fedora y Debian/Ubuntu, por lo que solo tiene que instalarla usando su administrador de paquetes predeterminado.

Si está utilizando distribuciones RHEL/CentOS, debe habilitar el repositorio EPEL de terceros para instalarlo.

Para otras distribuciones de Linux, puede obtener el paquete fuente mytop y compilarlo desde la fuente como se muestra.

# wget http://jeremy.zawodny.com/mysql/mytop/mytop-1.6.tar.gz
# tar -xvf mytop-1.6.tar.gz
# cd mytop-1.6
# perl Makefile.PL
# make
# make test
# make install

En este tutorial de monitoreo de MySQL, le mostraremos cómo instalar, configurar y usar mytop en varias distribuciones de Linux.

Tenga en cuenta que debe ejecutar MariaDB Server en el sistema para instalar y utilizar Mytop.

Instale Mytop en sistemas Linux

Para instalar Mytop, ejecute el comando apropiado a continuación para que su distribución de Linux lo instale.

$ sudo apt install mytop	#Debian/Ubuntu
# yum install mytop	        #RHEL/CentOS
# dnf install mytop	        #Fedora 22+
# pacman -S mytop	        #Arch Linux 
# zypper in mytop	        #openSUSE
Loaded plugins: changelog, fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.linode.com
 * epel: mirror.freethought-internet.co.uk
 * extras: mirrors.linode.com
 * updates: mirrors.linode.com
Resolving Dependencies
--> Running transaction check
---> Package mytop.noarch 0:1.7-10.b737f60.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==============================================================================================================================================================================
 Package                               Arch                                   Version                                              Repository                            Size
==============================================================================================================================================================================
Installing:
 mytop                                 noarch                                 1.7-10.b737f60.el7                                   epel                                  33 k

Transaction Summary
==============================================================================================================================================================================
Install  1 Package

Total download size: 33 k
Installed size: 68 k
Is this ok [y/d/N]: y

Cómo usar Mytop para monitorear MySQL/MariaDB

Mytop necesita credenciales de inicio de sesión MySQL/MariaDB para monitorear las bases de datos y se conecta al servidor con el nombre de usuario raíz de forma predeterminada. Puede especificar las opciones necesarias para conectarse al servidor de la base de datos en la línea de comandos mientras lo ejecuta o en el archivo ~/.mytop (por conveniencia, como se explica más adelante).

Simplemente ejecute el siguiente comando para iniciar mytop y proporcione su contraseña de usuario raíz de MySQL/MariaDB, cuando se le solicite. Esto se conectará a la base de datos de prueba de forma predeterminada.

# mytop --prompt
Password:

Una vez que ingresó la contraseña de root de MySQL, verá el shell de monitoreo de Mytop, similar al siguiente.

Si desea monitorear una base de datos específica, utilice la opción -d como se muestra a continuación. Por ejemplo, el siguiente comando monitoreará la base de datos tecmint.

# mytop --prompt -d tecmint
Password:

Si cada una de sus bases de datos tiene un administrador específico (por ejemplo, administrador de la base de datos tecmint), entonces conéctese usando el nombre de usuario y la contraseña de la base de datos.

# mytop -u tecmint -p password_here -d tecmintdb

Sin embargo, esto tiene ciertas implicaciones de seguridad, ya que la contraseña del usuario se escribe en la línea de comandos y se puede almacenar en el archivo de historial de comandos de la shell. Este archivo puede ser visto más tarde por una persona no autorizada que podría obtener el nombre de usuario y la contraseña.

Para evitar el riesgo de tal escenario, use el archivo de configuración ~/.mytop para especificar opciones para conectarse a la base de datos. Otra ventaja de este método es que también elimina la necesidad de escribir numerosos argumentos en la línea de comandos cada vez que desea ejecutar mytop.

# vi ~/.mytop

Luego agregue las opciones necesarias a continuación.

user=root
pass=password_here
host=localhost
db=test
delay=4
port=3306
socket=

Guarde y cierre el archivo. Luego, ejecute mytop sin ningún argumento de línea de comandos.

# mytop

Tiene la capacidad de mostrar una gran cantidad de información en la pantalla y también tiene muchas opciones de atajos de teclado, consulte "man mytop" para obtener más información.

# man mytop

  1. Mtop (Monitoreo de bases de datos MySQL) en RHEL/CentOS/Fedora
  2. Innotop para monitorear el rendimiento de MySQL

En este artículo, hemos explicado cómo instalar, configurar y usar mytop en Linux. Si tiene alguna pregunta, utilice el formulario de comentarios a continuación para comunicarse con nosotros.