Qual a diferença entre Monitoramento e Observabilidade? - Full Cycle FullCycle

Voltar

Wesley Willians

Qual a diferença entre Monitoramento e Observabilidade?

8 min de leitura

Segundo a Teoria do Controle, a observabilidade é uma medida de quão bem os estados de um sistema são inferidos a partir do conhecimento das suas saídas externas. Em termos mais simples, isso se refere ao quão bem você entende o seu sistema complexo.

Se você tem uma caixa preta e não sabe o que está acontecendo dentro dela, por exemplo, mas entende que os dados entram e saem, independente do que você espera, é possível imaginar o que está acontecendo dentro da caixa com base nas suas entradas e saídas.

Por outro lado, você vai perceber que é possível olhar dentro da caixa com as ferramentas certas. E além de deduzir as coisas, obviamente por inferência, nós também pegamos as informações que estão acontecendo dentro da caixa e conseguimos tomar decisões.

  • Monitoramento vs Observabilidade

Por padrão o monitoramento mostra quando alguma coisa pode dar errado, sabendo com antecedência quais sinais você pretende monitorar. Ou seja, ele se baseia na sua definição do que é certo ou errado quando você escolhe as métricas ou dados para monitorar.

Podemos dizer que o monitoramento apresenta os erros enquanto a observabilidade explica o que está acontecendo. E, juntando esses aspectos, tudo começa a fazer sentido porque não basta ter inúmeros dashboards sendo que não é possível observá-los o tempo inteiro.

Nessa junção, o monitoramento é mais cirúrgico e te permite ajustar alarmes para observar o que mais te interessa, mas quando aquilo mudar ou quando alguma coisa acontecer, a observabilidade permite que você entenda o motivo pelo qual aquilo aconteceu.

  • Os 3 Pilares da Observabilidade

A observabilidade se baseia em três pilares: Logs, Métricas e Tracing. E os dados precisam fazer sentido, já que nós não podemos olhar apenas por uma perspectiva. Veja mais aqui.

  • Métricas

As métricas são basicamente informações que nós podemos medir, contar ou quantificar. Seja o percentual de uso do CPU, a quantidade de vendas, o número de pessoas online, os participantes de uma live ou quanto há de memória disponível.

  • Logs

Os logs são eventos que aconteceram e as métricas são geradas com base nesse registro. Normalmente você deve tomar cuidado para não se perder dentro disso, então é necessária uma política para normalizar os logs e centralizá-los com as informações que você quer.

De qualquer forma, o log é basicamente o registro dos eventos que aconteceram em algum momento do seu sistema. E com base nisso é possível extrair métricas.

  • Tracing

O tracing é o que nos ajuda a entender o caminho de uma requisição, seja por um ou mais sistemas. E quando nós entendemos por completo o que uma requisição faz, em algum momento é possível chegar à raiz do problema.

Com as métricas, o registro do evento gerado e a noção de onde isso aconteceu, em tese você tem observabilidade.

  • Ferramentas

Quando você utiliza e domina as ferramentas certas é possível fazer esse trabalho de uma forma automatizada, sem que seja necessário modificar o seu código o tempo inteiro; mas eventualmente você pode modificá-lo para ter mais detalhes e informações de tracing, por exemplo.

Você pode encontrar muitas ferramentas populares e com alguns diferenciais no mercado, como por exemplo: InfluxDB, New Relic, Elastic, Splunk, Datadog, Prometheus, Zabbix, Logstash, Grafana e entre outras.

Para mais conteúdos que farão diferença na sua carreira como desenvolvedor, acesse nosso canal do youtube.

Se curtiu esse conteúdo e quer saber mais sobre Monitoramento e Observabilidade, solicite um contato clicando aqui que nós te ajudamos.