博客
关于我
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 敲错命令 想取消怎么办?
查看>>
Mysql 整形列的字节与存储范围
查看>>
mysql 断电数据损坏,无法启动
查看>>
MySQL 日期时间类型的选择
查看>>
Mysql 时间操作(当天,昨天,7天,30天,半年,全年,季度)
查看>>
MySQL 是如何加锁的?
查看>>
MySQL 是怎样运行的 - InnoDB数据页结构
查看>>
mysql 更新子表_mysql 在update中实现子查询的方式
查看>>
MySQL 有什么优点?
查看>>
mysql 权限整理记录
查看>>
mysql 权限登录问题:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
查看>>
MYSQL 查看最大连接数和修改最大连接数
查看>>
MySQL 查看有哪些表
查看>>
mysql 查看锁_阿里/美团/字节面试官必问的Mysql锁机制,你真的明白吗
查看>>
MySql 查询以逗号分隔的字符串的方法(正则)
查看>>
MySQL 查询优化:提速查询效率的13大秘籍(避免使用SELECT 、分页查询的优化、合理使用连接、子查询的优化)(上)
查看>>
mysql 查询数据库所有表的字段信息
查看>>
【Java基础】什么是面向对象?
查看>>
mysql 查询,正数降序排序,负数升序排序
查看>>
MySQL 树形结构 根据指定节点 获取其下属的所有子节点(包含路径上的枝干节点和叶子节点)...
查看>>