Observabilidade
Tags: observabilidade, logs, guiadeinfra
Published: 2020-07-31 20:38:11

---
canonical_url: https://medium.com/sysadminas/observabilidade-6d9058377a63
---

Por muito tempo, aplicações foram construídas de maneira centralizada, por isso ainda existem muitos monólitos no mundo corporativo, entretanto, ao longo dos últimos anos, a área de tecnologia vem mudando muito, e várias ferramentas e abordagens novas vêm aparecendo no mercado, como Containers, Kubernetes, Microsserviços e Serverless, por exemplo. 

O aparecimentos de diversas ferramentas e abordagens no mercado atual possuem o propósito de auxiliar quem está buscando construir arquiteturas mais distribuídas, resilientes e tolerante a falhas, porém, como estamos aderindo a tudo isso em pouco tempo, é normal que os modelos de falha dessas ferramentas e arquiteturas sejam novos para todo mundo. Assim, é importante ter ferramentas que nos deem a visão do que acontece no ambiente onde elas estão hospedadas. Por esse motivo, acredita-se que a observabilidade pode ser uma grande aliada para fazer alcançar a visibilidade da sua arquitetura por completo, independente da sua aplicação ser centralizada (front-end, back-end e banco) ou distribuída (apis, filas, microsserviços, docker e cache), por exemplo.

A observabilidade é um conceito muito importante para quem trabalha na área de infraestrutura de TI, pois é por meio dela que é possível identificar problemas através de ferramentas que nos dão ideia de como os serviços das aplicações estão interagindo uns com os outros. Isso nos auxilia a entender como toda a arquitetura das soluções funciona e, caso algo saia da normalidade, é possível atuar para determinar a causa raiz e corrigir o problema o mais rápido possível com base nas informações obtidas através da monitoração. É possível utilizar vários dados para identificar esses cenários, como eventos de logs, tracing de transações, métricas de uptime, latência de resposta da rede, entre outros. 

## Pilares da observabilidade

**Logs**: Um log é um registro de atividades que ocorreram em um determinado momento. Essa atividade pode ser dos servidores da sua aplicação ou uma ação desencadeada por um usuário, por exemplo.
Existem diversos tipos de logs e, entre eles, temos: Syslog, log de servidor e log de transações.

**Métricas**: As métricas são agregações de dados extraídos de logs que geralmente mostram um total ou percentual de falha de funcionalidades da sua aplicação ou servidores, por exemplo.
Com base em logs, também é possível construir métricas de negócio para áreas não operacionais.

**Tracing**: É possível ter visão do tracing das aplicações utilizando o APM: "O Application Performance Monitoring resolve o abismo entre as métricas e os registros. Os registros e métricas têm mais a ver com infraestrutura e componentes, enquanto o APM se concentra nos aplicativos e permite que profissionais de TI e desenvolvedores monitorem a camada da aplicação do stack, incluindo a experiência do usuário final”. 
Referência: [Monitoramento de aplicativos com a Elasticsearch e Elastic APM](https://www.elastic.co/pt/blog/monitoring-applications-with-elasticsearch-and-elastic-apm)

Logo abaixo, listei algumas das ferramentas de observabilidade mais utilizadas na indústria.

**Gerenciamento e centralização de logs**
- Elastic Stack;
- Splunk;
- Graylog.

**Monitoramento de infraestrutura**
- Grafana;
- Zabbix;
- Nagios;
- Prometheus.

**Monitoramento de performance de aplicação**
- New Relic;
- Data Dog;
- App Dynamics;
- Elastic APM.

Se você deseja conhecer mais sobre observabilidade através de livros e cursos, recomendamos a lista abaixo:

**Sugestões de cursos**
[11 cursos gratuitos sobre Observabilidade com o ELK](https://www.elastic.co/pt/training/free), da Elastic;
[Curso Fundamentals Splunk](https://education.splunk.com/course/splunk-7x-fundamentals-part-1-elearning), da Splunk Education;
[Introdução ao Prometheus](https://training.robustperception.io/p/introduction-to-prometheus), do Training.io.
 
**Sugestão de livro**
[Distributed Systems Observability](https://www.oreilly.com/library/view/distributed-systems-observability/9781492033431/), de Cindy Sridharan, da Editora: O'reilly

Caso conheça outras indicações de livros, certificações ou cursos, fique à vontade para deixar nos comentários. Ficarei feliz em adicionar a esse post!

*Esse texto faz parte do Guia de Infraestrutura de Tecnologia da Informação publicado no [Medium](https://medium.com/sysadminas/guia-de-infraestrutura-de-ti-30543bfe9922), no [dev.to](https://dev.to/sysadminas/guia-de-infraestrutura-de-ti-4m14), e na Open Library. Para checar todos os capítulos, clique [aqui](https://dev.to/sysadminas/guia-de-infraestrutura-de-ti-4m14) e acesse a Introdução.*