Criado por I.A e desenvolvido por LUAN 👨💻
Projeto Idealizado para o meu HOMELAB:
IBM LENOVO X3650 M5 5462AC1
- 24 x Intel(R) Xeon(R) CPU E5-2670 v3 1x Socket
- 64GB RAM DDR4 2133 MHz 4x16GB Samsung SF4722G4CKHH6DFSDS
- RAID: ServeRAID M1215 em RAID10 de 5 drives com 638.00gb
- Virtualizado em PROXMOX v8.4
- INTRANET: MIKROTIK X64 BRIDGE + VLAN
🎉🎉🎉🎉
| Serviço | IP | Porta | Função |
|---|---|---|---|
| Prometheus | 10.41.10.140 | 9090 | Coleta e armazena métricas |
| Grafana | 10.41.10.141 | 3000 | Visualiza dados em dashboards |
| Node Exporter | 10.41.10.144 | 9100 | Monitora saúde do servidor |
| AdGuard Exporter | 10.41.10.145 | 9618 | Monitora AdGuard Home |
- Docker e Docker Compose instalados
- Rede macvlan criada:
docker network create -d macvlan \ --subnet=10.41.10.0/24 \ --gateway=10.41.10.1 \ -o parent=eth0 \ macvlan-dhcp
- Diretórios para dados:
sudo mkdir -p /DATA/AppData/prometheus/{config,data} sudo mkdir -p /DATA/AppData/grafana/data sudo mkdir -p /DATA/AppData/grafana/provisioning/{datasources,dashboards}
cd ~/
git clone https://github.com/luanscps/monitoring.git
cd monitoringO docker-compose.yml já vem com as credenciais configuradas:
adguard-exporter:
environment:
- ADGUARD_SERVERS=http://10.41.10.130:80
- ADGUARD_USERNAMES=luan
- ADGUARD_PASSWORDS=@@101010
- INTERVAL=30ssudo chown -R 472:472 /DATA/AppData/grafana/
sudo chmod -R 755 /DATA/AppData/grafana/docker-compose up -ddocker-compose ps
docker logs prometheus
docker logs grafana
docker logs node-exporter
docker logs adguard-exporterhttp://10.41.10.140:9090
- Targets: Menu → Targets (status dos scrapers)
- Graph: Explore métricas
http://10.41.10.141:3000
- Login padrão: admin / admin123
- Mudar senha: Settings → User → Change Password
http://10.41.10.144:9100/metrics
http://10.41.10.145:9618/metrics
- Abra Grafana:
http://10.41.10.141:3000 - Vá em Connections → Data sources → Add data source
- Escolha Prometheus
- Configure:
- Name: Prometheus
- URL: http://10.41.10.140:9090
- Clique Save & test
- Grafana → Dashboards → Create → Import
- Cole o ID:
1860 - Selecione datasource: Prometheus
- Clique Import
- Grafana → Dashboards → Create → Import
- Cole o ID:
13414 - Selecione datasource: Prometheus
- Clique Import
- Verifique se as credenciais no
docker-compose.ymlestão corretas - Username deve ser o usuário do AdGuard (ex:
luan) - Password deve estar em texto plano (não criptografada)
- Se a API do AdGuard exigir autenticação, configure no AdGuardHome.yaml
sudo chown -R 472:472 /DATA/AppData/grafana/
sudo chmod -R 755 /DATA/AppData/grafana/
docker-compose restart grafana- Verifique se os IPs (10.41.10.140-145) estão corretos
- Teste conectividade:
docker exec prometheus wget -O- http://10.41.10.144:9100/metrics
- Retention: 30 dias
- Scrape interval: 15s
- Evaluation interval: 15s- Admin User: admin
- Admin Password: admin123 (MUDE isso!)
- Plugins: grafana-clock-panel, grafana-piechart-panel- Coleta métricas do servidor
- Publica em: /metrics- ADGUARD_SERVERS: URL do AdGuard
- ADGUARD_USERNAMES: Username do AdGuard (ex: luan)
- ADGUARD_PASSWORDS: Senha do AdGuard em texto plano (ex: @@101010)
- INTERVAL: Intervalo de scraping (padrão 30s)docker-compose downdocker-compose restartdocker-compose logs -f prometheus
docker-compose logs -f grafana
docker-compose logs -f node-exporter
docker-compose logs -f adguard-exporterdocker-compose pull
docker-compose up -d- Mude a senha do Grafana imediatamente após primeira login
- Altere credenciais padrão do AdGuard se aplicável
- Use HTTPS em produção (configure reverse proxy com SSL)
- Restrinja acesso aos IPs por firewall
- Não commite senhas no GitHub (use variáveis de ambiente)
Este repositório foi criado para CasaOS com configuração de macvlan e IPs estáticos.
Para dúvidas ou problemas, abra uma issue no GitHub! 🙏