Como monitorar/registrar o tempo SQL do Kubernetes

Como monitorar/registrar o tempo SQL do Kubernetes

Tenho alguns containers rodando em kubernetes na nuvem, eles estão consultando em servidores prem db, estou interessado em ver como as latências do dbs estão afetando o aplicativo. Como eu faria para monitorar/registrar isso?

Responder1

Supondo que eu queira apenas representar graficamente os tempos de resposta do SGBD, eu poderia configurar algum Pod que consultaria meu banco de dados em um loop e geraria algum resultado para seu stdout, ... algum tipo de arquivo time mysql <cmd-args>. Então, eu usaria uma biblioteca prometheus expondo essas métricas (ou munin, collectd, ... o que couber no seu ecossistema).

Supondo que estou interessado em métricas internas do SQL, eu poderia implantar algum exportador mysql no Kubernetes, consultando um SGBD remoto. Embora eu duvide que você tenha muitos dados sobre a latência do link.

Supondo que não estou muito interessado no MySQL em si, mas sim na latência site a site, eu poderia usar algo como fumar, representar graficamente os tempos de resposta. Melhor: algum tipo de verificação de TCP, não necessariamente consultando o MySQL, mas sim medindo quanto tempo você precisaria para estabelecer um handshake TCP.

Porém, o caso ideal seria que seu aplicativo medisse esses tempos. As respostas lentas podem ser devidas à distância, bem como a falhas de hardware ou contratempos de software. Pode fazer sentido rastrear os tempos de consulta e os dados consultados, pois você pode identificar consultas que podem ser otimizadas, ...

Ah, e obviamente, Istio, Service Meshes, .... tendem a vir com muitas ferramentas que ajudam a rastrear tempos de execução, fluxos de dados, ...

informação relacionada