Red de conocimiento informático - Material del sitio web - ¿Cómo monitorear la ejecución de sentencias SQL en mysql en tiempo real?

¿Cómo monitorear la ejecución de sentencias SQL en mysql en tiempo real?

Primero, queremos presentar pt-stalk, que es una herramienta del conjunto de herramientas Percona-Toolkit. Hablando del kit de herramientas PT, todos lo conocen. Generalmente usamos pt-query-digest, pt-online-schema-change y otras herramientas en el kit de herramientas, por lo que no las presentaremos una por una 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 e información de red;

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

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 generalmente monitorea MySQL como un servicio en segundo plano y espera a que se activen los activadores para recopilar datos de diagnóstico cuando se activan las condiciones.

Hay varios parámetros relacionados con las condiciones de activación:

Función: el valor predeterminado es el estado, que se usa para monitorear la salida de MOSTRAR ESTADO GLOBAL. También se puede configurar en la lista de procesos, que se usa para; monitorear la salida de mostrar lista de procesos Salida;

Variables:

Estos parámetros se pueden configurar en estado, utilizados para monitorear la salida de mostrar lista de procesos;

Estos parámetros También se puede configurar en lista de procesos. variable: el valor predeterminado es Threads_running, que representa el parámetro de monitoreo. De acuerdo con el resultado de monitoreo anterior, especifique el elemento de monitoreo específico;

umbral: el valor predeterminado es 25, que representa el umbral de monitoreo. excede el umbral, la condición de activación se establece cuando Cuando el valor del parámetro de monitoreo no es un valor numérico, debe usarse junto con el parámetro coincidente, como la columna de estado de la lista de procesos;

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

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 cuántas veces saldrá pt-stalk después de activar la colección. De forma predeterminada, se ejecutará. todo el 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.

Sueño: este parámetro se utiliza para especificar cuánto tiempo dormir después de activar la recopilación de datos y luego 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.