Cómo monitorear/registrar el tiempo de sql desde kubernetes

Cómo monitorear/registrar el tiempo de sql desde kubernetes

Tengo algunos contenedores ejecutándose en kubernetes en la nube, estos realizan consultas en servidores de base de datos prem, estoy interesado en ver cómo las latencias de las bases de datos afectan la aplicación. ¿Cómo haría para monitorear/registrar esto?

Respuesta1

Suponiendo que solo quiero graficar los tiempos de respuesta de SGBD, podría configurar algún Pod que consultaría mi base de datos en un bucle y generaría algún resultado en su salida estándar, ... algún tipo de archivo time mysql <cmd-args>. Luego, usaría una biblioteca Prometheus que exponga esas métricas (o munin, Collectd, ... lo que encaje en su ecosistema).

Suponiendo que estoy interesado en las métricas internas de SQL, podría implementar algún exportador de MySQL en Kubernetes, consultando un SGBD remoto. Aunque dudo que tengas muchos datos sobre la latencia del enlace.

Suponiendo que no estoy muy interesado en MySQL en sí, sino más bien en la latencia de sitio a sitio, me vendría bien algo como fumar y graficar los tiempos de respuesta. Mejor: algún tipo de verificación de TCP, no necesariamente consultando MySQL, sino midiendo cuánto tiempo necesitaría para establecer un protocolo de enlace TCP.

Sin embargo, el caso ideal sería que su aplicación mida esos tiempos. Las respuestas lentas pueden deberse a la distancia, así como a fallas de hardware o contratiempos de software. Podría tener sentido realizar un seguimiento tanto de los tiempos de consulta como de los datos consultados, ya que es posible identificar consultas que se pueden optimizar,...

Ah, y obviamente, Istio, Service Meshes, ... tienden a venir con muchas herramientas que lo ayudarán a rastrear los tiempos de ejecución, los flujos de datos, ...

información relacionada