讲解“prometheus监控springboot应用简单使用介绍详解”的完整攻略
1. 准备工作
在使用 Prometheus 监控 Spring Boot 应用之前,需要先引入 Prometheus 相关的依赖。可以使用 Maven 或 Gradle 引入以下依赖:
<!-- Prometheus 客户端依赖 -->
<dependency>
<groupId>io.prometheus</groupId>
<artifactId>simpleclient</artifactId>
<version>0.11.0</version>
</dependency>
<dependency>
<groupId>io.prometheus</groupId>
<artifactId>simpleclient_spring_boot</artifactId>
<version>0.11.0</version>
</dependency>
<!-- Prometheus 数据暴露依赖 -->
<dependency>
<groupId>io.prometheus</groupId>
<artifactId>simpleclient_pushgateway</artifactId>
<version>0.11.0</version>
</dependency>
2. 配置 Spring Boot 应用
在 Spring Boot 应用配置中,需要增加以下配置项:
management:
endpoints:
web:
exposure:
include: "*"
endpoint:
prometheus:
enabled: true
这里的配置项是开启了 Spring Boot Actuator,默认情况下是关闭的。为了方便测试,暴露了所有的 Actuator 端点。
3. 配置 Prometheus
在 Prometheus 的配置文件 prometheus.yml
中增加以下配置项:
# 配置需要监控的目标
scrape_configs:
- job_name: 'spring-boot-app'
metrics_path: '/actuator/prometheus'
static_configs:
- targets: ['localhost:8080']
metrics_path
指定了 Spring Boot 应用中的 Prometheus 暴露的数据 URL,targets
指定了需要监控的目标。
4. 测试
完成上述配置后,可以启动 Spring Boot 应用和 Prometheus 服务。在 Prometheus 的 Web 界面中输入以下查询语句可以查看监控数据:
http_server_requests_seconds_count{method="GET",status="200"}
这里的查询语句是查询所有 HTTP GET 请求返回码为 200 的数量。
5. 示例说明
下面将演示一个简单的示例,在 Spring Boot 应用中增加一个计数器,每次访问该接口都会自增。具体步骤如下:
5.1. 增加计数器
在 Spring Boot 应用中增加计数器:
package com.example.demo;
import io.prometheus.client.Counter;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class DemoController {
private final Counter counter = Counter.build()
.name("demo_counter")
.help("A simple counter for demo purpose.")
.register();
@GetMapping("/")
@ResponseBody
public String home() {
counter.inc();
return "Hello World!";
}
}
5.2. 配置 Prometheus
在 Prometheus 的配置文件 prometheus.yml
中增加以下配置项:
# 注册 demo_counter 计数器
- job_name: 'spring-boot-app'
metrics_path: '/actuator/prometheus'
static_configs:
- targets: ['localhost:8080']
metric_relabel_configs:
- source_labels: [__name__]
regex: 'demo_counter'
action: keep
这里的配置项增加了一个 metric_relabel_configs
,用来对监控数据进行筛选,只选择 demo_counter
相关的数据。
5.3. 测试
测试过程同上,通过查询语句 demo_counter
可以查看计数器的值。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:prometheus监控springboot应用简单使用介绍详解 - Python技术站