Monitorea MySQL desde la terminal con mytop

por | 27 febrero, 2015

mytop4mytop fue creada con el objetivo de ser una herramienta de supervision del sistema, similar a lo que hace top respecto a la actividad del procesador y la memoria, pero que en este caso nos permite monitorizar el uso de recursos de MySQL.

El programa se configura en el servidor donde tenemos instalado MySQL (usuario, contraseña, nombre de la base de datos) y se ejecuta periódicamente el SHOW PROCESSLIST y SHOW STATUS, comandos que definen el estado y dan un resumen de la información en un formato útil.

La pantalla que muestra mytop está dividida en dos partes:

Las 4 primeras líneas, contienen información resumida sobre el servidor MySQL.

  • La primera línea indica el nombre de host del servidor y la versión de MySQL.
  • En la siguiente línea, el número total de consultas que el servidor ha procesado, el promedio de consultas por segundo, el número de consultas lentas.
  • La tercera linea muestra valores en tiempo real. El primero es el número de consultas por segundo y  el número de consultas lentas por segundo.
  • La ultima linea, la eficiencia del Búffer (la frecuencia con que las key se leen de la memoria intermedia en lugar de disco) y el número de bytes que MySQL ha enviado y recibido en forma global como en el ultimo ciclo.

La segunda parte de la pantalla, es la lista, en donde se muestran tantos threads (hilos de ejecución) como puedan caber en la misma.

Como podemos ver en la imagen que inicia el post, se muestra: el identificador del hilo, el nombre de usuario, el host desde el que el usuario se está conectando a la base de datos, la base de datos que se esta usando, el número de segundos de tiempo de inactividad, el comando que el thread esta ejecutando y la información del query.

Entre los argumentos, podemos describir algunos de los de mayor uso:

-u nombre de usuario
Nombre de Usuario para loguearse en el Servidor de MySQL. El valor por defecto es root.

-p contraseña del nombre de usuario
Clave del usuario que se conecta a la base de datos, por defecto no se usa clave.

-h hostname[:port]
Nombre del servidor MySQL, por defecto se utiliza Localhost.

-port numero de puerto
Se usa en el caso que se tenga definido un puerto de MySQL diferente al 3306.

-s segundos de intervalos
Tiempo de actualización de la información en la pantalla. El valor por defecto es 3 segundos.

-d nombre de la base de datos
Nombre de la Base de datos que deseamos monitorear, por defecto, se define o utiliza la base datos de test.

Un comando típico de ejecución podría ser este:

# mytop -u<usuario> -p<clave> -s<segundos de intervalo>

Esos parámetros pueden ser modificados desde el archivo de configuración /usr/bin/mytop y adaptarlo a nuestras directivas de uso, para iniciar sesión de forma directa.

vim /usr/bin/mytop

user=root
pass= xxxx
host=localhost
db=test
delay= #
port=3306

mytop2Una vez que modificamos el archivo de configuración, podemos ejecutar el programa con tan solo escribir el comando:

mytop

En esta imagen podemos ver una visión general de la herramienta en ejecución.

mytopAl igual que otros programas que se ejecutan en la terminal, mytop cuenta con teclas de acceso directo que nos permite realizar varias funciones como:

d
Ver solo los threads conectados a la base de datos.

f
Al indicar la tecla, debemos especifica el id del query en ejecución para observar por completo la consulta.

p
Poner la pantalla en pausa.

q
Salir de mytop.

mytop es software libre y está disponible en los repositorios de prácticamente todas las distribuciones GNU/Linux.

Imagen | Jeremy D. Zawodny

3 pensamientos en “Monitorea MySQL desde la terminal con mytop

  1. Juan Natera

    Magnifica herramienta. No la conocía y realmente ahora que tengo una segunda computadora que me sirve de servidor me viene muy bien. ¡Instalada!

    1. jorss

      gracias a esta publicacion se de su existencia
      hooooooooo

Los comentarios están cerrados.