Prometheus e Grafana: A Dupla Poderosa para Monitoramento de Infraestrutura

O que é Prometheus?
Prometheus é um sistema open-source de monitoramento e alerta criado originalmente pela SoundCloud e hoje mantido pela CNCF (Cloud Native Computing Foundation). Ele coleta métricas de sistemas alvo em intervalos regulares, armazena esses dados em um banco de série temporal (TSDB) e permite consultas poderosas através da linguagem PromQL (Prometheus Query Language).
Diferente de ferramentas tradicionais como o Nagios, o Prometheus adota um modelo pull: ele puxa as métricas dos endpoints expostos pelos serviços, em vez de esperar que os agentes enviem os dados. Isso simplifica a descoberta de serviços, reduz a complexidade de configuração e torna o sistema mais resiliente.
O que é Grafana?
Grafana é uma plataforma open-source de análise e visualização de métricas. Ela se conecta a diversas fontes de dados (Prometheus, InfluxDB, Elasticsearch, PostgreSQL, entre outros) e permite criar dashboards interativos e dinâmicos com gráficos, tabelas, alertas e anotações.
Com o Grafana, times de operações e desenvolvimento conseguem enxergar em tempo real o comportamento de suas aplicações e infraestrutura, facilitando a identificação de gargalos, anomalias e tendências.
Por que usar Prometheus + Grafana juntos?
Embora o Prometheus já possua um painel gráfico básico embutido (o Expression Browser), ele é limitado para análises complexas e dashboards ricos. O Grafana preenche essa lacuna com maestria, oferecendo:
- Dashboards personalizáveis com dezenas de tipos de painéis (gráficos de série temporal, gauge, barra, heatmap, tabela, etc.)
- Alertas inteligentes com notificações via Slack, e-mail, PagerDuty, Telegram e muitos outros canais
- Múltiplas fontes de dados em um mesmo painel — você pode comparar métricas do Prometheus com logs do Loki ou traces do Tempo
- Anotações e eventos para marcar deployments, mudanças de configuração ou incidentes diretamente no gráfico
- Compartilhamento e equipes com controle de acesso baseado em função (RBAC)
Arquitetura de um Stack de Monitoramento
Uma stack completa de observabilidade com Prometheus e Grafana envolve os seguintes componentes:
- Prometheus Server: coleta e armazena as métricas
- Exporters: agentes que expõem métricas de sistemas específicos (Node Exporter para Linux, Blackbox Exporter para HTTP/DNS, cAdvisor para containers, etc.)
- Alertmanager: gerencia os alertas gerados pelo Prometheus, aplicando deduplicação, silenciamento e roteamento para diferentes canais de notificação
- Grafana: visualização e dashboards
- Service Discovery: Kubernetes, Consul, EC2, ou arquivos de configuração estáticos
Configurando o Node Exporter
O Node Exporter é o exportador padrão para métricas de sistema Linux. Para instalá-lo:
# Download e instalação
wget https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-amd64.tar.gz
tar xvfz node_exporter-1.8.2.linux-amd64.tar.gz
cd node_exporter-1.8.2.linux-amd64
./node_exporter &Após iniciar, as métricas estarão disponíveis em http://localhost:9100/metrics.
Configuração do Prometheus
O arquivo de configuração principal do Prometheus (prometheus.yml) define os alvos de coleta, intervalos e regras de alerta:
global:
scrape_interval: 15s
evaluation_interval: 15s
alerting:
alertmanagers:
- static_configs:
- targets: ['localhost:9093']
rule_files:
- 'alerts.yml'
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- job_name: 'node'
static_configs:
- targets: ['localhost:9100']Criando Alertas no Prometheus
Defina regras de alerta no arquivo alerts.yml:
groups:
- name: node_alerts
rules:
- alert: HighCPUUsage
expr: 100 - (avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) > 80
for: 5m
labels:
severity: critical
annotations:
summary: "CPU acima de 80% na instancia {{ $labels.instance }}"
- alert: DiskSpaceLow
expr: (node_filesystem_avail_bytes{mountpoint="/"} / node_filesystem_size_bytes{mountpoint="/"}) * 100 < 10
for: 2m
labels:
severity: warning
annotations:
summary: "Espaco em disco abaixo de 10% em {{ $labels.instance }}"Conectando o Grafana ao Prometheus
No Grafana, vá em Configuration > Data Sources > Add data source e selecione Prometheus. No campo URL, informe http://localhost:9090 e clique em Save & Test. Se tudo estiver correto, você verá a mensagem Data source is working.
Importando Dashboards Prontos
O ecossistema Grafana possui centenas de dashboards públicos no Grafana Dashboards. Os mais populares para monitoramento de infraestrutura incluem:
- Node Exporter Full (ID 1860) — dashboard completo para métricas de servidor Linux
- Prometheus 2.0 Overview (ID 3662) — métricas do próprio Prometheus
- Docker and Container Monitoring (ID 179) — monitoramento de containers com cAdvisor
Para importar, vá em + > Import, cole o ID do dashboard e selecione a fonte de dados Prometheus.
Benefícios para o Time de DevOps
A adoção de Prometheus e Grafana traz benefícios tangíveis para qualquer equipe de infraestrutura:
- Proatividade: alertas configurados corretamente permitem agir antes que um problema afete os usuários
- Visibilidade: dashboards centralizados mostram a saúde de toda a infraestrutura em um único painel
- Redução de MTTR: com métricas históricas e anotações, a investigação de incidentes fica muito mais rápida
- Escalabilidade: Prometheus suporta milhares de séries temporais por servidor e pode ser federado ou sharded para ambientes maiores
- Custo zero de licenciamento: ambas as ferramentas são open-source com comunidades ativas e ecossistemas maduros
Conclusão
Prometheus e Grafana formam, sem dúvida, a dupla mais poderosa e adotada no mundo do monitoramento moderno. Seja você um profissional de DevOps começando agora ou um veterano buscando modernizar sua stack de observabilidade, essa combinação oferece flexibilidade, potência e uma comunidade vibrante que garante evolução constante.
Comece pequeno: instale o Node Exporter em um servidor de testes, colete as primeiras métricas com o Prometheus e crie seu primeiro dashboard no Grafana. Em pouco tempo você estará monitorando ambientes inteiros com alertas inteligentes e visibilidade total.







