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

AppOptics

По умолчанию реестр AppOptics периодически отправляет метрики в api.appoptics.com/v1/measurements. Чтобы экспортировать метрики в SaaS AppOptics, необходимо предоставить свой токен API:

management.metrics.export.appoptics.api-token=YOUR_TOKEN 

Atlas

По умолчанию метрики экспортируются в Atlas, работающий на вашем локальном компьютере. Расположение сервера Atlas для использования может быть предоставлено с помощью:

management.metrics.export.atlas.uri=https://atlas.example.com:7101/api/v1/publish

Datadog

Реестр Datadog периодически передает метрики в datadoghq. Чтобы экспортировать метрики в Datadog, необходимо предоставить ваш ключ API:

management.metrics.export.datadog.api-key=YOUR_KEY

Вы также можете изменить интервал отправки метрик в Datadog:

management.metrics.export.datadog.step=30s

Dynatrace

Реестр Dynatrace периодически передает метрики в настроенный URI. Для экспорта метрик в Dynatrace необходимо предоставить свой токен API, идентификатор устройства и URI:

management.metrics.export.dynatrace.api-token=YOUR_TOKEN
management.metrics.export.dynatrace.device-id=YOUR_DEVICE_ID
management.metrics.export.dynatrace.uri=YOUR_URI

Вы также можете изменить интервал отправки метрик в Dynatrace:

management.metrics.export.dynatrace.step=30s

Elastic

По умолчанию метрики экспортируются в Elastic на вашем локальном компьютере. Расположение сервера Elastic для использования можно указать с помощью следующего свойства:

management.metrics.export.elastic.host=https://elastic.example.com:8086

Ganglia

По умолчанию метрики экспортируются в Ganglia, работающий на вашем локальном компьютере. Хост сервера и порт Ganglia для использования могут быть предоставлены с использованием:

management.metrics.export.ganglia.host=ganglia.example.com
management.metrics.export.ganglia.port=9649

Graphite

По умолчанию метрики экспортируются в Graphite на вашем локальном компьютере. Хост и порт сервера Graphite для использования могут быть предоставлены с использованием:

management.metrics.export.graphite.host=graphite.example.com
management.metrics.export.graphite.port=9004

Микрометр предоставляет HierarchicalNameMapper по умолчанию, который определяет, как идентификатор dimensional meter отображается на плоские иерархические имена.

Чтобы взять под контроль это поведение, определите свой GraphiteMeterRegistry и укажите свой собственный HierarchicalNameMapper. Предоставляются автоматически настроенные компоненты GraphiteConfig и Clock, если вы не определите свой собственный:

@Bean
public GraphiteMeterRegistry graphiteMeterRegistry(GraphiteConfig config, Clock clock) {
    return new GraphiteMeterRegistry(config, clock, MY_HIERARCHICAL_MAPPER);
}

Humio

По умолчанию реестр Humio периодически отправляет метрики в cloud.humio.com. Для экспорта метрик в SaaS Humio необходимо предоставить свой токен API:

management.metrics.export.humio.api-token=YOUR_TOKEN

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

management.metrics.export.humio.tags.alpha=a
management.metrics.export.humio.tags.bravo=b

Influx

По умолчанию метрики экспортируются в Influx, работающий на вашем локальном компьютере. Расположение сервера Influx для использования может быть предоставлено с помощью:

management.metrics.export.influx.uri=https://influx.example.com:8086

JMX

Micrometer обеспечивает иерархическое отображение JMX, прежде всего, как дешевый и портативный способ локального просмотра метрик. По умолчанию метрики экспортируются в домен метрик JMX. Используемый домен может быть предоставлен с использованием:

management.metrics.export.jmx.domain=com.example.app.metrics

Micrometer предоставляет HierarchicalNameMapper по умолчанию, который определяет, как идентификатор dimensional meter отображается на плоские иерархические имена.

Чтобы взять под контроль это поведение, определите свой JmxMeterRegistry и укажите свой собственный HierarchicalNameMapper. Предоставляются автоматически настроенные компоненты JmxConfig и Clock, если вы не определите свой собственный:

