返回 导航

SpringBoot / Cloud

hangge.com

SpringBoot - Actuator应用监控使用详解5(info端点:应用信息展示)

作者:hangge | 2020-02-18 08:10
   应用信息就是通过 /actuator/info 接口获取到的信息,主要包含三大类:自定义信息、Git 信息、以及项目构建信息,下面分别进行介绍。

九、应用信息配置

1,自定义信息

(1)自定义信息可以在 application.properties 配置文件中添加,这些以 info 开头的信息将在 info 端点中显示出来:
注意${...} 表示引用 pom.xml 中变量(properties 节点下)。
info.build.version=${java.version}
info.author.name=hangge
info.author.email=service@hangge.com

(2)我们也可以通过 Java 代码自定义信息,只需要将自定义类继承自 InfoContributor,然后实现该类中的 contribute 方法即可:
@Component
public class MyInfo implements InfoContributor {
    @Override
    public void contribute(Info.Builder builder) {
        Map<String, String> info = new HashMap<>();
        info.put("name", "航歌");
        info.put("email", "service@hangge.com");
        builder.withDetail("author", info);
    }
}

2,Git 信息

    Git 信息是指 Git 提交信息,当 classpath 下存在一个 git.properties 文件时,Spring Boot 会自动配置一个 GitProperties Bean。开发者可以通过 Git 插件自动生成 Git 提交信息,然后将这些展示在 info 端点中。

(1)首先进入项目目录下,依次执行如下命令初始化 Git 仓库并且提交代码到本地仓库:
git init
git add .
git commit -m "首次提交"

(2)Git 提交完成后,在 pom.xml 中添加如下插件:
<plugin>
    <groupId>pl.project13.maven</groupId>
    <artifactId>git-commit-id-plugin</artifactId>
</plugin>

(3)插件添加成功后,在 IntelliJ IDEA 中单击 Maven Project,找到该插件,单击“git-commit-id:revision”按钮,生成 Git 提交信息:

(4)Git 提交信息生成成功后,在当前项目的 target/classes 目录下会看到一个 git.properties 文件,打开里面就是 Git 的提交信息。基本上所有 Git 提交信息都在这里面,如分支、提交的版本号、提交的 message、提交的用户、用户邮箱等。

(5)最后在 application.properties 中添加如下配置,表示展示所有的 Git 提交信息。
注意management.info.git.mode 的取值还可以是 simple,表示只展示一部分核心提交信息。
management.info.git.mode=full

(6)重启项目,访问 info 端点,可以看到所有的 Git 提交信息都展示出来了。

3,项目构建信息

    如果 classpath 下存在 META-INF/build-info.propterties 文件,Spring Boot 将自动构建 BuildProperties Bean,然后 info 端点会发布 build-info.properties 文件中的信息。build-info.properties 文件可以通过插件自动生成,具体操作步骤如下:

(1)在 IntelliJ IDEA 中单击 Maven Project,找到 spring-boot 插件,单击“spring-boot:build-info”按钮,生成构建信息:

(2)构建信息生成成功后,在当前项目目录下的 target/classes/META-INF 目录下生成了一个 build-info.properties 文件,内容如下: 

(3)重启项目,访问 info 端点,可以看到构建信息将被自动发布:
评论

全部评论(0)

回到顶部