
Servidor sem monitoramento é servidor que avisa que caiu pelo cliente reclamando. Neste howto montamos o básico bem feito: Node Exporter expondo métricas do Linux (CPU, memória, disco, rede) e Prometheus coletando tudo.
Instalando o Node Exporter
No servidor que será monitorado, baixe o binário oficial (confira a versão mais recente na página de releases do projeto):
cd /tmp
# confira a versao mais recente em github.com/prometheus/node_exporter/releases
VER=1.8.2
curl -sLO https://github.com/prometheus/node_exporter/releases/download/v${VER}/node_exporter-${VER}.linux-amd64.tar.gz
tar xzf node_exporter-${VER}.linux-amd64.tar.gz
sudo mv node_exporter-*/node_exporter /usr/local/bin/
sudo useradd -rs /bin/false node_exporter
Crie o serviço systemd em /etc/systemd/system/node_exporter.service:
[Unit]
Description=Prometheus Node Exporter
After=network.target
[Service]
User=node_exporter
ExecStart=/usr/local/bin/node_exporter
[Install]
WantedBy=multi-user.target
Ative e confira:
sudo systemctl daemon-reload
sudo systemctl enable --now node_exporter
curl -s http://localhost:9100/metrics | head
Instalando o Prometheus
Na máquina central de monitoramento:
sudo apt install prometheus
Edite /etc/prometheus/prometheus.yml e adicione seus servidores:
scrape_configs:
- job_name: "servidores"
static_configs:
- targets:
- "web1.exemplo.com.br:9100"
- "db1.exemplo.com.br:9100"
sudo systemctl restart prometheus
Abra http://ip-do-prometheus:9090/targets — os servidores devem aparecer como UP.
Consultas úteis (PromQL)
# uso de memória (%)
100 * (1 - node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes)
# disco cheio? (% usado na raiz)
100 - 100 * node_filesystem_avail_bytes{mountpoint="/"} / node_filesystem_size_bytes{mountpoint="/"}
# carga de CPU no último minuto
node_load1
Próximos passos
- Grafana para dashboards bonitos em cima do Prometheus.
- Alertmanager para receber alerta no e-mail/Telegram antes do disco lotar.
Importante: não exponha as portas 9090/9100 para a internet — restrinja no firewall à rede de monitoramento.