«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Руководство для начинающих по использованию привода Spring Boot

Руководство для начинающих по использованию привода Spring Boot

Опубликовано 6 августа 2024 г.
Просматривать:623

A Beginners Guide to Using Spring Boot Actuator

Spring Boot Actuator — это подпроект Spring Boot, который предоставляет готовые к использованию функции, помогающие отслеживать и управлять вашим приложением. Он предлагает набор встроенных конечных точек, которые позволяют вам получать информацию о состоянии, показателях и среде вашего приложения, а также динамически управлять им.

Что такое привод Spring Boot?

Spring Boot Actuator предоставляет несколько готовых конечных точек, которые можно использовать для мониторинга и взаимодействия с вашим приложением. Доступ к этим конечным точкам можно получить через HTTP, JMX или с помощью Spring Boot Admin.

Основные характеристики привода с пружинной загрузкой

  1. Проверка работоспособности: отслеживайте работоспособность вашего приложения и его зависимостей.
  2. Метрики: собирайте различные показатели, такие как использование памяти, сбор мусора, сведения о веб-запросах и т. д.
  3. Информация о среде: доступ к свойствам среды приложения.
  4. Информация о приложении: получение информации о сборке приложения, например версии и имени.
  5. Уровни динамического журнала: изменение уровней журнала без перезапуска приложения.
  6. Отслеживание HTTP: отслеживание HTTP-запросов.

Настройка привода Spring Boot

1. Добавление зависимости привода

Чтобы использовать Actuator в приложении Spring Boot, вам необходимо добавить зависимость Actuator в файл pom.xml:

org.springframework.bootspring-boot-starter-actuator

Если вы используете Gradle, добавьте в файл build.gradle следующее:

implementation 'org.springframework.boot:spring-boot-starter-actuator'

2. Включение конечных точек привода

По умолчанию включены только несколько конечных точек. Вы можете включить дополнительные конечные точки в файле application.yml:

management:
  endpoints:
    web:
      exposure:
        include: "*"  # This exposes all available endpoints
  endpoint:
    health:
      show-details: always  # Show detailed health information

Использование конечных точек привода

После настройки Actuator вы сможете получить доступ к различным конечным точкам, предоставляемым им. Вот некоторые часто используемые конечные точки:

1. Конечная точка здоровья

Конечная точка /actuator/health предоставляет информацию о работоспособности вашего приложения:

GET http://localhost:8080/actuator/health

Пример ответа:

{
  "status": "UP",
  "components": {
    "db": {
      "status": "UP",
      "details": {
        "database": "H2",
        "result": 1
      }
    },
    "diskSpace": {
      "status": "UP",
      "details": {
        "total": 499963174912,
        "free": 16989374464,
        "threshold": 10485760,
        "exists": true
      }
    }
  }
}

2. Конечная точка показателей

Конечная точка /actuator/metrics предоставляет различные метрики, связанные с вашим приложением:

GET http://localhost:8080/actuator/metrics

Пример ответа:

{
  "names": [
    "jvm.memory.used",
    "jvm.gc.pause",
    "system.cpu.usage",
    "system.memory.usage",
    "http.server.requests"
  ]
}

Чтобы получить подробную информацию о конкретном показателе:

GET http://localhost:8080/actuator/metrics/jvm.memory.used

Пример ответа:

{
  "name": "jvm.memory.used",
  "description": "The amount of used memory",
  "baseUnit": "bytes",
  "measurements": [
    {
      "statistic": "VALUE",
      "value": 5.1234567E7
    }
  ],
  "availableTags": [
    {
      "tag": "area",
      "values": [
        "heap",
        "nonheap"
      ]
    },
    {
      "tag": "id",
      "values": [
        "PS Eden Space",
        "PS Survivor Space",
        "PS Old Gen",
        "Metaspace",
        "Compressed Class Space"
      ]
    }
  ]
}

3. Конечная точка среды

Конечная точка /actuator/env предоставляет информацию о свойствах среды:

GET http://localhost:8080/actuator/env

Пример ответа:

{
  "activeProfiles": [],
  "propertySources": [
    {
      "name": "systemProperties",
      "properties": {
        "java.runtime.name": {
          "value": "Java(TM) SE Runtime Environment"
        },
        "java.vm.version": {
          "value": "25.181-b13"
        }
      }
    },
    {
      "name": "systemEnvironment",
      "properties": {
        "PATH": {
          "value": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
        },
        "HOME": {
          "value": "/root"
        }
      }
    }
  ]
}

4. Информация о конечной точке

Конечная точка /actuator/info предоставляет информацию о приложении:

GET http://localhost:8080/actuator/info

Чтобы настроить информацию, добавьте свойства в свое приложение.yml:

info:
  app:
    name: My Spring Boot Application
    description: This is a sample Spring Boot application
    version: 1.0.0

Закрепление конечных точек привода

По умолчанию все конечные точки Actuator доступны без аутентификации. Чтобы защитить эти конечные точки, вы можете использовать Spring Security. Добавьте зависимость Spring Security в ваш pom.xml:

org.springframework.bootspring-boot-starter-security

Обновите файл application.yml, чтобы ограничить доступ:

management:
  endpoints:
    web:
      exposure:
        include: "*"  # Expose all endpoints
  endpoint:
    health:
      show-details: always  # Show detailed health information

spring:
  security:
    user:
      name: admin  # Default username
      password: admin  # Default password

# Restrict actuator endpoints to authenticated users
management:
  endpoints:
    web:
      exposure:
        include: "*"
  endpoint:
    health:
      show-details: always
  security:
    enabled: true
    roles: ACTUATOR

Создайте класс конфигурации безопасности для настройки безопасности HTTP:

import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;

@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .authorizeRequests()
                .antMatchers("/actuator/**").hasRole("ACTUATOR")
                .anyRequest().authenticated()
            .and()
            .httpBasic();
    }
}

При такой конфигурации только прошедшие проверку подлинности пользователи с ролью ACTUATOR могут получить доступ к конечным точкам Actuator.

Настройка конечных точек привода

Вы можете создавать собственные конечные точки Actuator, чтобы предоставлять дополнительную информацию или функции, специфичные для вашего приложения. Вот пример создания пользовательской конечной точки:

import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
import org.springframework.boot.actuate.endpoint.annotation.ReadOperation;
import org.springframework.stereotype.Component;

@Endpoint(id = "custom")
@Component
public class CustomEndpoint {

    @ReadOperation
    public String customEndpoint() {
        return "Custom Actuator Endpoint";
    }
}

Доступ к вашей пользовательской конечной точке по адресу:

GET http://localhost:8080/actuator/custom

Заключение

Spring Boot Actuator предоставляет надежный набор инструментов, которые помогут вам отслеживать и управлять вашим приложением. Используя встроенные конечные точки и возможность создавать собственные конечные точки, вы можете получить ценную информацию о производительности и работоспособности вашего приложения. Защитите эти конечные точки с помощью Spring Security, чтобы гарантировать доступ только авторизованным пользователям, и у вас будет готовое к работе приложение, которым легко управлять и отслеживать.

Актуатор является неотъемлемой частью любого приложения Spring Boot, позволяя вам держать руку на пульсе среды выполнения вашего приложения и быстро реагировать на проблемы по мере их возникновения. Начните использовать Spring Boot Actuator сегодня, чтобы улучшить наблюдаемость и эксплуатационные возможности вашего приложения.

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/isaactony/a-beginners-guide-to-using-spring-boot-actuator-5g3n?1 Если есть какие-либо нарушения, пожалуйста, свяжитесь с [email protected], чтобы удалить это
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3