Guia de configuração do Prometheus e do node_exporter

15 min de leitura - 29 de maio de 2026

hero section cover
Índice
  • Configuração de monitorização de servidores Prometheus e node_exporter
  • Instalação do node_exporter
  • Executar o node_exporter como um serviço systemd
  • Configurar o Prometheus para recolher dados do node_exporter
  • Proteger a sua pilha de monitorização
  • Melhores práticas de monitorização e próximos passos
  • Resolução de problemas
Partilhar

Instale o Prometheus e o node_exporter, configure os alvos de raspagem, configure os serviços do systemd e proteja sua pilha de monitoramento. Passo a passo para Linux.

Configuração de monitorização de servidores Prometheus e node_exporter

O Prometheus recolhe e armazena métricas de séries temporais. O node_exporter expõe dados ao nível do sistema, como CPU, memória e utilização do disco, para que o Prometheus os recolha. Este guia aborda a instalação de ambos, a configuração de alvos de recolha, a execução do node_exporter como um serviço systemd e o bloqueio do acesso.

Instalação do node_exporter

Descarregue a versão estável mais recente a partir da página oficial de versões do GitHub. Em maio de 2026, essa é a versão 1.11.1. Substitua amd64 por arm64 se necessário.

wget https://github.com/prometheus/node_exporter/releases/download/v1.11.1/node_exporter-1.11.1.linux-amd64.tar.gz

Verifique a soma de verificação SHA256 em relação ao valor na página de versões, depois extraia e instale:

tar -xzvf node_exporter-1.11.1.linux-amd64.tar.gz
sudo mv node_exporter-1.11.1.linux-amd64/node_exporter /usr/local/bin/

Crie um utilizador de sistema dedicado sem diretório home e sem shell de login:

sudo useradd --no-create-home --shell /bin/false node_exporter
sudo chown node_exporter:node_exporter /usr/local/bin/node_exporter

Teste-o executando /usr/local/bin/node_exporter diretamente e, em seguida, verifique a saída:

curl http://localhost:9100/metrics

Deve ver linhas precedidas por node_, incluindo métricas como node_cpu_seconds_total e node_memory_MemAvailable_bytes. Por predefinição, o node_exporter expõe cerca de 500 séries temporais.

Executar o node_exporter como um serviço systemd

Executar o node_exporter a partir do terminal é adequado para testes, mas ele pára quando se encerra a sessão. Crie um ficheiro de unidade em /etc/systemd/system/node_exporter.service:

[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target
 
[Service]
User=node_exporter
Group=node_exporter
Type=simple
Restart=on-failure
RestartSec=5
ExecStart=/usr/local/bin/node_exporter
 
[Install]
WantedBy=multi-user.target

Ative e inicie o serviço:

sudo systemctl daemon-reload
sudo systemctl enable node_exporter
sudo systemctl start node_exporter

Confirme se está a funcionar com sudo systemctl status node_exporter. A saída deve mostrar active (running).

Se o Prometheus estiver a ser executado no mesmo anfitrião, vincule o node_exporter apenas ao localhost alterando a ExecStart linha:

ExecStart=/usr/local/bin/node_exporter --web.listen-address="127.0.0.1:9100"

Configurar o Prometheus para recolher dados do node_exporter

Abra /etc/prometheus/prometheus.yml e adicione uma tarefa em scrape_configs:

scrape_configs:
  - job_name: 'node_exporter'
    scrape_interval: 15s
    static_configs:
      - targets: ['localhost:9100']
        labels:
          env: 'production'

O job_name identifica a fonte nas consultas e nos painéis. targets aponta para o host e a porta onde o node_exporter escuta. Etiquetas como env ajudam a filtrar métricas posteriormente.

Valide a configuração antes de reiniciar:

promtool check config /etc/prometheus/prometheus.yml

Se for aprovada, recarregue o Prometheus sem tempo de inatividade:

sudo systemctl reload prometheus

Abra http://<your-prometheus-ip>:9090, vá para Status > Targets e verifique se a tarefa do node_exporter apresenta o estado UP (verde). Execute uma consulta rápida como node_cpu_seconds_total no Expression Browser para confirmar que os dados estão a fluir.

Proteger a sua pilha de monitorização

Nunca exponha as portas 9090 ou 9100 à Internet pública. No Ubuntu/Debian, restrinja o acesso do node_exporter ao IP do seu servidor Prometheus:

sudo ufw allow from <prometheus-ip> to any port 9100

No CentOS/RHEL com firewalld:

firewall-cmd --permanent --add-port=9100/tcp

Para a interface web do Prometheus, coloque-a atrás de um proxy reverso como o Nginx com autenticação básica e TLS. Uma VPN em malha como o Tailscale é outra opção se precisar de acesso a partir de vários locais sem expor as portas diretamente.

Melhores práticas de monitorização e próximos passos

Utilize node_memory_MemAvailable_bytes em vez de MemFree para alertas de memória. MemAvailable leva em conta os buffers e a cache, dando uma imagem mais precisa do que está realmente livre.

Desative os coletores desnecessários (wifi, nfs, bcache) com o --no-collector.<name> sinalizador para reduzir o ruído.

Para alertas de espaço em disco, a predict_linear função PromQL permite prever quando um volume ficará cheio com base nas tendências atuais. Definir uma janela de previsão de 7 dias permite detetar fugas lentas antes que se transformem em interrupções.

Para monitorizar vários servidores, instale o node_exporter em cada máquina e adicione os seus IPs à targets lista em prometheus.yml. Para ambientes maiores, mude para a descoberta de serviços baseada em ficheiros em vez de codificar IPs.

A adição do Grafana oferece painéis visuais. O painel Node Exporter Full (ID 1860) é um bom ponto de partida. O Alertmanager encaminha alertas críticos para o Slack, e-mail ou PagerDuty.

Os servidores dedicados e planos VPS da FDC suportam o Prometheus e o node_exporter de forma nativa. Consulte as opções de servidores dedicados da FDC.

Resolução de problemas

ProblemaCausa provávelComando a verificar
O serviço não iniciaCaminho ou permissões do binário incorretosjournalctl -u node_exporter -xe
Métricas inacessíveisFirewall a bloquear a porta 9100 ou endereço de ligação incorretoss -lntp | grep 9100
Destino inativo no PrometheusProblema de rede ou IP de destino incorreto no prometheus.ymlcurl -I http://<target-ip>:9100/metrics
Faltam métricas específicasColetor desativado por padrãonode_exporter --help

Blogue

Em destaque esta semana

Mais artigos
Guia de configuração do Prometheus e do node_exporter

Guia de configuração do Prometheus e do node_exporter

Instale o Prometheus e o node_exporter, configure os alvos de raspagem, configure os serviços do systemd e proteja sua pilha de monitoramento. Passo a passo para Linux.

15 min de leitura - 29 de maio de 2026

XDP e eBPF para processamento de pacotes em Linux

14 min de leitura - 27 de maio de 2026

Mais artigos