Habilitar logging detallado en Aurora-MySQL

Detalles del Cluster Aurora-MySQL

  • 2 instancias db.r4.2xlarge.
  • Deployment: Multi AZ.
  • Engine: Mysql 5.7.12 (Performance Insights no tiene soporte).
  • Tamaño: 220GB.
  • Consultas de lectura: 3,43/sg
  • Consultas de escritura: 72,7/sg
  • Conexiones: 1100 /sg

Paso a paso para habilitar logging en Aurora-MySQL:

Prerequisitos

Paso # 1 — Parameter Group:

Paso # 2 — Configurar el Parameter Group:

  • CONNECT: Registra conexiones exitosas, fallidas y desconexiones.
  • QUERY: Registra todas las consultas en texto sin formato, incluidas las consultas que fallan debido a errores de sintaxis o permisos.
  • QUERY_DCL: Solo devuelve consultas del lenguaje de control de datos (DCL) (GRANT, REVOKE, etc.).
  • QUERY_DDL: Solo devuelve consultas del lenguaje de definición de datos (DDL) (CREATE, ALTER, etc.).
  • QUERY_DML: Solo devuelve consultas del lenguaje de manipulación de datos (DML) (INSERT, UPDATE, etc., y también SELECT).
  • TABLE: Registra las tablas que se vieron afectadas por la ejecución de la consulta.

Consultar Logging detallado en Aurora-MySQL

Resultados de Slow Queries

# Time: 2020–05–25T19:54:15.240980Z
# User@Host: admin[admin] @ [10.10.2.109] Id: 23436326
# Query_time: 13.553803 Lock_time: 0.000094 Rows_sent: 30 Rows_examined: 5611008
SET timestamp=1590436455;
select xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
FROM xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
INNER JOIN xxxxxxxxxxxxxxxx ON xxxxxxxx=xxxxxxxx and yyyyyyy=yyyyyy
WHERE xxxxxxx BETWEEN ‘FECHA_1’ and ‘FECHA_2’ AND xxxxxxxxx=12345678
GROUP BY xxxxxx, yyyyy, wwwwww, zzzzzz;
  • Tiempo de ejecución: 13,5 sg
  • Filas resultantes: 30
  • Filas examinadas: 5611008
# Time: 2020-05-25T20:02:30.321178Z
# User@Host: admin[admin] @ [10.10.2.109] Id: 23443701
# Query_time: 17.499512 Lock_time: 0.000117 Rows_sent: 3730 Rows_examined: 54081143
SET timestamp=1590436950;
select DATE_FORMAT(fecha,'%Y-%m-%d %k:00:00') as xxxxxxxxx ,count(xxx) as xxxxx,yyyyy,wwwwww,zzzzzzz,sssssss,ffffffff,ggggggg,hhhhhhh,uuuuuuuuu from xxxxxxxxxx
LEFT JOIN xxxxxx ON rrrrrrr=jjjjjjj
LEFT JOIN xxxxxxxxxx ON xxxxxxxx=yyyyyyy and wwwww=zzzzzz
where fecha between '2020-05-25 14:00:00' and '2020-05-25 14:59:59'
GROUP BY DATE_FORMAT(r.fecha,'%Y-%m-%d %k:00:00'),xxxxxxx,yyyyyy
ORDER BY DATE_FORMAT(r.fecha,'%Y-%m-%d %k:00:00'),yyyyyyy;
  • Tiempo de ejecución: 17,4 sg
  • Filas resultantes: 3730
  • Filas examinadas: 54081143

Resultados de Audit Queries

'SELECT xxxxx, xxxx AS xxx, xxxx AS xxxx, xxxx AS xxx, xxx AS xxxx, xxxx AS xxxx, xxxxx AS xxxxx, xxxxx AS xxxxx FROM xxxxx WHERE xxxxxx = \'9000923851\' AND xxxxxxxxx = 35',0

Resultados de Error

2020-05-25T16:39:28.113003Z 23255151 [Note] Aborted connection 23255151 to db: 'xxxxx' user: 'admin' host: '34.72.xx.xxx' (Got an error reading communication packets)

Recomendaciones Finales

--

--

--

AWS x10, Tech Director en Globant con más de 7 años de experiencia en AWS.

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Carlos Andres Zambrano Barrera

Carlos Andres Zambrano Barrera

AWS x10, Tech Director en Globant con más de 7 años de experiencia en AWS.

More from Medium

Common API Cryptography Mistakes

The Importance of RESTful Routing, UI

How to create a Docker image using Docker File and push it on Docker Hub.

Singleton Design Pattern