Histórico de carga do servidor: 24 horas, 7 ou 30 dias (recolha a cada 5 minutos)
| Processo | CPU % | RAM % |
|---|---|---|
| falco | 10.1 | 10.0 |
| crowdsec | 5.2 | 15.9 |
| apache2 | 3.6 | 5.9 |
| suricata | 2.5 | 2.1 |
| php-fpm | 1.5 | 13.9 |
| Processo | CPU % | RAM % |
|---|---|---|
| suricata | 9.0 | 17.7 |
| falco | 5.5 | 15.6 |
| fail2ban-server | 2.5 | 16.4 |
| apache2 | 1.7 | 11.1 |
| clamd | 1.0 | 13.5 |
O top responde a uma pergunta sobre o segundo actual, ao passo que a pergunta que realmente se faz é sobre a noite passada: porque é que às três da manhã tudo parou e voltou sozinho. A essa altura já não há nada para ver, porque nada ficou registado. Instalar Prometheus e Grafana para um único VPS levanta um problema próprio: a pilha que observa pesa mais do que o servidor observado.
Um colector acrescenta uma linha à base de dados de cinco em cinco minutos, e esta página desenha a partir daí as últimas 24 horas. Load average, utilização do CPU com o I/O wait à parte, RAM e swap, tráfego de rede recebido e enviado, leituras e escritas de disco, ligações TCP estabelecidas, processos, ocupação da partição, inodes e descritores de ficheiro em percentagem do limite, ligações do MySQL. Tudo numa página e no mesmo eixo temporal, de modo que as coincidências se vêem a olho.
Estes gráficos lêem-se aos pares. Um I/O wait elevado com o CPU tranquilo significa que o servidor está à espera do disco, e acrescentar núcleos não ajudará. Uma swap que subiu uma vez e nunca regressou a zero diz que o pico de memória já aconteceu, por muito calmo que pareça agora. Descritores de ficheiro perto dos cem por cento são um too many open files com algumas horas de antecedência. E na maioria dos servidores os inodes esgotam-se bastante antes do espaço livre.