Voltar para todos os artigos
VPS & Infraestrutura2026-10-01

Grafana em um VPS: instalar Prometheus e o painel no Ubuntu

Grafana em um VPS Ubuntu: instale Node Exporter, Prometheus e o dashboard de CPU, memória, disco e rede, com o painel fechado na firewall.

Grafana em um VPS é o painel que lê as métricas que o Prometheus coleta nesse servidor: CPU, memória, disco e rede. Sem esse histórico, o time só descobre que o disco encheu quando a aplicação já caiu.

Este guia instala Node Exporter, Prometheus e Grafana no Ubuntu 22.04 ou 24.04. As versões fixadas são Prometheus 2.53.0 e Node Exporter 1.8.2. Antes de copiar, confira se ainda são as estáveis em github.com/prometheus/prometheus/releases.

O conceito do stack está no artigo de monitoramento com Prometheus e Grafana. O servidor em si pode ser um VPS KVM gerenciado.

1. Criar os usuários de serviço

Os binários não devem rodar como root.

sudo useradd --no-create-home --shell /usr/sbin/nologin prometheus
sudo useradd --no-create-home --shell /usr/sbin/nologin node_exporter

2. Instalar o Node Exporter

O Node Exporter publica as métricas do sistema na porta 9100.

cd /tmp
NODE_VERSION=1.8.2
wget https://github.com/prometheus/node_exporter/releases/download/v${NODE_VERSION}/node_exporter-${NODE_VERSION}.linux-amd64.tar.gz
tar xzf node_exporter-${NODE_VERSION}.linux-amd64.tar.gz
sudo mv node_exporter-${NODE_VERSION}.linux-amd64/node_exporter /usr/local/bin/
sudo chown node_exporter:node_exporter /usr/local/bin/node_exporter

Crie /etc/systemd/system/node_exporter.service:

[Unit]
Description=Node Exporter
After=network.target

[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now node_exporter
curl -s localhost:9100/metrics | head

A última linha precisa imprimir métricas (node_cpu_seconds_total ou similar). Se o curl falhar, rode systemctl status node_exporter.

3. Instalar o Prometheus

cd /tmp
PROM_VERSION=2.53.0
wget https://github.com/prometheus/prometheus/releases/download/v${PROM_VERSION}/prometheus-${PROM_VERSION}.linux-amd64.tar.gz
tar xzf prometheus-${PROM_VERSION}.linux-amd64.tar.gz
sudo mv prometheus-${PROM_VERSION}.linux-amd64/prometheus prometheus-${PROM_VERSION}.linux-amd64/promtool /usr/local/bin/
sudo mkdir -p /etc/prometheus /var/lib/prometheus
sudo chown -R prometheus:prometheus /etc/prometheus /var/lib/prometheus

Grave /etc/prometheus/prometheus.yml:

global:
  scrape_interval: 15s

scrape_configs:
  - job_name: prometheus
    static_configs:
      - targets: ["localhost:9090"]
  - job_name: node
    static_configs:
      - targets: ["localhost:9100"]
sudo chown prometheus:prometheus /etc/prometheus/prometheus.yml

Crie /etc/systemd/system/prometheus.service:

[Unit]
Description=Prometheus
After=network.target

[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/usr/local/bin/prometheus \
  --config.file=/etc/prometheus/prometheus.yml \
  --storage.tsdb.path=/var/lib/prometheus

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now prometheus
curl -s localhost:9090/-/ready

A resposta esperada é Prometheus Server is Ready.

4. Instalar o Grafana e importar o dashboard

sudo apt-get install -y apt-transport-https wget
sudo mkdir -p /etc/apt/keyrings/
wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/grafana.gpg > /dev/null
echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
sudo apt-get update
sudo apt-get install -y grafana

Feche o painel na interface local. Em /etc/grafana/grafana.ini, na seção [server]:

http_addr = 127.0.0.1
http_port = 3000
sudo systemctl enable --now grafana-server

Na sua máquina, abra um túnel e use o navegador em http://127.0.0.1:3000:

ssh -L 3000:127.0.0.1:3000 deploy@IP_DO_VPS

Login inicial: admin / admin. Troque a senha no primeiro acesso. Em Connections, Data sources, adicione Prometheus com a URL http://127.0.0.1:9090. Em Dashboards, New, Import, use o ID 1860 (Node Exporter Full) e selecione essa fonte.

5. Firewall

Prometheus (9090) e Node Exporter (9100) ficam só em localhost neste guia. Não publique essas portas na internet. Se o SSH ainda não está liberado na firewall, faça isso antes de ativá-la:

sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status

Conclusão

Com o dashboard 1860 aberto pelo túnel SSH, CPU, memória, disco e rede do VPS passam a ter histórico. O próximo passo operacional é alerta: disco acima de 80% e load acima do número de vCPUs. Quem não quer manter esse stack pode deixar o monitoramento no VPS gerenciado, em que a engenharia acompanha os mesmos sinais.

Servidor VPS KVM gerenciado

A ExpertCore sobe e administra o VPS: KVM isolado, backup e suporte de engenharia.

Ver planos de VPS