Как интегрировать показатели привода 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.
Я надеюсь, что это поможет вам немного.