首页 文章

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

提问于
浏览
1

我有一个使用Spring Boot 1.x实现的Rest服务 . 我发现Micrometer项目(http://micrometer.io/docs/influx#_install)支持Spring Boot集成,但是我无法找到有关如何配置项目以与涌入数据库通信的任何文档 . 例如:Influxdb.connurl,username,dbname等 .

我的/指标运行正常 . 当我向我的 endpoints 发出休息请求时,由于没有配置涌入db conn,我收到此错误:

** [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 回答

  • 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文件中,我只使用“千分尺 - 注册表 - 涌入”依赖 . 之后,您应该在涌入数据库中收到有关您的休息终点的指标 .

    我希望这对你有所帮助 .

相关问题