SpringBoot生产级特性简单总结

一:环境准备.

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

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

   SpringBoot框架的版本:1.5.10.RELEASE.

    安装完截图如下

2. Maven依赖添加.

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
		</dependency>

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

endpoints.metrics.enabled=true

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

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

management.security.enabled=false

5. 然后重新启动程序.

上面包含了大量性能指标信息,包括内存,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

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

endpoints.metrics.path=/endpoints/metrics

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

autoconfig          获取自动配置的信息.

beans     获取Spring Bean基本信息.

configprops :       获取配置项信息.

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

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

health:              获取检查检查信息.

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的配置项.

info.app.name=@project.name@
info.app.description=@project.description@
info.app.version=@project.version@

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

浏览器访问如下:

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

trace:                 获取请求调用信息.

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

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

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

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-hateoas</artifactId>
		</dependency>

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

 

 禁用actuator端点.

endpoints.actuator.enabled=false

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

		<dependency>
			<groupId>org.webjars</groupId>
			<artifactId>hal-browser</artifactId>
		</dependency>

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

 

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

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-actuator-docs</artifactId>
		</dependency>

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

例如: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前缀。

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大道之简

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值