@Bean
public JmxMeterRegistry jmxMeterRegistry(JmxConfig config, Clock clock) {
    return new JmxMeterRegistry(config, clock, MY_HIERARCHICAL_MAPPER);
}

KairosDB

По умолчанию метрики экспортируются в KairosDB, работающую на вашем локальном компьютере. Расположение сервера KairosDB для использования может быть предоставлено с помощью:

management.metrics.export.kairos.uri=https://kairosdb.example.com:8080/api/v1/datapoints

New Relic

Реестр New Relic периодически отправляет метрики в New Relic. Чтобы экспортировать показатели в New Relic, необходимо указать ключ API и идентификатор учетной записи:

management.metrics.export.newrelic.api-key=YOUR_KEY
management.metrics.export.newrelic.account-id=YOUR_ACCOUNT_ID

Вы также можете изменить интервал отправки метрик в New Relic:

management.metrics.export.newrelic.step=30s

Prometheus

Prometheus выполняет сбор или опрос отдельных экземпляров приложений о метриках. Spring Boot предоставляет конечную точку actuator, доступную в /actuator/prometheus, для предоставления сбору Prometheus метрик в соответствующем формате.

Конечная точка по умолчанию недоступна и должна быть открыта.

Вот пример scrape_config для добавления в prometheus.yml:

scrape_configs:
  - job_name: 'spring'
    metrics_path: '/actuator/prometheus'
    static_configs:
      - targets: ['HOST:PORT']

Для эфемерных или пакетных заданий, которые могут не существовать достаточно долго, чтобы можно было собрать с них метрики, поддержка Prometheus Pushgateway может использоваться для предоставления их метрик Prometheus. Чтобы включить поддержку Prometheus Pushgateway, добавьте в свой проект следующую зависимость:

<dependency>
    <groupId>io.prometheus</groupId>
    <artifactId>simpleclient_pushgateway</artifactId>
</dependency>

Когда на пути к классам присутствует зависимость Prometheus Pushgateway, Spring Boot автоматически настраивает компонент PrometheusPushGatewayManager. Это управляет продвижением метрик к Prometheus Pushgateway. PrometheusPushGatewayManager можно настроить с помощью свойств в разделе management.metrics.export.prometheus.pushgateway. Для расширенной настройки вы также можете предоставить свой собственный компонент PrometheusPushGatewayManager.

SignalFx

Реестр SignalFx периодически передает метрики в SignalFx. Чтобы экспортировать метрики в SignalFx, необходимо предоставить свой токен доступа:

management.metrics.export.signalfx.access-token=YOUR_ACCESS_TOKEN

Вы также можете изменить интервал отправки метрик в SignalFx:

management.metrics.export.signalfx.step=30s

Simple (простые метрики)

Micrometer поставляется с простым бекэндом в памяти, который автоматически используется в качестве запасного варианта, если не настроен другой реестр. Это позволяет увидеть, какие метрики собираются в конечной точке metrics.

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

management.metrics.export.simple.enabled=false

StatsD

Реестр StatsD передает метрики по UDP агенту StatsD. По умолчанию метрики экспортируются в агент StatsD, работающий на вашем локальном компьютере. Хост и порт агента StatsD для использования могут быть предоставлены с помощью:

management.metrics.export.statsd.host=statsd.example.com
management.metrics.export.statsd.port=9125

Вы также можете изменить используемый протокол линии StatsD (по умолчанию это Datadog):

management.metrics.export.statsd.flavor=etsy

Wavefront

Реестр Wavefront периодически передает метрики в Wavefront. Если вы экспортируете метрики в Wavefront напрямую, ваш API-токен должен быть предоставлен:

management.metrics.export.wavefront.api-token=YOUR_API_TOKEN

В качестве альтернативы вы можете использовать дополнительный интерфейс Wavefront или внутренний прокси-сервер, настроенный в вашей среде, который перенаправляет данные метрик на хост API Wavefront:

management.metrics.export.wavefront.uri=proxy://localhost:2878

При публикации метрик на прокси Wavefront (как описано в документации) хост должен быть в формате proxy://HOST:PORT.

Вы также можете изменить интервал отправки метрик в Wavefront:

management.metrics.export.wavefront.step=30s


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


Комментарии

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

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

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

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