微服务监控:SpringBoot-Micrometer-Influx

Posted 四颗咖啡豆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微服务监控: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>
  2. 配置文件配置

这里演示的是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

验证数据是否正常产生

  1. 启动SpringBoot项目

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

> show databases
name: databases
name
----
_internal
spring

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

> use spring
Using database spring
> show measurements
name: measurements
name
----
jvm_buffer_count
jvm_buffer_memory_used
jvm_buffer_total_capacity
jvm_classes_loaded
jvm_classes_unloaded
jvm_gc_live_data_size
jvm_gc_max_data_size
jvm_gc_memory_allocated
jvm_gc_memory_promoted
jvm_gc_pause
jvm_memory_committed
jvm_memory_max
jvm_memory_used
jvm_threads_daemon
jvm_threads_live
jvm_threads_peak
jvm_threads_states
logback_events
process_cpu_usage
process_start_time
process_uptime
system_cpu_count
system_cpu_usage
tomcat_sessions_active_current
tomcat_sessions_active_max
tomcat_sessions_alive_max
tomcat_sessions_created
tomcat_sessions_expired
tomcat_sessions_rejected

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

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


以上是关于微服务监控:SpringBoot-Micrometer-Influx的主要内容,如果未能解决你的问题,请参考以下文章

基于 prometheus 的微服务指标监控

(17)go-micro微服务Prometheus监控

Istio微服务治理网格的全方面可视化监控(微服务架构展示资源监控流量监控链路监控)

#yyds干货盘点#Prometheus 之微服务监控概述件

全面解析微服务系统监控分层,啃透服务治理核心!

SpringCloud微服务(04):Turbine组件,实现微服务集群监控