Aplicação de monitoramento do Jenkins com o Grafana + Prometheus
- AWS: EC2
- Jenkins v2.401.2
- Docker
- Grafana
- Prometheus
- VSCode
Criação de instâncias EC2 na AWS para provisionar as aplicações
- Abrir o AWS Console
- Acessar o EC2 Console Home > EC2 > EC2 Dashboard > Instances
- Subir 2 instâncias
- 1 para o Jenkins
- 1 para rodar o Grafana e o Prometheus
Configuração (free tier)
- Amazon Linux 2023
- x86_64
- t2.micro
- Criar uma key pair
- Criar um Security Group se não tiver configurado
EC2 > Network & Security > Security Groups > Create security group
Inbound rules
Realizar a configuração do Docker nas 2 instâncias criadas
Verificar a instalação do Docker
docker --version
Instalar
sudo yum install -y docker
Verificar a instalação
docker --version
Executar o Docker
sudo service docker start
Confimar se está em execução
sudo docker info
Configuração do Jenkins no EC2
- Acessar a instância do Jenkins com o PuTTY
- Subir a imagem do Jenkins com o Docker:
sudo docker run --name=jenkins -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts
- Copiar a senha de admin
- Abrir a url na porta 8080 (Public IPv4 DNS)
- Instalar com os Plugins sugeridos
Instalar os plugins extras para o uso do Prometheus
Plugins
- Prometheus metrics plugin
- CloudBees Disk Usage Simple Plugin
Configuração do Grafana no EC2
- Acessar a instância do Grafana com o PuTTY
- Subir a imagem do Grafana com o Docker:
sudo docker run --name=grafana -p 3000:3000 grafana/grafana:latest
- Entrar na url (porta 3000) e testar se está funcionando
User: admin
Password: admin
- Abrir as configurações do Jenkins
Painel de controle > Gerenciar Jenkins > System > Prometheus
Collecting metrics period in seconds: 5
- Abrir a url do jenkins com /prometheus
Ex.: https://jenkins.com/prometheus/
Entrar no servidor do Grafana
-
Criar um arquivo
vi prometheus.yml
-
Criar um docker pra rodar a imagem
sudo docker run --name=prometheus -d -p 9090:9090 -v ./prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
-
Testar a url com a porta 9090
-
Abrir o Grafana
Home > Connections > Data sources > Prometheus
Prometheus server URL: http://localhost:9090
Save & test
-
Criar um novo Dashboards
- Import dashboard: 9964
🔗 How to Monitor Jenkins With Grafana and Prometheus
🔗 Gist with commands and more documentation
🔗 Installing docker-compose on Amazon EC2 Linux 2. 9kb docker-compose file
🔗 Jenkins: Performance and Health Overview