博客
关于我
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 problems
查看>>
mysql replace first,MySQL中处理各种重复的一些方法
查看>>
MySQL replace函数替换字符串语句的用法(mysql字符串替换)
查看>>
mysql replace用法
查看>>
Mysql Row_Format 参数讲解
查看>>
mysql select, from ,join ,on ,where groupby,having ,order by limit的执行顺序和书写顺序
查看>>
MySQL Server 5.5安装记录
查看>>
mysql server has gone away
查看>>
mysql slave 停了_slave 停止。求解决方法
查看>>
MySQL SQL 优化指南:主键、ORDER BY、GROUP BY 和 UPDATE 优化详解
查看>>
MYSQL sql语句针对数据记录时间范围查询的效率对比
查看>>
mysql sum 没返回,如果没有找到任何值,我如何在MySQL中获得SUM函数以返回'0'?
查看>>
mysql Timestamp时间隔了8小时
查看>>
Mysql tinyint(1)与tinyint(4)的区别
查看>>
mysql union orderby 无效
查看>>
mysql v$session_Oracle 进程查看v$session
查看>>
mysql where中如何判断不为空
查看>>
MySQL Workbench 使用手册:从入门到精通
查看>>
mysql workbench6.3.5_MySQL Workbench
查看>>
MySQL Workbench安装教程以及菜单汉化
查看>>