TAG a query en MySQL

Hay veces que poder identificar qué programa está accediendo a la base de datos y está realizando las consultas puede ser muy útil.
Imaginémonos una base de datos que es accedida por 4 frontends diferentes y 2 programas de acceso a la API. Sabemos que uno de ellos hace algo raro, pero no sabemos cual es que realiza las temidas slow query's. Para saber cual es que culpable de dichas consultas, existen varias formas, una de ellas es, por ejemplo, diferenciar las conexiones por usuario, algo que luego será fácil de filtrar, otra sería también por equipo origen de la conexión. La última, podría ser incluir un pequeño tag en la query que incluya el nombre de la aplicación y así saber el origen de la misma. Como se verá a continuación, esto es bastante simple de realizar.
mysql> SELECT /*ZBX WEB 3*/ * FROM hosts;
Si esta consulta, aunque simple provoca que sea lenta con la cantidad de datos que tiene, luego se podrá consultar en el fichero de las slow query's. Tal como se puede observar a continuación y por lo tanto, saber qué aplicación es la que ha provocado dicha consulta, es muy simple, ya que en la propia consulta está el programa que la ha generado.
shell> cat /var/log/mysql/slow.log
  # Time: 120130 13:52:59
  # User@Host: zabbix[zabbix] @ localhost []  Id:  1335
  # Query_time:7.0377 Lock_time:5.0140 Rows_sent:19402 Rows_examined:0
  use zabbix;
  SET timestamp=1327927979;
  SELECT /*ZBX WEB 3*/ * FROM hosts;


No hay comentarios :

Publicar un comentario

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios