最近在项目中集成Spring Boot Actuator进行应用监控,踩了不少坑,分享一下经验。
环境配置
首先添加依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
核心配置
在application.yml中配置:
management:
endpoints:
web:
exposure:
include: health,info,metrics,prometheus
endpoint:
health:
show-details: always
metrics:
enabled: true
常见问题
- 权限问题:默认所有端点都受保护,需要配置访问权限
- 数据格式:
/actuator/metrics返回的是JSON格式,需要解析处理 - 性能影响:监控数据采集会影响应用性能,建议设置合理的采样频率
实际使用
通过curl http://localhost:8080/actuator/metrics/jvm.memory.used可以获取内存使用情况,配合Grafana进行可视化展示。
踩坑总结
- 不要直接暴露所有端点,存在安全风险
- 监控数据需要定期清理,避免占用过多存储空间
- 建议使用Prometheus+Grafana组合方案进行统一监控

讨论