SpringBoot生产级特性简单总结

一:环境准备.

   1. Chrome浏览器,JSONView插件,SpringBoot框架,Maven.

    JSONView插件的安装:安装教程.(用于美化Json输出的).

   SpringBoot框架的版本:1.5.10.RELEASE.

    安装完截图如下SpringBoot生产级特性简单总结_第1张图片

2. Maven依赖添加.

		
			org.springframework.boot
			spring-boot-starter-actuator
		

 3. application.properties中添加如下:(开启性能指标)这个其实是actuator插件默认包含的,并且开启的.

endpoints.metrics.enabled=true

4. 启动SpringBoot程序,然后浏览器访问如下.(我修改的端口是8082)

SpringBoot生产级特性简单总结_第2张图片

发现访问异常了.阅读错误提示信息发现是,访问授权的问题.在application.properties中将管理授权关闭了,默认是开启的.

management.security.enabled=false

5. 然后重新启动程序.

SpringBoot生产级特性简单总结_第3张图片

上面包含了大量性能指标信息,包括内存,CPU,Java堆,线程,Java类,JVM垃圾回收,HTTP会话.

     5.1 关闭metrics端点.

endpoints.metrics.enabled=false

   5.2 关闭所有端点,仅开启metrics端点.

endpoints.enabled=false
endpoints.metrics.enabled=true

  5.3 修改metrics端点的名称.

  

endpoints.metrics.id=testmetrics

SpringBoot生产级特性简单总结_第4张图片

SpringBoot生产级特性简单总结_第5张图片

5.4:修改metrics端点的请求路径.

endpoints.metrics.path=/endpoints/metrics

SpringBoot生产级特性简单总结_第6张图片

6. SpringBoot的Actuator插件提供了如下端点信息.

autoconfig          获取自动配置的信息.

SpringBoot生产级特性简单总结_第7张图片

beans     获取Spring Bean基本信息.

SpringBoot生产级特性简单总结_第8张图片

configprops :       获取配置项信息.

SpringBoot生产级特性简单总结_第9张图片

dump:         获取当前线程基本信息.

SpringBoot生产级特性简单总结_第10张图片

env:       获取当前的环境变量信息.

SpringBoot生产级特性简单总结_第11张图片

health:              获取检查检查信息.

SpringBoot生产级特性简单总结_第12张图片

info:                获取应用基本信息.

由于没有配置应用的基本信息,所以是空的.配置的方式如下.

     方式一:(不推荐使用)

     application.propertie或者是application.yml中手动静态配置(弊端是静态的.)

info.app.name=myvideo
info.app.description=Video project for Spring Boot
info.app.version=0.0.1-SNAPSHOT

   浏览器访问:

  方式二  读取Maven的pom.xml文件.既然在pom.xml中已经配置了应用的名称,描述,版本信息.读取显示就可以了嘛.(推荐使用)

info.app.name=${project.name}
info.app.description=${project.description}
info.app.version=${project.version}

浏览器访问:

 

Maven的资源过滤特性默认是${},由于SpringBoot扩展了properties文件的功能,可通过${}分隔符引用已定义的配置项,SpringBoot和Maven资源过滤特性使用到了相同的占位符,出现了冲突嘛,SpringBoot将${}修改为@@格式,同时也禁用了默认的Mayen资源过滤占位符.所以使用@@来获取Maven的配置项.

[email protected]@
[email protected]@
[email protected]@

如何访问的效果是 name: "@project.name@"说明你修改过了Maven的pom.xml文件,手动Reimport即可读取最新的pom.xml

SpringBoot生产级特性简单总结_第13张图片

浏览器访问如下:

mappings:获取请求映射基本信息.

SpringBoot生产级特性简单总结_第14张图片

trace:                 获取请求调用信息.

SpringBoot生产级特性简单总结_第15张图片

7. 查看SpringBoot给我们提供了哪些端点?

 使用HATEOAS插件.它可以汇总端点信息,包括各个端点的名称与链接.

 使用HATEOAS插件,Maven添加依赖.

		
			org.springframework.boot
			spring-boot-starter-hateoas
		

 这个时候我们就拥有了actuator端点了.

 SpringBoot生产级特性简单总结_第16张图片

SpringBoot生产级特性简单总结_第17张图片

 禁用actuator端点.

endpoints.actuator.enabled=false

8. 使用HAL bROWSER图形化工具,更好地查看端点信息.

		
			org.webjars
			hal-browser
		

 这个时候浏览器访问站点.(非常漂亮的图形界面)

 SpringBoot生产级特性简单总结_第18张图片

9. 进一步了解Actuator,开启Actuator插件.

		
			org.springframework.boot
			spring-boot-actuator-docs
		

SpringBoot生产级特性简单总结_第19张图片

如果有些端点不能访问可能是框架为了安全就不暴露这么多的端点了.

例如:Spring Boot 2.x(这里是2.1.5)的Actuator只暴露了health和info端点,其它的一堆怎么也打不开.

在:management.endpoints.web.exposure.include= 指定要暴露的端点就可以的.例如配置案例如下:

# 暴露监控端点
management:
  # 设置监控端口
  server:
    port: 8863
  endpoints:
    # 设置端点是否可用 默认只有shutdown可用
    enabled-by-default: true
    web:
      exposure:
        # 暴露所有端点
        include: "*"
        # 排除beans端点
        exclude: beans
  # 监控单个端点      
  endpoint:
    health:
      show-details: always

在使用SpringCloud微服务框架的时候,要查看断路器Hystrix的状态:(如果不配置监控单个端点就只是看到系统的状态)同时访问url要配置一下actuator前缀。

SpringBoot生产级特性简单总结_第20张图片

SpringBoot生产级特性简单总结_第21张图片

至此SpringBoot1.5.X和SpringBoot2.x的Actuator监控简单介绍至此了。

你可能感兴趣的:(SpringBoot框架)