Spring Boot中的指标没有出现在Prometheus中

问题描述 投票:0回答:1

按照以下步骤将Spring Boot中的度量标准发送到Prometheus:

注意:我使用Docker镜像在Mac上本地安装了Prometheus。

  1. 在pom.xml中添加了这个: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> <version>2.0.4.RELEASE</version> </dependency> <!-- Micormeter core dependecy --> <dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-core</artifactId> <version>1.0.6</version> </dependency> <!-- Micrometer Prometheus registry --> <dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-registry-prometheus</artifactId> <version>1.0.6</version> </dependency>
  2. 在application.properties中添加了这个:
server.port: 9000
management.server.port: 9001
management.server.address: 127.0.0.1

management.endpoint.metrics.enabled=true
management.endpoints.web.exposure.include=*
management.endpoint.prometheus.enabled=true
management.metrics.export.prometheus.enabled=true
  1. 在配置文件中使用以下行启动Prometheus:

全局配置

global:
  scrape_interval:     5s # Set the scrape interval to every 5 seconds.
  evaluation_interval: 5s # Evaluate rules every 5 seconds.
scrape_configs:
- job_name: 'hello-world-promethus'
  metrics_path: '/actuator/prometheus'
  static_configs:
  - targets: ['localhost:9001']

当我点击:http://localhost:9001/actuator/prometheus时,我可以看到指标,但它们在Prometheus UI上不可见。

我错过了什么?

java spring spring-boot prometheus code-metrics
1个回答
0
投票

解决方案很简单。只有在运行Prometheus Docker Container时才会遇到此问题。将目标从'localhost:9001'更改为'docker.for.mac.localhost:9001'。例如:

- job_name: hello-world-promethus
  scrape_interval: 5s
  scrape_timeout: 5s
  metrics_path: /actuator/prometheus
  scheme: http
  static_configs:
  - targets:
    - docker.for.mac.localhost:9001
© www.soinside.com 2019 - 2024. All rights reserved.