Monitorização usando Prometheus e Grafana
Guião
completo para fazer a
monitorização de um projecto Docker com Prometheus e Grafana 🚀**
🎯
Objetivo
Monitorizar:
- Contentores Docker
- Consumo de CPU e memória
- Estado dos serviços
- Métricas de uma aplicação
Tudo usando Docker
Compose.
📦
Arquitectura Final
Docker
Containers
↓
cAdvisor (métricas Docker)
↓
Prometheus (recolha)
↓
Grafana (visualização)
✅
Pré-requisitos
Instalado:
- Docker
- Docker Compose
Verificar:
docker
--version
docker
compose version
📁
1️⃣ Criar Estrutura do Projecto
mkdir
monitorizacao-docker
cd
monitorizacao-docker
Criar os
ficheiros:
monitorizacao-docker/
├── docker-compose.yml
└── prometheus.yml
⚙️
2️⃣ Configurar o Prometheus
Criar o
ficheiro prometheus.yml
global:
scrape_interval:
5s
scrape_configs:
- job_name: "prometheus"
static_configs:
- targets:
["prometheus:9090"]
- job_name: "cadvisor"
static_configs:
- targets: ["cadvisor:8080"]
Aqui estamos
a dizer ao Prometheus para recolher métricas do:
- Próprio Prometheus
- cAdvisor (monitorização Docker)
🐳
3️⃣ Criar o docker-compose.yml
version: "3.8"
services:
prometheus:
image: prom/prometheus
container_name:
prometheus
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
ports:
- "9090:9090"
depends_on:
- cadvisor
grafana:
image: grafana/grafana
container_name: grafana
ports:
- "3000:3000"
environment:
- GF_SECURITY_ADMIN_PASSWORD=admin
depends_on:
- prometheus
cadvisor:
image: gcr.io/cadvisor/cadvisor:latest
container_name:
cadvisor
ports:
- "8080:8080"
volumes:
- /:/rootfs:ro
- /var/run:/var/run:ro
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
▶️
4️⃣ Iniciar o Ambiente
docker
compose up -d
Verificar:
docker ps
🌐
5️⃣ Aceder aos Serviços
🔎
Prometheus
http://localhost:9090
📊
Grafana
http://localhost:3000
Login:
- Utilizador: admin
- Palavra-passe: admin
🐳
cAdvisor
http://localhost:8080
🔗
6️⃣ Ligar o Grafana ao Prometheus
No Grafana:
1. ⚙️ Settings
2. Data Sources
3. Add Data Source
4. Escolher Prometheus
5. URL:
http://prometheus:9090
6. Guardar e testar.
📊
7️⃣ Importar Dashboard de Docker
No Grafana:
1. Clique em +
2. Import
3. Introduzir ID de dashboard:
193
(Um dos
dashboards mais utilizados para Docker)
Selecionar a
fonte de dados Prometheus e importar.
📈
Métricas Importantes
Algumas
queries úteis:
Uso de CPU:
rate(container_cpu_usage_seconds_total[1m])
Uso de
memória:
container_memory_usage_bytes
Contentores
activos:
up
🔐
Melhorias para Produção
Para
ambiente real, recomenda-se:
- Alterar password do Grafana
- Criar volumes persistentes
- Activar autenticação
- Colocar reverse proxy (Nginx)
- Activar HTTPS
🧠
O que está a acontecer por trás?
- O cAdvisor recolhe métricas
dos contentores Docker
- O Prometheus consulta essas
métricas periodicamente
- O Grafana transforma os
dados em gráficos interactivos
🎯
Resultado Final
Fica com um
sistema completo de observabilidade para:
- Monitorizar projectos Docker
- Identificar picos de CPU/memória
- Detectar falhas de serviços
- Visualizar métricas em tempo real

Nenhum comentário:
Postar um comentário