探索Admin服务器

在将所有的Spring Boot应用注册为Admin服务器的客户端之后,就可以使用Admin服务器得到运行中应用的大量信息,包括:

  • 通用的健康信息;

  • 通过Micrometer和“/metrics”端点发布的所有指标;

  • 环境属性;

  • 包和类的日志级别。

实际上,几乎Actuator暴露的所有内容都可以通过Admin服务器来查看。它的展现形式更加人性化,包括了图表和钻取信息的过滤器。Admin服务所展现的信息要比本章中列出的多得多,限于篇幅,本节着重介绍一些Admin服务器的亮点功能。

查看应用基本的健康状况和信息

正如第15章所提到的那样,Actuator会通过“/health”和“/info”端点提供应用的健康状况和基本信息。Admin服务器在Details选项卡下展现了这些信息,如图16.4所示。

image 2024 03 14 15 33 22 385
Figure 1. 图16.4 Spring Boot Admin UI的Details选项卡展现了应用的健康状况和基本信息

在Details选项卡的Info和Health下方,可以看到一些来自应用JVM的统计信息,包括展现处理器、线程和内存使用的图表,如图16.5所示。

图表中所展现的信息和Processes、Garbage Collection Pauses下面的指标,可以为我们提供关于应用如何使用JVM资源的有用信息。

image 2024 03 14 15 33 58 907
Figure 2. 图16.5 在Details选项卡中下方将会看到额外的JVM内部信息,包括处理器、线程和内存统计数据

观察核心指标

在Actuator的所有端点中,“/metrics”端点所提供的信息可能最不易读了。借助Admin服务器Metrics选项卡下的UI界面,我们可以很容易地消费应用所生成的指标数据。

在开始的时候,Metrics选项卡并不会展示任何指标。借助页面顶部的表单,我们能够设置想要查看的一个或多个指标,如图16.6所示。

在图16.6中,我们监视了http.server.requests分类的两个指标:第一个报告展现了发往“/ingredients”端点的HTTP GET请求,并且要求返回状态为200(OK);第二个报告展现了所有产生HTTP 404 (NOT FOUND)响应的请求。

关于这些指标,非常棒的一点在于,这里所展示的是实时数据,会自动更新,无须我们刷新页面(这几乎适用于Admin服务器展现的所有内容)。

image 2024 03 14 15 34 47 756
Figure 3. 图16.6 在Metrics选项卡下,我们可以监视应用的“/metrics”端点发布的所有指标

探查环境属性

Actuator的“/env”端点能够返回Spring Boot应用的所有可用环境变量,这些环境变量来源于各种属性源。尽管API端点的JSON格式响应并不难读,但Admin服务器在Environment选项卡下会以更美观的形式展现,如图16.7所示。

image 2024 03 14 15 35 17 401
Figure 4. 图16.7 Environment选项卡展现了环境属性,并且包含了重写和过滤值的选项

这里可能会有数百个属性,所以可以使用属性名或值对可用属性进行过滤。图16.7展现了根据属性名或值包含“spring.”进行过滤后的属性列表。通过页面顶部的Environment Manager表单,Admin服务器还允许我们设置或重写环境属性。

查看和设置日志级别

Actuator的“/loggers”端点对于我们理解或重写运行中应用的日志级别非常有用。Admin服务器的Loggers选项卡基于“/loggers”端点提供了一个非常易于使用的UI页面,进一步简化了应用中的日志管理操作。图16.8展现了根据org.springframework.boot名称过滤后的loggers。

image 2024 03 14 15 36 30 307
Figure 5. 图16.8 Loggers选项卡会展示应用中包和类的日志级别,并且允许我们重写它们的级别

默认情况下,Admin服务器会展现所有包和类的日志级别。它们可以通过名称(仅限于类)或显式配置的日志级别来过滤(不支持过滤由根logger继承来的级别)。