运行 具有 Micrometer 指标的 SpringBoot 2 应用程序时出错

Error when running SpringBoot 2 application with Micrometer metrics

我有一个使用 Micrometer 框架的 SpringBoot 2 应用程序、一个 Postgresql 数据库、作为连接池的 HikariCP 和一个用于存储指标的 Influxdb。该应用程序已配置为使用 micrometer-registry-influx 依赖项。

在应用程序中添加一些指标并启动后,在SpringBoot自动提供的HikariCP连接池指标的日志中可以看到以下错误:

    2018-05-23 10:24:33.594 ERROR 23220 --- [pool-1-thread-1] i.micrometer.influx.InfluxMeterRegistry  : failed to send metrics:
 {"error":"partial write: unable to parse 'hikaricp_connections,pool=HikariPool-1,metric_type=gauge value=NaN 1527063873587': invalid number
    unable to parse 'hikaricp_connections_active,pool=HikariPool-1,metric_type=gauge value=NaN 1527063873587': invalid number
    nunable to parse 'hikaricp_connections_idle,pool=HikariPool-1,metric_type=gauge value=NaN 1527063873588': invalid number
    unable to parse 'hikaricp_connections_pending,pool=HikariPool-1,metric_type=gauge value=NaN 1527063873588': invalid number dropped=0"}

指标的值仅记录为 Nan

此错误已在 HikariCPm 的本次提交中修复,该版本发布为版本 2.7.9 并与 SpringBoot 2.0.2 捆绑

https://github.com/brettwooldridge/HikariCP/issues/1033

将我的应用程序升级到 SpringBoot 2.0.2 后,错误不再出现,指标在 InfluxDB 中看起来也正常。