Сообщения

Показаны сообщения с ярлыком "метрики приложения"

Spring Boot Actuator: конечная точка metrics (metrics endpoint)

Изображение
Spring Boot предоставляет конечную точку metrics, которую можно использовать для диагностики, чтобы проверить метрики, собранные приложением. Конечная точка по умолчанию недоступна и должна быть открыта. При переходе к /actuator/metrics отображается список доступных имен метрик. Вы можете перейти к просмотру информации о конкретной метрике, указав ее имя в качестве селектора, например, /actuator/metrics/jvm.memory.max. Используемое здесь имя должно соответствовать имени, используемому в коде, а не имени после того, как оно было нормализовано для системы мониторинга, в которую оно отправлено. Другими словами, если jvm.memory.max отображается как jvm_memory_max в Prometheus из-за его соглашения об именовании (snake case naming convention), вы все равно должны использовать jvm.memory.max в качестве селектора при проверке счетчика в конечной точке metrics. Вы также можете добавить любое количество параметров запроса tag=KEY:VALUE в конец URL-адреса для детальной размерности по метрике, ...

Spring Boot Actuator: настройка индивидуальных метрик

Изображение
Если вам нужно применить настройки к конкретным экземплярам Meter, вы можете использовать интерфейс io.micrometer.core.instrument.config.MeterFilter. По умолчанию все компоненты MeterFilter будут автоматически применяться к micrometer MeterRegistry.Config. Например, если вы хотите переименовать тег mytag.region в mytag.area для всех идентификаторов метрик, начиная с com.example, вы можете сделать следующее: @Bean public MeterFilter renameRegionTagMeterFilter() { return MeterFilter.renameTag("com.example", "mytag.region", "mytag.area"); } Общие теги Общие теги обычно используются для детализации измерений в операционной среде, такой как host, instance, region, stack и т. д. Общие теги применяются ко всем метрикам и могут быть настроены, как показано в следующем примере: management.metrics.tags.region=us-east-1 management.metrics.tags.stack=prod В приведенном выше примере теги region и stack добавляются ко всем метрикам со значениями us-e...

Spring Boot Actuator: регистрация пользовательских метрик

