Как интегрировать показатели привода Spring Boot 1.x с io.micrometer? Получение io.micrometer.influx.InfluxRegistry - не удалось отправить ошибку метрики

У меня есть служба отдыха, реализованная с помощью Spring Boot 1.x. Я пытаюсь отправить данные метрик в существующую базу данных притока, используя привод / метрики. Я обнаружил, что проект Micrometer ( http://micrometer.io/docs/influx) поддерживает интеграцию Spring Boot, но я не могу найти какую-либо документацию о том, как настроить проект для связи с притоком БД. Например: infxdb.connurl, имя пользователя, имя базы данных и т. Д.

Моя / метрика работает отлично. Когда я делаю запрос отдыха к моей конечной точке, потому что приток db conn не настроен, я получаю эту ошибку:

** [зритель-весна-метрики-издатель-0] ПРЕДУПРЕЖДЕНИЕ io.micrometer.influx.InfluxRegistry - не удалось отправить метрики **

зависимости:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-actuator</artifactId>
  <version>${spring-boot.version}</version>
</dependency>
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-spring-legacy</artifactId>
    <version>${micrometer.version}</version>
    </dependency>
 <dependency>
     <groupId>io.micrometer</groupId>
     <artifactId>micrometer-registry-influx</artifactId>
     <version>${micrometer.version}</version>
 </dependency>

Есть ли где-нибудь документация, как писать метрики для притока БД? Я могу написать синтаксический анализатор для файла доступа на локальном хосте и установить агент Telegraf для отправки системных метрик, но сначала хочу пойти по этому пути.

1 ответ

Я играюсь с микрометром и наплывом в другие дни. Прежде всего вы должны установить некоторые параметры притока в вашем файле application.properties/application.yml.

  spring:
    metrics:
     influx:
       uri: http://localhost:8086/write 
       enabled: true
       userName: root
       password: root
       step: PT10S
       db:  metrics

Убедитесь, что база данных уже существует в вашем притоке базы данных. Я не нашел решения для автоматического создания базы данных, если она не существует.

Вы также можете создать Бин для настройки вашего Metric-Registry. Вы можете использовать реестр, чтобы добавить некоторые теги и захватить дополнительные метрики.

@Bean
MeterRegistryConfigurer configurer() {
    return registry -> {
        registry.config().commonTags("service", "tweets");
        new ClassLoaderMetrics().bindTo(registry);
        new JvmMemoryMetrics().bindTo(registry);
        new JvmGcMetrics().bindTo(registry);
        new ProcessorMetrics().bindTo(registry);
        new JvmThreadMetrics().bindTo(registry);
    };
}

Я не знаю, является ли это лучшим решением, но оно работает для меня. В моем maven-файле я использую только зависимость "micrometer-registry-infl". После этого вы должны получать метрики о ваших конечных точках отдыха в вашей притоке-db.

Я надеюсь, что это поможет вам немного.

Другие вопросы по тегам