https://github.com/samiracavalcanti/atividade-pratica
https://github.com/samiracavalcanti/atividade-pratica
docker-compose grafana jenkins prometheus tomcat-server
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/samiracavalcanti/atividade-pratica
- Owner: SamiraCavalcanti
- Created: 2024-12-11T19:48:27.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-21T06:28:21.000Z (over 1 year ago)
- Last Synced: 2025-04-07T19:18:49.166Z (about 1 year ago)
- Topics: docker-compose, grafana, jenkins, prometheus, tomcat-server
- Homepage:
- Size: 8.79 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Configuração do Jenkins no Tomcat com Monitoramento via Prometheus e Grafana
## Introdução
Esta atividade tem como objetivo configurar um servidor Jenkins atualizado em um servidor de aplicação Tomcat, seguido da implantação de um sistema de monitoramento utilizando Prometheus e Grafana. Este processo é parte essencial para a avaliação e teste de ferramentas de integração e entrega contínuas (CI/CD) utilizadas pela empresa.
## Passo a Passo da Configuração do Jenkins no Tomcat
### Preparação do Ambiente
1. Criei um diretório para armazenar os arquivos necessários:
```bash
mkdir ESIG-AtividadePratica
```
2. Baixei os arquivos oficiais do Tomcat e do Jenkins.

4. Extraí o arquivo `apache-tomcat-11.0.2.zip` para o diretório `/opt/`:
```bash
sudo unzip apache-tomcat-11.0.2.zip -d /opt/
```
5. Dei permissão de execução aos arquivos `.sh` da pasta `bin`:
```bash
sudo chmod +x *.sh
```
### Configuração do Tomcat
1. Editei o arquivo de usuários do Tomcat para adicionar credenciais:
```bash
sudo vim /opt/apache-tomcat-11.0.2/conf/tomcat-users.xml
```
Adicionei o seguinte conteúdo dentro da tag ``:

2. Iniciei o Tomcat:
```bash
sudo ./startup.sh
```
3. Acessei o Tomcat Web Application Manager em: `http://localhost:8282`.

### Configuração do Jenkins
1. Movi o arquivo `jenkins.war` para a pasta `webapps` do Tomcat:
```bash
sudo mv jenkins.war /opt/apache-tomcat-11.0.2/webapps/
```
2. Atualizei o Tomcat e como podemos ver o Jenkins se encontra disponível na aplicação.

4. Recuperei a senha inicial do Jenkins com o comando:
```bash
sudo cat /root/.jenkins/secrets/initialAdminPassword
```
5. Configurei o Jenkins com as credenciais administrativas e sigui os passos iniciais.




6. Teste de uma simples pipeline

## Monitoramento do Jenkins com Prometheus e Grafana
### Arquivo `prometheus.yml`
```yaml
global:
scrape_interval: 15s
scrape_configs:
- job_name: "jenkins"
metrics_path: "/jenkins/prometheus"
static_configs:
- targets:
['172.25.0.1:8282']
```
### Arquivo `docker-compose.yml`
```yaml
services:
prometheus:
image: prom/prometheus:latest
container_name: prometheus
ports:
- "9090:9090"
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
grafana:
image: grafana/grafana:latest
container_name: grafana
ports:
- "3000:3000"
```
### Configuração do Monitoramento
1. Iniciei os serviços Prometheus e Grafana:
```bash
docker-compose up -d
```
3. Antes da configuração baixei o plugin no jenkins chamado Prometheus Metrics Plugins que serve para expor métricas do próprio em um formato que pode ser coletado pelo Prometheus.

2. Acessei o Prometheus em: `http://localhost:9090` e o Grafana em: `http://localhost:3000`.

Endpoint configurado está ativo e respondendo às solicitações do Prometheus.

4. No Grafana, configurei o Prometheus como fonte de dados e criei um painel para monitorar as métricas do Jenkins.


## Tecnologias utilizadas




