Spring Boot Actuator: информация о приложении (info endpoint)

Информация о приложении предоставляет различную информацию, собранную из всех компонентов InfoContributor, определенных в вашем ApplicationContext. Spring Boot включает в себя несколько автоматически настраиваемых компонентов InfoContributor, и вы можете написать свой собственный.

Автоконфигурированные InfoContributors

Следующие компоненты InfoContributor автоматически настраиваются Spring Boot, когда это необходимо:

Название Описание
EnvironmentInfoContributor
Предоставляет любой ключ из Environment под info ключом.
GitInfoContributor
Предоставляет информацию о git, если файл git.properties доступен.
BuildInfoContributor
Предоставляет информацию о сборке, если доступен файл META-INF/build-info.properties.

Их можно отключить, установив свойство management.info.defaults.enabled.

Настраиваемая информация о приложении

Вы можете настроить данные, предоставляемые конечной точкой info, установив info.* свойства Spring. Все свойства среды под info ключом выставляются автоматически. Например, вы можете добавить следующие параметры в ваш файл application.properties:

info.app.encoding=UTF-8
info.app.java.source=1.8
info.app.java.target=1.8

Вместо жесткого кодирования этих значений вы также можете расширить свойства info во время сборки.

Предполагая, что вы используете Maven, вы можете переписать предыдущий пример следующим образом:

info.app.encoding=@project.build.sourceEncoding@
info.app.java.source=@java.version@
info.app.java.target=@java.version@

Информация о git коммитах

Еще одна полезная функция конечной точки info - это возможность публиковать информацию о состоянии вашего git репозитория исходного кода при создании проекта. Если доступен компонент GitProperties, будут доступны свойства git.branch, git.commit.id и git.commit.time.

Компонент GitProperties автоматически настраивается, если в корневом каталоге пути к файлу доступен файл git.properties.

Если вы хотите отобразить полную информацию о git (то есть полное содержимое git.properties), используйте свойство management.info.git.mode следующим образом:

management.info.git.mode=full

Информация о сборке

Если доступен компонент BuildProperties, конечная точка info также может публиковать информацию о вашей сборке. Это происходит, если в пути к классам доступен файл META-INF/build-info.properties.

Плагины Maven и Gradle могут генерировать этот файл.

Написание пользовательских InfoContributors

Чтобы предоставить пользовательскую информацию о приложении, вы можете зарегистрировать компоненты Spring, которые реализуют интерфейс InfoContributor.

В следующем примере добавляется пример записи с одним значением:

import java.util.Collections;

import org.springframework.boot.actuate.info.Info;
import org.springframework.boot.actuate.info.InfoContributor;
import org.springframework.stereotype.Component;

@Component
public class ExampleInfoContributor implements InfoContributor {

    @Override
    public void contribute(Info.Builder builder) {
        builder.withDetail("example",
                Collections.singletonMap("key", "value"));
    }

}

Если вы достигнете конечной точки info, вы должны увидеть ответ, который содержит следующую дополнительную запись:

{
    "example": {
        "key" : "value"
    }
}


Читайте также:


Комментарии

Популярные сообщения из этого блога

Методы класса Object в Java

Как получить текущий timestamp в Java

Основные опции JVM для повышения производительности и отладки