Em SRE uma das disciplinas essenciais é observabilidade - e um dos seus pilares é monitoramento.
Então, como monitorar melhor meu produto/plataforma seguindo algumas premissas de SRE? Como dar o próximo passo?
--
O básico de monitoramento todo mundo faz: instala mil “exporters” de Prometheus, coleta com eles dezenas de milhares de métricas, manda uma dúzia pro Grafana, integra com Alert Manager e voilà!
Para dar o próximo passo nesse tema é importante se questionar algumas coisinhas:
Métrica são dados, mas eu estou tirando informação delas?
Estou sabendo dar valor a essas métricas com gráficos e dashboards que dão significado real a elas?
Além de infra, tem mais lugares onde eu possa coletar métricas?
Tenho todas as métricas pra isso só com os “exporters” que tenho hoje?
(E o MAIS IMPORTANTE):
- Estou conseguindo montar os principais FLUXOS do produto numa visualização que represente DISPONIBILIDADE, DESEMPENHO e EXPERIÊNCIA DO CLIENTE?
--
Esse trio DDXP (disponibilidade, desempenho e experiência do cliente) será o principal norte para uma mudança de mentalidade.
É bem provável que teremos de ir “além dos exporters padrão”, criar novos exporters, escavar dados de outras fontes para atender o trio DDXP.
É provável que tenhamos de executar queries na base transacional ou no broker de mensageria, torná-las time series em outro backend. Buscar métricas num JMX, num runtime profiler, fazer queries num MongoDB, ou num Redis.
Ou ainda criar aplicações de SRE que integram com Tampermonkey ou jMeter e coletam resultados de uso.
Buscar métricas em balancers e uni-las com as de aplicação para entender onde estão aqueles milissegundos preciosos de uma transação.
O fato é que a gente precisa buscar métricas onde quer que elas estejam e é certo de que ela não está só nos exporters.
--
Voltando pro princípio, o objetivo é conseguir ter uma visão unificada dos principais fluxos do produto/negócio com base em todas as métricas que se relacionam diretamente com Disponibilidade, Desempenho e Experiência do cliente.
E sim, só o Prometheus não vai ser suficiente. Certamente será preciso um outro tipo de time series db para complementar (TimescaleDB, InfluxDB, etc) e ir além dos counters e gauges padrão.
--
Enfim, esses são alguns insights para dar o próximo passo do monitoramento básico para um monitoramento rico :)
Obrigada por chegar até aqui!
Com carinho,
Isadora.
Top comments (0)