Administrar servidores sem métricas de saúde é o mesmo que dirigir no escuro. Sem monitoramento de uso de CPU, disco e memória, você só descobrirá problemas na infraestrutura quando os serviços já estiverem fora do ar.
Abaixo, detalhamos como estruturar uma solução de observabilidade utilizando Prometheus e Grafana rodando sobre um servidor VPS. Os comandos de instalação no Ubuntu estão em Grafana em um VPS.
1. O que é o Prometheus e o Node Exporter?
O Prometheus é um banco de dados de séries temporais focado em monitoramento de métricas. Para coletar métricas do sistema operacional do servidor (como uso de RAM, CPU e espaço livre em disco), utilizamos um agente leve chamado Node Exporter.
A instalação com systemd, usuário de serviço e firewall está no guia Grafana em um VPS, com o Node Exporter 1.8.2. O agente escuta na porta 9100. O Prometheus faz o scraping nessa porta e guarda o histórico.
2. Configurando o Grafana para Visualização de Dados
O Grafana é a ferramenta ideal para desenhar painéis gráficos (dashboards) a partir das informações consolidadas pelo Prometheus.
O Fluxo de Configuração:
- Acesse o painel do Grafana (porta padrão
3000). - Adicione o Prometheus como sua Fonte de Dados (Data Source).
- Importe o dashboard oficial para Node Exporter (ID:
1860).
Esse template exibirá de forma visual e em tempo real a temperatura da CPU, taxa de leitura/escrita em disco, consumo de memória RAM e volume de tráfego de rede ativo.
3. Consultas que valem um alerta
No Grafana, em Explore, com o Prometheus selecionado, estas três consultas mostram CPU, memória livre e disco livre da raiz:
100 - (avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)
node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes
node_filesystem_avail_bytes{mountpoint="/",fstype!~"tmpfs|overlay"}
/ node_filesystem_size_bytes{mountpoint="/",fstype!~"tmpfs|overlay"}
A primeira devolve percentual de CPU. As outras duas devolvem uma fração de 0 a 1. Disco abaixo de 0.15 é o alerta que evita o banco parar com o volume cheio.
Regra para o Prometheus, em /etc/prometheus/rules/disco.yml:
groups:
- name: disco
rules:
- alert: DiscoRaizBaixo
expr: |
node_filesystem_avail_bytes{mountpoint="/",fstype!~"tmpfs|overlay"}
/ node_filesystem_size_bytes{mountpoint="/",fstype!~"tmpfs|overlay"} < 0.15
for: 10m
labels:
severity: warning
annotations:
summary: "Menos de 15% livre em {{ $labels.instance }}"
Recarregue sem derrubar a coleta:
curl -sS -X POST http://127.0.0.1:9090/-/reload
O --web.enable-lifecycle precisa estar no serviço do Prometheus, como no guia de instalação. A resposta vazia com HTTP 200 é o reload aceito.
Conclusão
Ter um dashboard do Prometheus e Grafana configurado é o primeiro passo para obter observabilidade profissional de sistemas. Com alertas configurados a partir dessas métricas, você pode prever falhas de hardware e agir preventivamente antes que qualquer aplicação sofra com indisponibilidade.