Entrar ou criar conta

ULC Lab · implementação reproduzível

Laboratório: Monitoramento de Equipamento de Rede com Prometheus e Grafana em Ambiente Local

Você terá um ambiente funcional de monitoramento de um roteador Linux via SNMP usando Prometheus e Grafana, rodando em VMs ou máquinas físicas locais. O laboratório leva cerca de 2 horas.

Monitoramento de rede ISP com Prometheus e Grafana do zero à detecção proativa
Ligado ao treinamento Monitoramento de rede ISP com Prometheus e Grafana do zero à detecção proativa
ULC-LAB-ISPS-0003 · Status de validaçãoNão validado pela Upnetix: roteiro derivado da documentação oficial, para você executar e validar
Duração estimada
120 min
Passos
13
Validações
4
Versões da documentação consultada
Prometheus a versão estável atual · Grafana a versão estável atual · snmpd a versão estável atual · prometheus/snmp_exporter a versão estável atual
Objetivo

Este laboratório ensina a montar um ambiente de monitoramento de rede ISP do zero, usando apenas software livre. Você vai instalar e configurar Prometheus para coletar métricas SNMP de um roteador Linux, visualizar os dados no Grafana e criar alertas básicos. O foco é entender como integrar coleta, visualização e alertas em uma rede típica de ISP, como a da Upnetix.

Topologia

Três máquinas: uma com Prometheus, uma com Grafana, uma roteador Linux (pode ser VM ou física). O Prometheus coleta métricas SNMP do roteador. O Grafana acessa o Prometheus via HTTP. Endereços de exemplo: Prometheus (192.168.56.10), Grafana (192.168.56.11), Roteador Linux (192.168.56.1).

           +-----------------+
           |   Grafana      |
           | 192.168.56.11  |
           +-------+---------+
                   |
                   |
           +-------v---------+
           |   Prometheus    |
           | 192.168.56.10   |
           +-------+---------+
                   |
                   |
           +-------v---------+
           | Roteador Linux  |
           | 192.168.56.1    |
           +-----------------+

Equipamentos e software

ItemRequisito, licença ou versão
VM ou máquina física para Prometheus1 vCPU, 1GB RAM, 1 porta de rede, Ubuntu 22.04 ou equivalente
VM ou máquina física para Grafana1 vCPU, 1GB RAM, 1 porta de rede, Ubuntu 22.04 ou equivalente
VM ou máquina física para roteador Linux1 vCPU, 512MB RAM, 1 porta de rede, Ubuntu 22.04 ou equivalente
PrometheusApache 2.0 · a versão estável atual
GrafanaAGPLv3 · a versão estável atual
snmpdBSD-like · a versão estável atual
prometheus/snmp_exporterApache 2.0 · a versão estável atual

