Monitorando Servidores Linux com Prometheus e Node Exporter

Prometheus monitorando servidores Linux

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.