来自 Spring Boot 的指标未显示在 Prometheus 中
Metrics from Spring Boot are not showing up in Prometheus
按照下面给出的步骤将指标从 Spring 引导发送到普罗米修斯:
注意:我已经使用 Docker 图像在我的 Mac 本地安装了 Prometheus。
在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>
在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
- 在配置文件中使用以下行启动 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。
我错过了什么?
解决方法很简单。仅当您是 运行 宁普罗米修斯 Docker 容器时,您才会 运行 参与其中。将目标从:'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
按照下面给出的步骤将指标从 Spring 引导发送到普罗米修斯:
注意:我已经使用 Docker 图像在我的 Mac 本地安装了 Prometheus。
在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>
在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
- 在配置文件中使用以下行启动 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。
我错过了什么?
解决方法很简单。仅当您是 运行 宁普罗米修斯 Docker 容器时,您才会 运行 参与其中。将目标从:'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