Roteiro

  1. Preparar as máquinas

    Garanta que as três máquinas estão acessíveis entre si na rede privada, com IPs fixos. Use VMs, bare metal ou cloud local.

    O que você deve ver: Ping entre as máquinas funciona.

  2. Instalar e configurar SNMP no roteador Linux

    O Prometheus não coleta SNMP nativamente. O roteador Linux simula um equipamento de rede com SNMP habilitado.

    sudo apt update && sudo apt install snmpd
    sudo cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bkp
    sudo bash -c 'echo "rocommunity public  0.0.0.0/0" > /etc/snmp/snmpd.conf'
    sudo systemctl restart snmpd

    O que você deve ver: Serviço snmpd ativo e ouvindo na porta UDP 161.

  3. Testar SNMP localmente

    Confirme que o SNMP responde no roteador.

    snmpwalk -v2c -c public localhost system

    O que você deve ver: Retorno com informações do sistema via SNMP.

  4. Liberar SNMP no firewall do roteador Linux

    Permita conexões UDP na porta 161 para o IP do Prometheus.

    sudo ufw allow from 192.168.56.10 to any port 161 proto udp

    O que você deve ver: SNMP acessível do Prometheus.

  5. Instalar o SNMP Exporter no Prometheus

    O Prometheus precisa do snmp_exporter para converter SNMP em métricas.

    cd /opt
    sudo wget https://github.com/prometheus/snmp_exporter/releases/latest/download/snmp_exporter-<versao>-linux-amd64.tar.gz
    sudo tar xvf snmp_exporter-*-linux-amd64.tar.gz
    sudo mv snmp_exporter-*-linux-amd64/snmp_exporter /usr/local/bin/
    sudo useradd --no-create-home --shell /bin/false snmp_exporter
    sudo tee /etc/systemd/system/snmp_exporter.service > /dev/null <<EOF
    [Unit]
    Description=Prometheus SNMP Exporter
    After=network.target
    [Service]
    User=snmp_exporter
    Group=snmp_exporter
    Type=simple
    ExecStart=/usr/local/bin/snmp_exporter
    Restart=on-failure
    [Install]
    WantedBy=multi-user.target
    EOF
    sudo systemctl daemon-reload
    sudo systemctl enable --now snmp_exporter

    O que você deve ver: snmp_exporter rodando na porta 9116.

  6. Testar o SNMP Exporter

    Verifique se o snmp_exporter responde.

    curl http://localhost:9116/metrics

    O que você deve ver: Página com métricas Prometheus formatadas.

  7. Instalar Prometheus

    Prometheus será o coletor central.

    cd /opt
    sudo wget https://github.com/prometheus/prometheus/releases/latest/download/prometheus-<versao>.linux-amd64.tar.gz
    sudo tar xvf prometheus-*.linux-amd64.tar.gz
    sudo mv prometheus-*.linux-amd64/prometheus /usr/local/bin/
    sudo mv prometheus-*.linux-amd64/promtool /usr/local/bin/
    sudo mkdir -p /etc/prometheus /var/lib/prometheus
    sudo useradd --no-create-home --shell /bin/false prometheus
    sudo chown prometheus:prometheus /etc/prometheus /var/lib/prometheus
    sudo tee /etc/systemd/system/prometheus.service > /dev/null <<EOF
    [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
    Restart=on-failure
    [Install]
    WantedBy=multi-user.target
    EOF

    O que você deve ver: Prometheus instalado, pronto para configurar.

  8. Configurar Prometheus para coletar do SNMP Exporter

    Adicione o SNMP Exporter como target no Prometheus.

    sudo tee /etc/prometheus/prometheus.yml > /dev/null <<EOF
    scrape_configs:
      - job_name: 'snmp'
        static_configs:
          - targets: ['192.168.56.10:9116']
        metrics_path: /snmp
        params:
          module: ["if_mib"]
        relabel_configs:
          - source_labels: [__address__]
            target_label: __param_target
          - source_labels: [__param_target]
            target_label: instance
          - target_label: __address__
            replacement: 192.168.56.10:9116
    EOF
    sudo systemctl daemon-reload
    sudo systemctl enable --now prometheus

    O que você deve ver: Prometheus rodando e coletando do SNMP Exporter.

  9. Testar coleta de métricas SNMP

    Acesse a interface web do Prometheus para ver as métricas.

    Acesse http://192.168.56.10:9090/targets no navegador

    O que você deve ver: Target SNMP aparece como UP.

  10. Instalar Grafana

    Grafana será o painel de visualização.

    sudo apt-get install -y software-properties-common
    sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"
    wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
    sudo apt-get update
    sudo apt-get install grafana
    sudo systemctl enable --now grafana-server

    O que você deve ver: Grafana rodando na porta 3000.

  11. Conectar Grafana ao Prometheus

    Adicione Prometheus como fonte de dados no Grafana.

    Acesse http://192.168.56.11:3000 (login padrão admin/admin). Em 'Configuration' > 'Data Sources', adicione Prometheus com URL http://192.168.56.10:9090

    O que você deve ver: Fonte de dados Prometheus conectada.

  12. Criar painel básico no Grafana

    Visualize métricas SNMP coletadas.

    No Grafana, crie um dashboard, adicione painel, escolha a query 'ifInOctets' ou similar (consulte a documentação do snmp_exporter para nomes exatos).

    O que você deve ver: Gráfico com tráfego de interface do roteador Linux.

  13. Configurar alerta simples no Prometheus

    Crie uma regra de alerta para tráfego alto.

    sudo tee /etc/prometheus/alert.rules.yml > /dev/null <<EOF
    groups:
    - name: snmp_alerts
      rules:
      - alert: InterfaceHighTraffic
        expr: rate(ifInOctets[5m]) > 1000000
        for: 5m
        labels:
          severity: warning
        annotations:
          summary: 'Tráfego alto na interface SNMP'
    EOF
    Adicione ao prometheus.yml:
    rule_files:
      - "alert.rules.yml"
    Reinicie o Prometheus.

    O que você deve ver: Regra de alerta carregada; alertas aparecem em /alerts.

Como saber que funcionou

TesteComandoCritério
Verificar se o SNMP Exporter coleta métricas do roteador Linuxcurl 'http://localhost:9116/snmp?target=192.168.56.1&module=if_mib'Métricas SNMP retornadas no formato Prometheus.
Verificar se o Prometheus coleta do SNMP ExporterAcesse http://192.168.56.10:9090/targetsTarget SNMP com status UP.
Verificar visualização no GrafanaDashboard exibe métricas do roteador Linux.
Verificar alerta no PrometheusAcesse http://192.168.56.10:9090/alertsAlerta aparece quando condição é atendida.

Troubleshooting

SintomaCausa provávelCorreção
SNMP Exporter não coleta métricasFirewall bloqueando UDP 161 ou comunidade SNMP incorretaVerifique regras de firewall e snmpd.conf
Prometheus não encontra o target SNMPErro no prometheus.yml ou snmp_exporter não rodandoCheque a configuração e status do serviço
Dashboard do Grafana vazioQuery incorreta ou fonte de dados mal configuradaRevise a query e a configuração da fonte de dados
Alerta não disparaRegra de alerta mal escrita ou não incluída no prometheus.ymlVerifique sintaxe e inclusão do arquivo de regras

Segurança e hardening

  • Altere a comunidade SNMP padrão 'public' para uma string forte em produção
  • Restrinja o acesso ao SNMP Exporter e Prometheus apenas a IPs autorizados
  • Use autenticação forte no Grafana e altere a senha padrão
  • Aplique atualizações de segurança em todos os softwares

Checklist final

Referências

  1. Prometheus - Getting started · Prometheus (CNCF) (prometheus.io)
  2. Grafana - Getting started · Grafana Labs (grafana.com)
Verificação editorial
Publicado
09/09/2026
Última revisão
09/09/2026
Versão do conteúdo
1.0
Referências
2 oficiais
Revisão técnica
redação e revisão por IA, URLs conferidas na publicação
Status
Atual
Encontrou um erro? Escreva para comercial@upnetix.com.br com o endereço da página. A revisão semestral por IA nunca altera comandos ou configurações sem passar pela fila de revisão.