Histórico de carga do servidor: 24 horas, 7 ou 30 dias (recolha a cada 5 minutos)
| Processo | CPU % | RAM % |
|---|---|---|
| php-fpm | 8.9 | 12.2 |
| clamd | 6.2 | 10.8 |
| suricata | 3.7 | 15.3 |
| fail2ban-server | 1.9 | 16.4 |
| mysqld | 1.1 | 14.8 |
| Processo | CPU % | RAM % |
|---|---|---|
| php-fpm | 12.0 | 9.2 |
| suricata | 5.9 | 11.7 |
| mysqld | 4.2 | 8.0 |
| crowdsec | 2.6 | 15.9 |
| clamd | 1.4 | 19.0 |
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.