Основной особенностью Spring Boot является AutoConfig (автоматическая конфигурация), и для пользователей для нас это всего лишь различные стартеры.
Spring Boot-Actuator также предоставляет стартер, который автоматически настроен для нас. С точки зрения использования, нам нужно только добавить стартер в наши зависимости, а затем начать проект.
<Depeication> <groupid> org.springframework.boot </GroupID> <ArtifactId> Spring-Boot-Starter-Actuator </artifactid> </depervice>
Обычно используется конечная точка
Spring Boot-Actuator предоставляет много полезных конечных точек и обеспечивает различный мониторинг приложений Spring Boot. Давайте поговорим о моих часто используемых конечных точках:
/Статус здоровья в области здравоохранения
/configprops Получите информацию о конфигурации приложения, потому что Spring Boot может быть отдельным пакетом JAR, когда она опубликована, а файл конфигурации может быть включен. Когда нам нужно проверить файл конфигурации, мы можем использовать ConfigPropSendPoint, чтобы увидеть, правильны ли некоторые конфигурации.
/проследить последнюю информацию о HTTP -запросе
Healthendpoint
Когда мы посещаем http: // localhost: 8088/Health, мы видим, что HealthendPoint предоставляет нам результаты мониторинга по умолчанию, включая обнаружение дисков и обнаружение базы данных.
{"Статус": "UP", "Diskspace": {"status": "up", "total": 398458875904, "бесплатно": 315106918400, "Threshold": 10485760}, "DB": {"": "up", "DataBase": "MySQL", "hell": 1 ": 1": 1 ": 1": 1 ": 1": 1 ": 1:". На самом деле, глядя на исходный код Spring Boot-Actuator, вы обнаружите, что информация, предоставленная HealthendPoint, не ограничивается этим. В рамках пакета org.springframework.boot.actuate.health вы найдете ElasticsearchHealthIndicator, RedishealthIndicator, RabbitealthIndicator и т. Д.
То есть HealthendPoint также предоставляет медицинскую информацию для таких компонентов, как ES, Redis.
Пользовательский индикатор расширяется
Посмотреть на исходный код, информация о медицинской помощи диска и базы данных реализована DiskSpaceHealthIndicator и DataSourceHealthIndicator. Когда мы отслеживаем некоторые из наших индивидуальных компонентов, мы также можем реализовать индикатор:
@ComponentPublic Class Пользователь реализует HealthIndicator {/** * Доступ к мониторингу пользователя: http: // localhost: 8088/health * * @return Custom Health Monitor */@Override Public Health () {return New Health.Builder (). "up"). up (). build (); }}В настоящее время мы посещаем еще раз: http: // localhost: 8088/Health. Результат, возвращенный в настоящее время, заключается в следующем, включая нашу индивидуальную информацию о здоровье пользователей.
{«Статус»: «UP», «Пользователь»: {«Статус»: «UP», «USERCOUNT»: 10, «USERSTATUS»: «UP»}, «Diskspace»: {«Статус»: «UP», «Total»: 398458875904, «бесплатно»: 31509989120, «Threshold»: 10487660 »,« Free »:« 31509989120 »,« Threshold »:« Free »:« Free ». «Статус»: «вверх», «База данных»: «MySQL», «Привет»: 1}}Пользовательская конечная точка
Фактически, в дополнение к расширению точки HealthendPoint, чтобы добавить некоторые проверки здоровья, мы также можем настроить некоторые конечные точки, чтобы предоставить некоторый информационный дисплей во время выполнения программы:
@Configurationpublic class endpointautoconfig {@bean public endpoint <map <string, object >> customendpoint () {return new SystemendPoint (); }}@ConfigurationProperties (prefix = "endpoints.customsystem") public class systemendpoint extends AbstractendPoint <map <string, object >> {public SystemEndPoint () {super ("CustomSystem"); } @Override public map <string, object> invoke () {map <string, object> result = new hashmap <> (); Map <string, string> map = system.getenv (); result.put ("имя пользователя", map.get ("имя пользователя")); result.put ("computername", map.get ("computername")); result.put ("userdomain", map.get ("userdomain")); результат возврата; }}Посетите http: // localhost: 8088/customsystem, чтобы просмотреть нашу индивидуальную конечную точку, и результат заключается в следующем:
{"username": "xxx", "userdomain": "Desktop-6ean1h4", "Computername": "Desktop-6ean1h4"}}После того, как мы добавим привод к нашему приложению Spring Boot, ожидаемый интерфейс здоровья возвращает результат, что должно быть что -то вроде следующего:
{Статус: «UP», Diskspace: {Status: «up», Total: 250182889472, бесплатно: 31169568768, порог: 10485760}, DB: {статус: «Up», база данных: «H2», Hello: 1}}}}}}}}}}}}}}}}}}}}}}}}}Если он только что возвращен статус
{status: "up"}Вам нужно добавить новую конфигурацию для приложения. Принимая файл конфигурации YML в качестве примера, вам необходимо добавить следующую конфигурацию:
Управление: Безопасность: включено: falseendpoints: Health: чувствительно: False
Management.endpoint.health.show-details = всегда
Суммировать
Выше приведено, что проверка здоровья и мониторинг проекта внедрения Springboot, представленная редактором. Я надеюсь, что это будет полезно для всех. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит всем вовремя. Большое спасибо за вашу поддержку сайту wulin.com!