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.