Изображение
Чтобы зарегистрировать пользовательские метрики, добавьте MeterRegistry в свой компонент, как показано в следующем примере: class Dictionary { private final List words = new CopyOnWriteArrayList (); Dictionary(MeterRegistry registry) { registry.gaugeCollectionSize("dictionary.size", Tags.empty(), this.words); } // … } Если вы обнаружите, что неоднократно применяете набор метрик для компонентов или приложений, вы можете инкапсулировать этот набор в реализацию MeterBinder. По умолчанию метрики всех компонентов MeterBinder будут автоматически привязаны к управляемому Spring MeterRegistry. Читайте также: Spring Boot Actuator: метрики Spring Boot Actuator: поддерживаемые метрики Spring Boot Actuator: Spring MVC метрики

Spring Boot Actuator: Cache, DataSource, Hibernate, RabbitMQ метрики

Изображение
Метрики кэша Автоконфигурация включает инструментарий всех доступных кэшей при запуске с метриками с префиксом cache. Инструментарий кэширования стандартизирован для базового набора показателей. Дополнительные, специфичные для кэша метрики также доступны. Поддерживаются следующие библиотеки кэша: Caffeine EhCache 2 Hazelcast Любая совместимая реализация JCache (JSR-107) Метрики помечаются именем кэша и именем CacheManager, которое получено из имени компонента. Только кэши, настроенные при запуске, привязаны к реестру. Для кэшей, не определенных в конфигурации кэша, например кэши, созданные на лету или программно после фазы запуска, требуют явной регистрации. Для облегчения этого процесса доступен компонент CacheMetricsRegistrar. DataSource метрики Автоконфигурирование обеспечивает инструментирование всех доступных объектов DataSource с метриками с префиксом jdbc.connections. Инструментарий источника данных приводит к тому, что датчики представляют текущие, незанятые, максим...

Spring Boot Actuator: метрики HTTP клиента

Изображение
Spring Boot Actuator управляет инструментарием как RestTemplate, так и WebClient. Для этого вам нужно внедрить автоматически настроенный компоновщик (builder) и использовать его для создания экземпляров: RestTemplateBuilder для RestTemplate WebClient.Builder для WebClient Также можно вручную применить настройщики, отвечающие за эту инструментацию, а именно MetricsRestTemplateCustomizer и MetricsWebClientCustomizer. По умолчанию метрики создаются с именем http.client.requests. Имя можно настроить, установив свойство management.metrics.web.client.request.metric-name. По умолчанию метрики, генерируемые инструментированным клиентом, помечаются следующей информацией: Тег Описание exception Простое имя класса любого исключения, которое было сгенерировано при обработке запроса. method Метод запроса (например, GET или POST) outcome Результат запроса на основе кода состояния ответа. 1xx - INFORMATIONAL, 2xx - SUCCESS, 3xx - REDIRECTION, 4xx CLIENT_ERROR и 5xx - SERVER_ER...

Spring Boot Actuator: Spring WebFlux метрики

Изображение
Автоконфигурирование позволяет инструментировать запросы, обрабатываемые WebFlux контроллерами и функциональными обработчиками. По умолчанию метрики создаются с именем http.server.requests. Имя можно настроить, установив свойство management.metrics.web.server.request.metric-name. По умолчанию метрики, связанные с Spring WebFlux, помечены следующей информацией: Тег Описание exception Простое имя класса любого исключения, которое было сгенерировано при обработке запроса. method Метод запроса (например, GET или POST) outcome Результат запроса на основе кода состояния ответа. 1xx - INFORMATIONAL, 2xx - SUCCESS, 3xx - REDIRECTION, 4xx CLIENT_ERROR и 5xx - SERVER_ERROR. status HTTP-код статуса ответа (например, 200 или 500) uri Если возможно, шаблон URI запроса до замены переменной (например, /api/person/{id}) Чтобы настроить теги, предоставьте @Bean, который реализует WebFluxTagsProvider. Читайте также: Spring Boot Actuator: метрики Spring Boot Actuator: п...

Spring Boot Actuator: Spring MVC метрики

Изображение
Автоконфигурирование позволяет инструментировать запросы, обрабатываемые Spring MVC. Если для параметра management.metrics.web.server.request.autotime.enabled задано значение true, этот инструментарий выполняется для всех запросов. В качестве альтернативы, если установлено значение false, вы можете включить инструментарий, добавив @Timed к методу обработки запросов: @RestController @Timed // 1 public class MyController { @GetMapping("/api/people") @Timed(extraTags = { "region", "us-east-1" }) // 2 @Timed(value = "all.people", longTask = true) // 3 public List listPeople() { ... } } 1 - Класс контроллера для включения таймингов на каждом обработчике запросов в контроллере. 2 - Метод для включения для отдельной конечной точки. В этом нет необходимости, если он есть в классе, но его можно использовать для дальнейшей настройки таймера для этой конкретной конечной точки. 3 - Метод с longTask = true, чтобы включить тай...

Spring Boot Actuator: поддерживаемые метрики

Изображение
Spring Boot регистрирует следующие основные метрики, когда это применимо: Метрики JVM, отчеты использования: Различной памяти и буферных пулов Статистика, связанная со сборкой мусора Использование потоков Количество загруженных/выгруженных классов Метрика процессора Метрики дескриптора файла Метрики потребителей Kafka (поддержка JMX должна быть включена) Метрики Log4j2: записывает количество событий, зарегистрированных в Log4j2 на каждом уровне Метрики Logback: записывает количество событий, зарегистрированных в Logback на каждом уровне Метрики времени безотказной работы: указание показателя времени безотказной работы и фиксированного показателя, отображающего абсолютное время запуска приложения Метрики Tomcat (server.tomcat.mbeanregistry.enabled должен иметь значение true для всех регистрируемых метрик Tomcat) Метрики Spring Integration Читайте также: Spring Boot Actuator: метрики Spring Boot Actuator: мониторинг и управление по HTTP Spring Boot Actuator: монит...