博客
关于我
Springboot使用Actuator健康监控以及可视化界面
阅读量:785 次
发布时间:2019-03-25

本文共 1709 字,大约阅读时间需要 5 分钟。

Spring Boot监控与管理引导

1. 概念与意义

随着微服务的普及,云部署的应用为了满足监控、追踪、审计等管理需求,通常会配置相关工具和中间件。而Spring Boot通过其Actuator模块,提供了一套完整的生产级别的监控管理方案,极大地简化了开发和部署过程。

2. 核心功能展示

Spring Boot的Actuator模块提供了多种功能端点,用户可以根据需要选择性地启用或关闭。以下是常用的核心功能:

  • 健康检查(health端点):提供应用的基本运行状态,包括CPU、内存使用情况、线程池状态等重要指标。
  • 服务发现与心跳检测:默认绑定到http://localhost:8080/heartbeats,用于监控集群中各服务的存活状态。
  • 配置信息管理:可以查看应用程序的配置信息,包括环境变量、属性文件内容等。
  • 日志审计:所有日志事件都可以被记录并提供审计功能,支持定期导出或存储。

3. 端点配置与暴露方式

默认情况下,所有Actuator端点都可以通过HTTP接口访问,具体的端点ID对应于URL路径。为了安全和灵活性,建议对selected端点进行限制访问。

application.properties中可以配置如下内容:

# 启用所有端点management.endpoints.enabled-by-default=true# 指定需要通过Web服务暴露的端点management.endpoints.web.exposure.include=*

如果需要个性化配置,可以选择关闭部分不需要的端点,例如关闭默认的beansenv端点:

# 关闭所有端点management.endpoints.enabled-by-default = false# 启用特定的端点management.endpoint.info.enabled = truemanagement.endpoint.caches.enabled = truemanagement.endpoints.web.exposure.include=*

4. Spring Boot Admin可视化管理

为了方便监控和管理,可以选择集成Spring Boot Admin,提供友好的可视化界面。

4.1 取件依赖

在服务端项目中添加依赖:

de.codecentric
spring-boot-admin-starter-server
2.3.1

客户端项目添加相关配置:

# 服务地址(需替换为实际服务地址)spring.boot.admin.client.service-url=http://localhost:8081

4.2 启动管理服务器

服务端启动类添加注解:

@SpringBootApplicationpublic class SpringBootAdminServerApplication {    public static void main(String[] args) {        SpringApplication.run(SpringBootAdminServerApplication.class, args);    }}@EnableAdminServer

4.3 连接 Toplam?

完成以上配置后,两项目(服务端和客户端)运行就能实现管理页面的访问。你可以在终端查看客户端注册到管理服务器的情况。

5. 其他功能说明

  • 事务跟踪(httptrace):记录前100次HTTP请求日志,非常有助于故障定位和性能分析。
  • 缓存信息:包括各常用缓存库的状态和配置信息,便于管理和观察。
  • 自动刷新:所有与时间相关的端点(如健康检查)默认采用短短的时间间隔自刷新,保证数据的及时性。

6. 扩展与优化

Spring Boot的Actuator模块功能非常强大,除了提供的默认端点,还可以通过自定义实现扩展其功能。例如,可以开发自定义逻辑的端点或使用第三方工具链进行更深入的监控。

转载地址:http://fhiuk.baihongyu.com/

你可能感兴趣的文章
MySQL —— 在CentOS9下安装MySQL
查看>>
MySQL —— 视图
查看>>
mysql 不区分大小写
查看>>
mysql 两列互转
查看>>
MySQL 中开启二进制日志(Binlog)
查看>>
MySQL 中文问题
查看>>
MySQL 中日志的面试题总结
查看>>
mysql 中的all,5分钟了解MySQL5.7中union all用法的黑科技
查看>>
MySQL 中的外键检查设置:SET FOREIGN_KEY_CHECKS = 1
查看>>
Mysql 中的日期时间字符串查询
查看>>
mysql 中索引的问题
查看>>
MySQL 中锁的面试题总结
查看>>
MySQL 中随机抽样:order by rand limit 的替代方案
查看>>
MySQL 为什么需要两阶段提交?
查看>>
mysql 为某个字段的值加前缀、去掉前缀
查看>>
mysql 主从
查看>>
mysql 主从 lock_mysql 主从同步权限mysql 行锁的实现
查看>>
mysql 主从互备份_mysql互为主从实战设置详解及自动化备份(Centos7.2)
查看>>
mysql 主从关系切换
查看>>
MYSQL 主从同步文档的大坑
查看>>