-
Docker instalado
-
Aplicação Spring Boot subindo em alguma IDE com as seguintes dependências:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-registry-prometheus</artifactId> <scope>runtime</scope> </dependency>
-
A linha abaixo no application.properties da aplicação expondo os endpoints básicos:
management.endpoints.web.exposure.include=health,info,prometheus
Caminho do arquivo de configuração do Prometheus: prometheus-grafana/prometheus-data/prometheus.yml
Trecho do arquivo que configura o container do Prometheus para ouvir a aplicação:
scrape_configs:
- job_name: filmes
metrics_path: actuator/prometheus
scrape_interval: 5s
static_configs:
- targets: ['host.docker.internal:8085']
Job name deve ser o nome da sua aplicação para ser identificada no Prometheus (no caso da minha API o nome é "filmes")
O target deve ser "host.docker.internal:" + [porta_da_sua_aplicação]
1º cd prometheus-grafana
2º docker-compose up -d
http://localhost:9090
http://localhost:3000
user: admin
senha: admin
-
Menu lateral > Configuration > Data sources
-
Clicar em "Add data source"
-
Selecionar "Prometheus" como "type"
-
Inserir URL do container do Prometheus
http://prometheus:9090
ouhttp://host.docker.internal:9090
-
Clicar em "Save and Test"