pres:gerti:servico_de_desenvolvimento_de_sistemas_de_informacao:projetos:observabilidade

Essa é uma revisão anterior do documento!


Observabilidade

Observabilidade de software é a capacidade de entender o que está acontecendo internamente em um sistema a partir das informações que ele expõe externamente, como logs, métricas e traces. O objetivo é permitir que engenheiros diagnostiquem problemas, entendam comportamentos e tomem decisões informadas sobre a saúde e o desempenho da aplicação.

Na engenharia do TCE é utilizado alguns sistemas para gerenciamento de observabilidade dos sistemas.

Monitoramento & Disponibilidade: (Uptime Kuma) https://uptime.tce.go.gov.br/status/applications

Gerenciamento de Logs: (Stack ELK - Elasticsearch, Logstash e Kibana) https://kibana.tce.go.gov.br/app/discover

Métricas: (Sonnar) http://sonnar.tce.go.gov.br/projects

Uma vez que uma aplicação é desenvolvida, é fundamental aplicarmos o monitoramento para garantir que a aplicação está disponivel e sermos notificados quando algo está indisponivel.

Para criar um monitoramento, devemos criar uma rota na aplicação chamada /health nessa rota o sistema pode verificar a disponibilidade das partes criticas como:

  • Banco de Dados
  • Acesso a APIs Externas

Caso alguma das partes importantes da aplicação não responda corretamente, a rota deve retornar um erro 500. Esse erro será capturado pelo monitoramento e enviado uma mensagem para o teams do TCE.

Uma vez configurada a rota /health basta criar o monitoramento no uptime:

Quando uma verificação de /health falhar, um alerta é enviado no Teams:

  • pres/gerti/servico_de_desenvolvimento_de_sistemas_de_informacao/projetos/observabilidade.1748959399.txt.gz
  • Última modificação: 03/06/2025 14:03
  • por mfaquino