Por que Monitorar?
Algumas razões porquê você deve monitorar um sistema.
Analisar tendências de longo prazo
- Qual o tamanho do meu storage e em quanto tempo estará cheio? Qual a taxa de crescimento de acessos ao meu site?
Comparações ao longo do tempo ou grupos de experimentos
- Minhas consultas são mais rápidas usando o banco XPTO ou o Banco XYZ? Minha aplicação está mais lenta do que na semana passada?
Gerar Alertas
- Algo parou de funcionar e precisa ser consertado. Ou algo está preste a parar de funcionar.
Criar dashboards
- Os dashboards devem responder a perguntas básica sobre o estado do serviço. Normalmente abordam os quatro sinais de ouro (golden signals)
Realizar um debugging
- A latência de um serviço aumentou muito. O que mais estava ocorrendo no momento do evento?
O monitoramento também é útil para fornecer informações brutas sobre análises de negócios. Junto com os alertas permite que um sistema nos diga quando algo está quebrado, ou nos diga o que está prestes a quebrar.
Os Quatro Sinais de Ouro
Os quatro sinais de ouro do monitoramento são: latência, tráfego, erros e saturação.
Latência
- O tempo que se leva para atender a uma solicitação. Importante separar a latência das solicitações bem sucedidas, das solicitações com falha.
Tráfego
- Medida de quanta demanda está sendo colocada em seu sistema (quantidade de transações, requisições, execuções...)
Erros
- Taxa de solicitações que apresentaram falha (erros 4xx/5xx, timeout...)
Saturação
- Uma medida da fração do sistema, enfatizando os recursos que são mais restritos. Exemplo, em um sistema com restrição de memória, mostrar a medição da memória.
- Quanto tráfego/processamento seu sistema pode lidar, antes de começar a apresentar degradação?
- As previsões de saturação iminente (espaço em disco, por exemplo) também são preocupações desse ponto.
Medir os quatros sinais dourados e gerar alertas quando um sinal apresentar problemas (ou quase problema), faz com que seu serviço esteja minimamente coberto pelo monitoramento.
Esse texto foi adaptado do capitulo 6 - Monitoring Distributed Systems - do livro - do livro Site Reliability Engineering
Conheça também as metodologias RED e USE: Monitoring Methodologies: RED and USE
Top comments (0)