Monitoramento
Saúde do servidor
Como um monitor de atividade para os seus servidores. O @blipit/node 0.2 e posteriores enviam os sinais vitais de cada servidor a cada 30 segundos, e a página Saúde do servidor mostra-os em tempo real, uma linha por servidor, com gráficos da última hora, 24 horas ou 7 dias.
1Ativar
Nada a acrescentar: começa com Blipit.init. Dê a cada app um serverName para agrupar os seus servidores sob um nome.
Blipit.init({
key: process.env.BLIPIT_SECRET_KEY,
serverName: "api",
});2O que cada servidor envia
- O CPU usado pelo processo, em que 100% é um núcleo inteiro.
- A memória usada pelo processo e quão cheia está a memória da máquina.
- O heap de JavaScript usado e total.
- O atraso do event loop no percentil 99: quanto tempo os pedidos esperam enquanto o servidor está ocupado.
- Handles abertos, como sockets e temporizadores.
- Ligações à base de dados dos pools do pg: em uso, livres e em espera. Em espera significa que há pedidos em fila por uma ligação.
3Ler a página
Ao vivo significa que o servidor está a enviar dados; Sem dados significa que ficou em silêncio. Escolha um servidor para ver os seus gráficos. A página atualiza-se a cada 30 segundos enquanto está aberta.
4Receber alertas
Em Alertas, na secção Alertas de dependências e servidores, defina o seu próprio limite para cada alerta ou desligue-o.
- CPU alta: a CPU de um servidor fica acima do seu limite.
- Memória quase cheia: o uso de memória de um servidor fica acima do seu limite.
- Respostas lentas: o event loop de um servidor fica bloqueado mais tempo do que o seu limite, e os pedidos ficam à espera.
- Deixou de enviar dados: nenhum servidor de um serviço envia dados, por exemplo depois de um crash.
5Outras tecnologias
Envie métricas do OpenTelemetry como OTLP JSON para https://in.blipit.io/v1/metrics com o cabeçalho X-Blipit-Key. O Blipit lê process.cpu.utilization, process.memory.usage, system.memory.utilization, system.cpu.load_average.1m, db.client.connections.usage e as métricas do event loop do Node.js; service.instance.id dá nome ao servidor.
OTEL_EXPORTER_OTLP_METRICS_ENDPOINT=https://in.blipit.io/v1/metrics
OTEL_EXPORTER_OTLP_METRICS_PROTOCOL=http/json
OTEL_EXPORTER_OTLP_HEADERS=X-Blipit-Key=blipit_sk_your_secret_key6Funções serverless
Apps na Vercel, AWS Lambda, Netlify ou Azure Functions rodam como muitas instâncias de vida curta que pausam entre as solicitações. Saúde do servidor as agrupa em uma linha por plataforma, como Funções da Vercel, com o número de instâncias vistas e a memória delas, em vez de listar cada instância como um servidor. CPU e Sem reportar ficam de fora porque uma instância pausada não informa nenhum dos dois de forma útil, e instâncias serverless nunca geram alertas de CPU alta, resposta lenta ou parada de reportes.
Bom saber
- metrics: false desliga; metricsIntervalMs altera o intervalo de 30 segundos, até um mínimo de 10 segundos.
- Guardado tanto tempo como os spans: 7 dias no Free e Solo, 14 dias no Team e Scale. Os dados dos servidores não contam para nenhuma quota.
- A percentagem de memória usa a memória total da máquina. Num contentor com um limite de memória menor do que o do host, veja antes Memória usada.
Travou? Envie um e-mail para support@blipit.io. As chaves e o id de cada projeto ficam em Chaves de API no app.blipit.io.