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"
}
}
Читайте также:
- Spring Boot Actuator: информация о работоспособности (health endpoint)
- Spring Boot Actuator: автоконфигурируемые HealthIndicators
- Spring Boot Actuator: написание пользовательских HealthIndicators
Комментарии
Отправить комментарий