微服务学习SpringCloud之actuator 强大的端点技术

写在前面:后续的文章都是基于第一篇文章进行更新,我是按照SpringCloud学习顺序进行文章编写,因为项目只有一个项目,需要了解SpringCloud前面skill的可以看一下前面SpringCloud体系。     

对于这个组件上面一篇文章提到了一点,这是属于springboot的技术栈。

再我们启动eureka的时候,控制台会出现

这个图中显示了一批端点定义,这些端点不是我们程序中创建出来的,而是由spring-boot-starter-actuator模块根据应用依赖和配置自动创建出来的监控和管理端点。通过这些端点,我们可以实时获取应用的各项监控指标,比如访问/health端点。

{"description":"Spring Cloud Eureka Discovery Client","status":"UP"}

这个结构在引入其他依赖之前,该端点的内容比较简单,随着组件的添加,他会变得非常的丰富。这些内容将为我们制定更为个性化的监控策略。

}

在我们的开发工具中也可以看到这些端点,具体操作如下

从中找到我的/health端点,并使用浏览器访问它(找到之后会有一个在浏览器打开的东西,不需要手动访问的)

端点的东西有点多,不同的组件有不同的端点。比较实用的端点:

/metrics:该端点用来返回当前应用的各类重要度量指标,比如内存信息,线程信息,垃圾回收信息等。

 

一些返回数据的介绍

 

 

 

 

对于gauge.*和counter.*的统计,这里有一个特殊的内容请求star-star,它代表了对静态资源的访问。这两类度量指标非常有用,我们不仅可以使用它默认的统计指标,还可以在程序中轻松地增加自定义统计值。只需要通过注入org.springframework.boot.actuate.metrics.CounterService和org.springframework.boot.actuate.metrics.GaugeService来自定义统计计量标准信息。比如我们可以像下面这样自定义实现对list接口的访问次数统计。

实例测试如下:

通过访问端点方式获取相关信息

返回的结果:

这个时候报了一个权限问题401

然后查了一些资料,原来是spring监控/beans等一些信息时会对一些数据敏感,做了拦截

处理如下

在eureka模块添加application.properties

配置内容如下:

我一开始尝试了yml的配置方式,但是没有效果,暂时没有使用yml直接加了properties。结果如下:

除此还有其他的一些端点。

/beans :该端点用来获取应用上下文中创建的所有Bean,每个bean都包含了名称,作用域,Java类型,class文件的具体路径,依赖的bean名称

/configprops: 该端点用来获取应用中配置的属性信息报告。

/env:  该端点与/configgrops不同,它用来获取应用所有可用的环境属性报告。包括环境变量,jvm属性,命令行中的参数

/mappings: 该端点用来返回所有SpringMvc的控制器映射关系报告。

/infos: 该端点用来返回一些应用自定义的信息。默认返回空jsob内容可以在application.properties的通过info的前缀设置一些属性,比如

info.app.name=spring-boot-hello再次访问我们可以得到这个内容的报告

度量指标类

/metrics:上文已经介绍过。

/health:  获取应用的各类健康指标信息。

/dump;  用来暴露程序中的线程信息。

/trace:  该端点用来返回基本的Http跟踪信息

操作控制类

/shutdown :关闭应用的端点

当然这些端点技术不需要我们完全掌握,用的时候可以过来查阅这些资料。结合实际项目去使用。

附上一张从网上找的图。具体使用请参阅官方文档

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值