Executando verificação de segurança...
10

Observabilidade

Olá, pessoal! 👋

Estou utilizando uma VPS com pouco espaço de armazenamento e gostaria de algumas dicas sobre observabilidade.

Atualmente, tenho estudado o Elastic Stack com armazenamento local, mas estou em busca de alternativas alem o Elastic Stack que permitam usar armazenamento externo e que ofereçam recursos completos, como análise de erros, monitoramento, visualizações e com preços acessíveis.

Quais soluções vocês recomendam ?

Desde já, agradeço!

Carregando publicação patrocinada...
2

Meus 2 cents,

Um que esta na moda:

https://prometheus.io/

Um bem robusto:

https://www.zabbix.com/

O que eu uso no dia-a-dia (mas eh old-school)

https://icinga.com/

Alem disso, coloquei os alertas para serem enviados por: email, sms, whatsapp e telegram. E em um caso especifico (para casos de madrugada e urgentes) ele faz uma ligacao para meus telefones via Voip e toca um mp3 pre-definido.


FerramentaTipo / modelo principalFoco / ponto forte
PrometheusFoco em métricas de séries temporais, “pull” de métricas via HTTP, com exportadores; alertas e queries próprias; muito usado em ambientes dinâmicos / “cloud native”Excelente para monitoramento em tempo real, microserviços, contêineres, sistemas cujo número de instâncias varia; bom para consultas ad hoc e alertas dinâmicos (infobytes.guru)
ZabbixModelo híbrido: agente, SNMP, ICMP, etc.; monitoramento ativo e passivo; servidor + agentes/proxiesMuito bom para monitorar infraestrutura completa: servidores, rede, aplicações; templates, auto-descoberta, escalabilidade via proxies (Zabbix)
IcingaMonitoramento ativo/passivo baseado em checagens (check scripts), arquitetura modular, compatibilidade com NagiosForte controle de serviço + host, alertas, check periodicamente, bom para ambientes estáticos, redes tradicionais (Wikipedia)

Saude e Sucesso !

1

Como você define os critérios de alerta? Sempre acontece algo inesperado você já é notificado?

Tipo um user recebeu 500, você já vai lá e prontamente corrige.

5

Meus 2 cents,

Monitoro aspectos dos servidores e dos apps, tais como:

  • Consumo de CPU, disco, memoria
  • Se o APP esta "responsivo" (checo se a porta 80/443 conecta e retorna um conteudo pre-estabelecido)
  • Se o banco esta no ar ou capotou
  • O tempo de resposta de uma pagina especifica
  • Quantidade de instancias do app ativas (no caso de loadbalance e auto-scaling)

(mas tem outros itens tambem)

Se qualquer um destes eventos sair de limites (threshold) espeficicados, ja dispara um alerta "padrao": email (para fins de registro), whatsapp/telegram/sms (para grupos/times especificos).

Alguns alertas sao enviados apenas em horario comercial (seg/sex, 0900-1700), outros sao 24/7 (seg-dom, 0000-2359) - depende da criticidade do item monitorado.

Conforme a criticidade (que voce seta por item monitorado), alem de enviar o alerta ele pode ativar um "escalation list": se ninguem "tomou ciencia" (interagiu com o monitoramento avisando que ja esta avaliando a situacao), apos algum tempo (com tolerancia variavel, que pode ser de horas ou em alguns casos apenas minutos) - ele comeca a enviar alertas para outras pessoas do time (p.ex. leader, gerencia, diretoria) ate que alguem avise no sistema que uma acao esta sendo tomada (nao significa que ja tem uma solucao, mas que pelo menos o problema esta sendo avaliado).

Nao monitoramos "erro 500" especificamente (exceto em situacoes que exijam, como o deploy de uma change muito abrangente).

E existe um outro ponto que eh monitorado de forma mais proxima que eh o 'fail2ban' e o 'modsecurity', que sao WAF (web application firewall) - estes monitoram os LOGs de forma automatica e tomam acoes como bloquear um atacante ou semelhante.

Saude e Sucesso !

0
2

Meus 2 cents,

Espero que tenha ajudado !

Se implementar algo do genero - compartilhe a experiencia, contando os objetivos que gostaria de atingir, como foi colocar em funcionamento e se teve os resultados desejados.

Saude e Sucesso !

1
1
1

No meu caso, eu uso Prometheus para coletar métricas e o Grafana para visualização e dashboards. Configurei também disparos de alertas para o Discord, o que ajuda bastante a centralizar as notificações sem depender de e-mail.

A vantagem dessa stack é que ela é relativamente leve, flexível e não depende de armazenamento local pesado como o Elastic. Claro que não cobre logs com a mesma profundidade que o Elastic Stack, mas para métricas, monitoramento e alertas tem me atendido muito bem.

1
1

Boa Noite Eric,

Primeiramente, gosto sempre de lembrar que observabilidade traz em sua raiz da palavra a observação! Porque coloco isso? Porque as formas e mecanismos para você observar algo está exatamente no pressuposto de que você precisa monitorar algo! Mas perceba, que muitas vezes na informática, nem sempre observar algo é monitorar! Estou comentando isso, pela sua citação do Elastic Stack. A maioria das tecnologias e softwares para observabilidade traz consigo a ideia de manter um serviço/produto sempre executando. Perceba também que se isso não estiver completamente claro pra você, não vai adiantar muito você ir para tecnologias como o Elastic Stack!

O ponto mais importante aqui é: o que você pretende estudando observabilidade? Monitorar uma porta de saída do Linux/Windows etc? Monitorar um websocket? Monitorar uma aplicação?? Monitorar tráfego de rede? E por aqui posso continuar te fazendo diversas perguntas pra entender melhor a trilha que deseja percorrer de aprendizado compreende?

A Observabilidade como tecnologia é extremamente ampla, e tem diversos vieses possíveis, portando antes de pensar em tecnologias amplas e avançadas como Elastic Stack, te pergunto se você tem uma noção de quais partes da tecnoligia atual você deseja monitorar?

Como já tem comentários abaixo falando, poderia até recomendar o prometeus entre outros, mas achei importante te mostrar que existem diversas perspectivas dentro da tecnologia de Observabilidade.