如何将Spring Boot 1.x执行器指标与io.micrometer集成?获取io.micrometer.influx.InfluxRegistry - 无法发送指标错误

时间:2017-09-21 21:23:16

标签: spring spring-boot metrics influxdb micrometer

我使用Spring Boot 1.x实现了Rest服务。我正在尝试通过利用执行器/指标将指标数据发送到现有的流入数据库。我发现Micrometer项目(http://micrometer.io/docs/influx#_install)支持Spring Boot集成,但是我找不到任何关于如何配置项目来与涌入db进行通信的文档。 例如:Influxdb.connurl,username,dbname等。

我的/指标工作正常。当我向我的端点发出休息请求时,由于没有配置涌入数据库连接,我收到此错误:

** [spectator-spring-metrics-publisher-0] WARN 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>

是否有文档在某处如何编写指标以涌入数据库?我可以为localhost访问文件编写一个解析器,并安装一个Telegraf代理来发送系统指标,但是首先想要继续这个路径。

1 个答案:

答案 0 :(得分:3)

我玩千分尺和其他日子涌入。首先,您必须在application.properties/application.yml文件中设置一些涌入参数。

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

确保您的涌入数据库中已存在数据库。如果不存在,我确实找到了自动创建数据库的解决方案。

您还可以创建Bean来配置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文件中,我只使用&#34;千分尺 - 注册表 - 流入&#34;依赖。 之后,您应该在您的涌入数据库中收到有关您的休息终点的指标。

我希望这对你有所帮助。