Sobes.tech
Middle

Que monitorização utiliza para as suas aplicações e que ferramentas emprega para isso?

sobes.tech IA

Resposta da IA

Utilizo uma monitorização abrangente que inclui as seguintes áreas:

  • Monitorização de infraestrutura: Estado dos servidores, redes, armazenamento (CPU, memória, disco, tráfego, disponibilidade).
  • Monitorização de aplicações (APM): Desempenho do código, requisições, erros, transações.
  • Registo: Recolha, centralização e análise de logs de aplicações e sistemas.
  • Monitorização da experiência do utilizador (RUM/Sintético): Acompanhamento do comportamento dos utilizadores, tempos de carregamento de páginas, disponibilidade de funcionalidades.

As ferramentas que uso frequentemente:

Categoria Ferramentas Propósito
Infraestrutura Prometheus, Zabbix, Nagios Recolha de métricas de várias fontes, alertas quando as métricas ultrapassam os limites definidos.
APM New Relic, Dynatrace, Datadog APM, OpenTelemetry Rastreio de requisições, análise do desempenho de funções, identificação de "gargalos" no código.
Registo ELK Stack (Elasticsearch, Logstash, Kibana), Loki Recolha centralizada, análise, armazenamento e visualização de logs, pesquisa e análise de erros.
Visualização Grafana Criação de painéis informativos para mostrar todas as métricas e logs num formato conveniente.
Alertas Alertmanager, PagerDuty Notificação aos responsáveis sobre eventos críticos e problemas.
Experiência do utilizador Sentry, Site24x7, Pingdom Monitorização da disponibilidade e tempos de resposta de aplicações web, acompanhamento de erros do lado do cliente.

Para recolha de métricas de aplicações, frequentemente uso exportadores que fornecem métricas num formato compreensível pelo Prometheus. Por exemplo:

# Exemplo de configuração do Prometheus para recolha de métricas com node_exporter
scrape_configs:
  - job_name: 'node'
    static_configs:
      - targets: ['<ip_do_servidor>:9100'] # IP e porta do node_exporter

Para a centralização de logs, configuro agentes que redirecionam os logs para o sistema de recolha:

# Exemplo de comando para instalar o Filebeat (para ELK Stack)
sudo apt update && sudo apt install filebeat
sudo filebeat modules enable system nginx # Ativar módulos para recolha de logs do sistema e nginx
sudo systemctl start filebeat

A escolha de uma ferramenta específica depende da arquitetura da aplicação, da escala da infraestrutura e do orçamento. É importante configurar regras de agregação de métricas e alertas de modo a receber notificações oportunas e relevantes sobre problemas, sem sobrecarregar a equipa com informações excessivas.