当前位置: 首页> 健康> 科研 > 项目建设计划书_页面模板怎么编辑_北大青鸟职业技术学院简介_宁波seo网站推广软件

项目建设计划书_页面模板怎么编辑_北大青鸟职业技术学院简介_宁波seo网站推广软件

时间:2025/8/5 5:08:54来源:https://blog.csdn.net/u012762619/article/details/146348615 浏览次数:1次
项目建设计划书_页面模板怎么编辑_北大青鸟职业技术学院简介_宁波seo网站推广软件

在Spring Boot应用中,通过整合Actuator、Prometheus和Grafana可以构建完整的监控体系,实现指标采集、存储和可视化。以下是具体实现步骤:


一、Spring Boot Actuator 配置

作用:暴露应用健康指标、性能数据等监控端点。

1. 添加依赖
 

xml

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency><groupId>io.micrometer</groupId><artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
2. 配置Actuator端点(application.yml)
 

yaml

management:endpoints:web:exposure:include: "health,info,prometheus"  # 暴露Prometheus格式指标endpoint:health:show-details: alwaysprometheus:enabled: truemetrics:export:prometheus:enabled: truetags:  # 自定义全局标签(如应用名)application: my-spring-app
3. 验证端点

访问 http://localhost:8080/actuator/prometheus,查看原始指标数据。


二、Prometheus 配置

作用:定时抓取Spring Boot的指标数据并存储。

1. 安装Prometheus
 

bash

docker run -d --name prometheus -p 9090:9090 prom/prometheus
2. 配置抓取目标(prometheus.yml)
 

yaml

scrape_configs:- job_name: 'spring-boot-app'scrape_interval: 15smetrics_path: '/actuator/prometheus'static_configs:- targets: ['host.docker.internal:8080']  # Docker中访问宿主机labels:application: 'my-spring-app'
3. 重启Prometheus
 

bash

docker restart prometheus
4. 验证数据抓取

访问 http://localhost:9090/targets,确保状态为 ​UP


三、Grafana 配置

作用:可视化展示Prometheus中的监控数据。

1. 安装Grafana
 

bash

docker run -d --name grafana -p 3000:3000 grafana/grafana
2. 添加数据源
  1. 登录Grafana(默认账号:admin/admin)。
  2. Configuration > Data Sources > Add data source,选择 ​Prometheus
  3. 配置URL:http://host.docker.internal:9090(Docker环境)。
3. 导入仪表盘模板
  1. Create > Import,输入官方模板ID:4701(JVM监控)或 11378(Spring Boot)。
  2. 选择数据源为Prometheus,调整时间范围和刷新频率。

四、自定义监控指标

通过Micrometer注册自定义业务指标:

1. 注册计数器
 

java

import io.micrometer.core.instrument.Counter;
import io.micrometer.core.instrument.MeterRegistry;@RestController
public class MyController {private final Counter apiCounter;public MyController(MeterRegistry registry) {apiCounter = Counter.builder("api.requests.total").description("Total API requests").tag("endpoint", "/my-api").register(registry);}@GetMapping("/my-api")public String myApi() {apiCounter.increment();return "OK";}
}
2. 在Grafana中查询

使用PromQL查询自定义指标:

 

promql

sum(rate(api_requests_total[5m])) by (endpoint)

五、安全加固(可选)

1. 保护Actuator端点
 

java

@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {@Overrideprotected void configure(HttpSecurity http) throws Exception {http.authorizeRequests().antMatchers("/actuator/health").permitAll().antMatchers("/actuator/**").hasRole("ADMIN").and().httpBasic();}
}
2. Prometheus认证

prometheus.yml中配置Basic Auth:

 

yaml

basic_auth:username: adminpassword: secret

六、监控指标示例

  1. JVM监控
    • 内存使用:jvm_memory_used_bytes
    • 线程数:jvm_threads_live
  2. HTTP请求
    • QPS:http_server_requests_seconds_count
    • 延迟:http_server_requests_seconds_sum
  3. 系统资源
    • CPU使用率:system_cpu_usage
    • 磁盘空间:disk_free_bytes

七、优化与告警

  1. Grafana Alerting:设置阈值触发通知(如CPU > 80%)。
  2. Alertmanager集成:配置邮件、Slack等通知渠道。
  3. 日志联动:结合ELK或Loki实现日志与指标关联分析。

通过以上步骤,可快速搭建Spring Boot应用的监控可视化平台,实时掌握应用健康状态和性能瓶颈。

关键字:项目建设计划书_页面模板怎么编辑_北大青鸟职业技术学院简介_宁波seo网站推广软件

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: