写点什么

微服务监控:SpringBoot-Micrometer-Influx

用户头像
LanLiang
关注
发布于: 2020 年 10 月 25 日
微服务监控:SpringBoot-Micrometer-Influx

前言

聊到微服务监控,首先需要考虑的一个技术选型问题就是使用推数据还是使用拉数据的方式进行数据的收集,这个问题这里不进行具体讲解.本文使用micrometer-registry-influx这个组件使用推的方式进行数据的收集.


讲到这里不得不说一下micrometer这个内容,这个可以理解是 java 监控领域的 slf4j.上层实现有很多组件,influx,prometheus,telegraf 等都有提供支持.


前提

  1. influxdb


本文不进行 influxdb 的部署讲解,所以需要提前准备好 influxdb.


使用的版本是 influx-1.x,编写本文时micrometer-registry-influx还不支持 Influx2.


快速验证推荐使用 docker 部署 influxdb 的方式,网上有很多答案.


项目配置

  1. 引入依赖


<dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-actuator</artifactId>        </dependency>        <dependency>            <groupId>io.micrometer</groupId>            <artifactId>micrometer-registry-influx</artifactId>        </dependency>
复制代码
  1. 配置文件配置


这里演示的是 yml 格式的配置文件,添加下列内容到配置文件中


management:  metrics:    export:      influx:        enabled: true        db: spring        uri: http://192.168.1.16:31001        step: 10s#        user-name: admin#        password: admin123        auto-create-db: true
复制代码

上述配置内容中

enabled: 打开数据推送开关

db: influxdb 中存储数据的数据库

uri: influxdb 的地址

step: 数据推送的间隔

user-name: 帐号

password: 密码

auto-create-db: 是否自动创建数据库


验证数据是否正常产生

  1. 启动 SpringBoot 项目

  2. 进入到 influxdb 中,查看 datbase:


> show databasesname: databasesname----_internalspring
复制代码

这里可以看到已经生成了一个 spring 的数据库,可以进入到这个数据库查看里面生成了一些什么数据


> use springUsing database spring> show measurementsname: measurementsname----jvm_buffer_countjvm_buffer_memory_usedjvm_buffer_total_capacityjvm_classes_loadedjvm_classes_unloadedjvm_gc_live_data_sizejvm_gc_max_data_sizejvm_gc_memory_allocatedjvm_gc_memory_promotedjvm_gc_pausejvm_memory_committedjvm_memory_maxjvm_memory_usedjvm_threads_daemonjvm_threads_livejvm_threads_peakjvm_threads_stateslogback_eventsprocess_cpu_usageprocess_start_timeprocess_uptimesystem_cpu_countsystem_cpu_usagetomcat_sessions_active_currenttomcat_sessions_active_maxtomcat_sessions_alive_maxtomcat_sessions_createdtomcat_sessions_expiredtomcat_sessions_rejected
复制代码

上述 measurement 就是 springboot 开启 actuator 后默认生成的 metrics


到目前为止,一个最简单的 SpringBoot 项目通过 micrometer 将数据推送到 influxdb 的例子就完成了.


发布于: 2020 年 10 月 25 日阅读数: 82
用户头像

LanLiang

关注

天道酬勤 2018.04.28 加入

爱好开源,追随云原生。 github.com/liangyuanpeng 公众号:四颗咖啡豆

评论

发布
暂无评论
微服务监控:SpringBoot-Micrometer-Influx