Red de conocimiento informático - Conocimiento informático - Cómo diseñar un software de monitoreo del rendimiento de MySQL

Cómo diseñar un software de monitoreo del rendimiento de MySQL

Primero, presentemos pt-stalk, que es una herramienta del conjunto de herramientas Percona-Toolkit. Todo el mundo está familiarizado con el conjunto de herramientas PT. Los pt-query-digest, pt-online-schema-change, etc., de uso común, provienen de este conjunto de herramientas, por lo que no los presentaré uno por uno aquí.

La función principal de pt-stalk es recopilar información de diagnóstico del sistema operativo y MySQL cuando ocurre un problema, incluyendo:

1. nivel del sistema operativo, red y otra información;

2. Bloqueo de fila en espera de nivel MySQL, conexión de sesión, replicación maestro-esclavo, parámetros de estado y otra información.

pt-stalk es un script de Shell, que es muy amigable para personas como yo que no saben leer Perl. La lógica de monitoreo y los comandos del script también se pueden utilizar como referencia para crear su propio sistema de monitoreo.

En tercer lugar, utilice

A continuación, veamos cómo utilizar esta herramienta.

pt-stalk normalmente monitorea MySQL como un servicio en segundo plano y espera a que se produzcan desencadenantes, luego recopila datos de diagnóstico cuando se produce el desencadenante.

Los parámetros relacionados con las condiciones de activación son los siguientes:

función: el valor predeterminado es el estado, utilizado para monitorear la salida de MOSTRAR ESTADO GLOBAL. También se puede configurar en la lista de procesos; se utiliza para monitorear la salida de show Processlist;

Variable: el valor predeterminado es Threads_running, que indica los parámetros de monitoreo. De acuerdo con el resultado de monitoreo anterior, se deben especificar elementos de monitoreo específicos;

Umbral: el valor predeterminado es 25, lo que indica el umbral de monitoreo. Si el parámetro de monitoreo excede el umbral, se cumple la condición de activación; si el valor del parámetro de monitoreo no es un valor numérico, debe usarse junto con un parámetro coincidente; , como la columna de estado de la lista de procesos;

Bucle: el valor predeterminado es 5, lo que significa que cuando la Colección se activará cuando 5 observaciones consecutivas cumplan las condiciones de activación;

Parámetros de conexión : host, contraseña, puerto, socket.

Otros parámetros importantes:

Iteraciones (número de iteraciones): este parámetro se utiliza para especificar si pt-stalk saldrá después de activar varias colecciones. De forma predeterminada, ejecutará todas las colecciones. tiempo.

Tiempo de ejecución: este parámetro se utiliza para especificar el tiempo para recopilar datos después de activar la recopilación. El valor predeterminado es 30 segundos.

Dormir: este parámetro se utiliza para especificar cuánto tiempo dormir después de activar la recopilación de datos para continuar con el monitoreo. El valor predeterminado es 300 segundos.

Intervalo: este parámetro especifica la frecuencia con la que se verifican los parámetros de estado para determinar si es necesario activar la recopilación; el valor predeterminado es 1 segundo.

dest: la ruta para almacenar los datos de monitoreo, el valor predeterminado es /var/lib/pt-stalk.

tiempo de retención: el tiempo de retención de los datos de monitoreo, el valor predeterminado es 30 días.

daemonize: se ejecuta como un servicio en segundo plano, no habilitado de forma predeterminada.

log: registro de ejecución en segundo plano, el valor predeterminado es /var/log/pt-stalk.log.

recopilar: recopila datos de diagnóstico cuando se activa, habilitado de forma predeterminada. Collect-gdb: recopila seguimientos de la pila GDB; debe utilizar la herramienta gdb. Collect-strace: recopila datos de seguimiento, es necesario utilizar la herramienta strace. Collect-tcpdump: para recopilar datos de tcpdump, debe utilizar la herramienta tcpdump.