{"id":23353402,"url":"https://github.com/samiracavalcanti/atividade-pratica","last_synced_at":"2026-05-11T05:38:08.475Z","repository":{"id":267687644,"uuid":"902043199","full_name":"SamiraCavalcanti/Atividade-Pratica","owner":"SamiraCavalcanti","description":null,"archived":false,"fork":false,"pushed_at":"2024-12-21T06:28:21.000Z","size":9,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-07T19:18:49.166Z","etag":null,"topics":["docker-compose","grafana","jenkins","prometheus","tomcat-server"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SamiraCavalcanti.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-11T19:48:27.000Z","updated_at":"2024-12-21T06:28:25.000Z","dependencies_parsed_at":"2024-12-11T21:29:31.878Z","dependency_job_id":null,"html_url":"https://github.com/SamiraCavalcanti/Atividade-Pratica","commit_stats":null,"previous_names":["samiracavalcanti/atividade-pratica"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamiraCavalcanti%2FAtividade-Pratica","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamiraCavalcanti%2FAtividade-Pratica/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamiraCavalcanti%2FAtividade-Pratica/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamiraCavalcanti%2FAtividade-Pratica/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SamiraCavalcanti","download_url":"https://codeload.github.com/SamiraCavalcanti/Atividade-Pratica/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247713263,"owners_count":20983683,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker-compose","grafana","jenkins","prometheus","tomcat-server"],"created_at":"2024-12-21T09:13:06.981Z","updated_at":"2026-05-11T05:38:08.405Z","avatar_url":"https://github.com/SamiraCavalcanti.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Configuração do Jenkins no Tomcat com Monitoramento via Prometheus e Grafana\n\n## Introdução\n\nEsta 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.\n\n## Passo a Passo da Configuração do Jenkins no Tomcat\n\n### Preparação do Ambiente\n\n1. Criei um diretório para armazenar os arquivos necessários:\n   \n   ```bash\n   mkdir ESIG-AtividadePratica\n   ```\n\n2. Baixei os arquivos oficiais do Tomcat e do Jenkins.\n\n![2](https://github.com/user-attachments/assets/3c2b5450-ac66-4147-bec7-bb17525c4f3b)\n\n   \n\n4. Extraí o arquivo `apache-tomcat-11.0.2.zip` para o diretório `/opt/`:\n   \n   ```bash\n   sudo unzip apache-tomcat-11.0.2.zip -d /opt/\n   ```\n\n5. Dei permissão de execução aos arquivos `.sh` da pasta `bin`:\n   \n   ```bash\n   sudo chmod +x *.sh\n   ```\n\n### Configuração do Tomcat\n\n1. Editei o arquivo de usuários do Tomcat para adicionar credenciais:\n   \n   ```bash\n   sudo vim /opt/apache-tomcat-11.0.2/conf/tomcat-users.xml\n   ```\n   \n   Adicionei o seguinte conteúdo dentro da tag `\u003ctomcat-users\u003e`:\n\n   ![config-usuario-tomcat](https://github.com/user-attachments/assets/27d10cf2-c347-4737-bab9-96eab8117d2c)\n\n\n2. Iniciei o Tomcat:\n   \n   ```bash\n   sudo ./startup.sh\n   ```\n\n3. Acessei o Tomcat Web Application Manager em: `http://localhost:8282`.\n\n ![manager-app](https://github.com/user-attachments/assets/0c737c0f-d297-41bb-bb67-2129c957ca5d)\n\n\n### Configuração do Jenkins\n\n1. Movi o arquivo `jenkins.war` para a pasta `webapps` do Tomcat:\n   \n\n```bash\n   sudo mv jenkins.war /opt/apache-tomcat-11.0.2/webapps/\n   ```\n\n\n2. Atualizei o Tomcat e como podemos ver o Jenkins se encontra disponível na aplicação.\n\n   ![jenkins](https://github.com/user-attachments/assets/168baa73-7506-42ae-8848-4fba95dd0386)\n\n\n4. Recuperei a senha inicial do Jenkins com o comando:\n   \n   ```bash\n   sudo cat /root/.jenkins/secrets/initialAdminPassword\n   ```\n\n5. Configurei o Jenkins com as credenciais administrativas e sigui os passos iniciais.\n![jenkins3](https://github.com/user-attachments/assets/d5e327e9-ee00-469e-8387-485897f61940)\n![jenkins2](https://github.com/user-attachments/assets/b2793394-a56a-425e-b300-6795f6c44fe0)\n![nova-credenciais](https://github.com/user-attachments/assets/0522070f-0ac9-4a05-a740-9e5c834fd4f1)\n![jenkins4](https://github.com/user-attachments/assets/6e8263c6-a8a4-4153-9b06-907c4e96d0f3)\n\n\n6. Teste de uma simples pipeline\n ![teste](https://github.com/user-attachments/assets/97baeda4-01cf-45cf-aa16-1a9bd66bbc55)\n\n\n   \n\n## Monitoramento do Jenkins com Prometheus e Grafana\n\n### Arquivo `prometheus.yml`\n\n```yaml\nglobal:\n  scrape_interval: 15s\n\nscrape_configs:\n  - job_name: \"jenkins\"\n    metrics_path: \"/jenkins/prometheus\"\n    static_configs:\n      - targets:\n          ['172.25.0.1:8282']\n```\n\n### Arquivo `docker-compose.yml`\n\n```yaml\nservices:\n  prometheus:\n    image: prom/prometheus:latest\n    container_name: prometheus\n    ports:\n      - \"9090:9090\"\n    volumes:\n      - ./prometheus.yml:/etc/prometheus/prometheus.yml\n\n  grafana:\n    image: grafana/grafana:latest\n    container_name: grafana\n    ports:\n      - \"3000:3000\"\n```\n\n### Configuração do Monitoramento\n\n\n\n1. Iniciei os serviços Prometheus e Grafana:\n   \n   ```bash\n   docker-compose up -d\n   ```\n3. 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.\n![Captura de tela de 2024-12-10 20-04-21](https://github.com/user-attachments/assets/a6001353-09b5-46c5-bc5b-495d206f134c)\n\n2. Acessei o Prometheus em: `http://localhost:9090` e o Grafana em: `http://localhost:3000`.\n\n \n ![Captura de tela de 2024-12-10 21-48-08](https://github.com/user-attachments/assets/96858cd5-9abe-4e13-95b4-29bbb753de35)\n  \n Endpoint configurado está ativo e respondendo às solicitações do Prometheus.\n![Captura de tela de 2024-12-10 23-07-10](https://github.com/user-attachments/assets/1ecdcfb5-2b88-42b3-9d6b-4bcd4e8aac93)\n\n\n4. No Grafana, configurei o Prometheus como fonte de dados e criei um painel para monitorar as métricas do Jenkins.\n   \n ![Captura de tela de 2024-12-10 22-01-58](https://github.com/user-attachments/assets/f4f78065-9bef-48e1-8c57-72e865abce92)\n ![Captura de tela de 2024-12-10 23-21-55](https://github.com/user-attachments/assets/48008cc6-92de-49ef-851e-d6d539404757)\n\n\n\n## Tecnologias utilizadas\n![Jenkins](https://img.shields.io/badge/Jenkins-blue?logo=jenkins\u0026logoColor=white\u0026style=flat-square)\n![Tomcat](https://img.shields.io/badge/Tomcat-yellow?logo=apache-tomcat\u0026logoColor=white\u0026style=flat-square)\n![Prometheus](https://img.shields.io/badge/Prometheus-orange?logo=prometheus\u0026logoColor=white\u0026style=flat-square)\n![Grafana](https://img.shields.io/badge/Grafana-red?logo=grafana\u0026logoColor=white\u0026style=flat-square)\n![Docker](https://img.shields.io/badge/Docker-blue?logo=docker\u0026logoColor=white\u0026style=flat-square)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamiracavalcanti%2Fatividade-pratica","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamiracavalcanti%2Fatividade-pratica","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamiracavalcanti%2Fatividade-pratica/lists"}