Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gimerguizo/integracao-jenkins-grafana
Aplicação de monitoramento do Jenkins com o Grafana + Prometheus
https://github.com/gimerguizo/integracao-jenkins-grafana
aws-ec2 grafana grafana-prometheus jenkins prometheus
Last synced: 9 days ago
JSON representation
Aplicação de monitoramento do Jenkins com o Grafana + Prometheus
- Host: GitHub
- URL: https://github.com/gimerguizo/integracao-jenkins-grafana
- Owner: GiMerguizo
- Created: 2023-07-25T14:17:02.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-07-25T17:05:46.000Z (over 1 year ago)
- Last Synced: 2024-11-15T17:43:16.914Z (2 months ago)
- Topics: aws-ec2, grafana, grafana-prometheus, jenkins, prometheus
- Homepage:
- Size: 36.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Monitoramento do Jenkins com Grafana
Aplicação de monitoramento do Jenkins com o Grafana + Prometheus## Tecnologias usadas
- AWS: EC2
- Jenkins v2.401.2
- Docker
- Grafana
- Prometheus
- VSCode## Instâncias
Criação de instâncias EC2 na AWS para provisionar as aplicações
- Abrir o [AWS Console](https://signin.aws.amazon.com/)
- 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
```### Configuração do Security Group
EC2 > Network & Security > Security Groups > Create security group
**Inbound rules**
![Inbound rules](./Midias/inbound-rules.PNG)## Docker
Realizar a configuração do Docker nas 2 instâncias criadas
Verificar a instalação do Docker
`docker --version`### Instalação
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`## Jenkins
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### Instalação de Plugins
Instalar os plugins extras para o uso do Prometheus**Plugins**
- Prometheus metrics plugin
- CloudBees Disk Usage Simple Plugin## Grafana
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
```## Prometheus
### Jenkins
- 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/### Instância do Grafana
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---
## Referências
:link: [How to Monitor Jenkins With Grafana and Prometheus](https://youtu.be/3H9eNIf9KZs)
:link: [Gist with commands and more documentation](https://gist.github.com/darinpope/1c8422fb7512411760ccb2827d82613f)
:link: [Installing docker-compose on Amazon EC2 Linux 2. 9kb docker-compose file](https://stackoverflow.com/questions/63708035/installing-docker-compose-on-amazon-ec2-linux-2-9kb-docker-compose-file)
:link: [Jenkins: Performance and Health Overview](https://grafana.com/grafana/dashboards/9964-jenkins-performance-and-health-overview/)