SpringCloud(5)之actuator与信息完善

SpringCloud(5)之actuator与信息完善

微信搜索 zze_coding 或扫描 👉 二维码关注我的微信公众号获取更多资源推送:

上面我们通过访问 Eureka 的 Web 页看到如下界面:

image.png

服务名称修改

该界面是描述的是有哪些 Eureka 客户端实例注册到了当前 Eureka 服务端,说明如下:

  • Application 栏对应工程配置中的 spring.application.name 属性,即说明这个客户端是属于哪个工程。
  • 而 Status 栏则表示相应 Eureka 客户端实例的标识,可以通过 eureka.instance.instance-id 属性进行修改。

IP 信息提示

Status 栏所显示的实例名称是可以点击的,它所跳转的页面为 随机域名:端口/info ,如下:

image.png

如果我们希望将这个地址的随机域名改为 IP 地址,则可以在配置文件中修改 eureka.instance.prefer-ip-address 属性值为 true 实现:

image.png

Info 内容构建

为方便我们使用,Eureka 允许我们通过点击客户端实例访问实例的详细信息,对应路径为 /info ,但我们访问时会发现会返回 404 如下:

image.png

其实 SpringBoot 本身提供的监控功能就可以帮我们解决这个问题,需要在客户端工程中引入监控相关依赖:

<!--监控信息-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

使用 Maven 资源插件,让项目属性加载到项目环境变量中:

<build>
    <finalName>microservicecloud</finalName>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
    </resources>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <configuration>
                <delimiters>
                    <delimit>$</delimit>
                </delimiters>
            </configuration>
        </plugin>
    </plugins>
</build>

接着我们就可以在客户端配置文件中添加 info 相关配置,例如:

info:
  host: ${java.rmi.server.hostname}
  port: ${server.port}
  app.name: microservicecloud-provider-dept-8001
  build.artifactId: ${project.artifactId}
  build.version: ${project.version}

重启客户端程序,重新访问 /info
image.png

Copyright: 采用 知识共享署名4.0 国际许可协议进行许可

Links: https://www.zze.xyz/archives/springcloud5.html

Buy me a cup of coffee ☕.