Projetinho web construido em Flask para uso do Prometheus, sendo possivel coletar e expor metricas relacionadas a duas paginas distintas entre si. Nesse projeto, foram usados funcoes para criar valores aleatorios para o uso das metricas. Foram criadas as duas metricas, um NUMERO_REQUESTS usando o Counter e outra chamada REQUESTS utilizando o Gauge. Tanto o Gauge quanto o Counter foram importadas da biblioteca prometheus_client.
- nome das paginas: primeira-pagina e segunda-pagina;
- foram utilizados status_code de 200, 300 ou 500, escolhidos de forma randomica para simulacao de diversas solicitacoes.
- app.py: arquivo principal com o codigo da aplicacao Flask
- dockerfile: arquivo para a construcao de imagem da aplicacao
- docker-compose.yml: arquivo de configuracao do ambiente de desenvolvimento
- Docker
- Docker compose
-
clone o repositorio
git clone https://github.com/elojas2/primeiro-projetinho.git
-
inicie e construa a imagem com o docker-compose
docker-compose up --build
Pronto, assim será inicializado o Grafana, Prometheus e o app em Flask
- o aplicativo Flask estará disponível em http://localhost:5000 (explicarei melhor abaixo)
- o Prometheus estará disponível em http://localhost:9090
- o Grafana estará disponível em http://localhost:3000
Em caso do Grafana pedir usuario e senha:
- o usuario: admin
- a senha: admin
como dito anteriormente, esse arquivo contem a aplicacao em Flask e nele contem as rotas para diferentes endpoints, são eles:
- http://localhost:5000/metrics
- http://localhost:5000/primeira-pagina
- http://localhost:5000/segunda-pagina
para verificar as metricas, escreve ou cole no navegador a seguinte URL:
clique com as teclas CTRL + C
no terminal