文档章节

springboot2输出metrics到influxdb

go4it
 go4it
发布于 2018/06/17 20:42
字数 410
阅读 745
收藏 18

本文主要研究一下如何将springboot2的metrics输出到influxdb

maven

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>io.micrometer</groupId>
            <artifactId>micrometer-registry-influx</artifactId>
        </dependency>

配置

management:
  metrics:
    export:
      influx:
        enabled: true
        db: springboot
        uri: http://192.168.99.100:8086
#        user-name:
#        password:
        connect-timeout: 1s
        read-timeout: 10s
        auto-create-db: true
        step: 1m
        num-threads: 2
        consistency: one
        compressed: true
        batch-size: 10000

influx

docker run -d --name influx -p 8086:8086 influxdb

启动之后创建数据库

  • 命令行创建
docker exec -it influx influx
create database springboot
  • rest接口创建
curl -i -X POST http://192.168.99.100:8086/query --data-urlencode "q=CREATE DATABASE springboot"

返回

HTTP/1.1 200 OK
Content-Type: application/json
Request-Id: f3ce7449-7227-11e8-8002-000000000000
X-Influxdb-Build: OSS
X-Influxdb-Version: 1.5.3
X-Request-Id: f3ce7449-7227-11e8-8002-000000000000
Date: Sun, 17 Jun 2018 12:14:15 GMT
Transfer-Encoding: chunked

{"results":[{"statement_id":0}]}

或者直接配置文件指定auto-create-db=true,就无需额外创建

查看

  • 命令行查看
docker exec -it influx influx
> use springboot
> 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
logback.events
process.cpu.usage
process.files.max
process.files.open
process.start.time
process.uptime
system.cpu.count
system.cpu.usage
system.load.average.1m

查看具体指标

> show series from "http.server.requests"
key
---
http.server.requests,exception=None,method=GET,metric_type=histogram,status=200,uri=/actuator/health
> select * from "http.server.requests"
name: http.server.requests
time                count exception mean      method metric_type status sum       upper     uri
----                ----- --------- ----      ------ ----------- ------ ---       -----     ---
1529238292912000000 0     None      0         GET    histogram   200    0         72.601487 /actuator/health
1529238352888000000 2     None      39.154634 GET    histogram   200    78.309267 72.601487 /actuator/health
1529238412886000000 0     None      0         GET    histogram   200    0         72.601487 /actuator/health
1529238472885000000 0     None      0         GET    histogram   200    0         0         /actuator/health
1529238532882000000 0     None      0         GET    histogram   200    0         0         /actuator/health
1529238592879000000 0     None      0         GET    histogram   200    0         0         /actuator/health

注意这里表名要加引号

  • rest接口查看
curl -G 'http://192.168.99.100:8086/query?pretty=true' --data-urlencode "db=springboot" --data-urlencode "q=SELECT \"*\" FROM \"http.server.requests\""
{
    "results": [
        {
            "statement_id": 0
        }
    ]
}

小结

springboot2使用micrometer作为metrics组件,其提供了对influxdb的支持,只需要引入micrometer-registry-influx,然后进行配置即可。

doc

© 著作权归作者所有

go4it
粉丝 90
博文 1127
码字总数 1058380
作品 0
深圳
私信 提问
加载中

评论(1)

大屎官阁下
我想学编程,是不是非要学英语?
Centos7 MyPerf4J安装配置及可视化页面

Centos7 MyPerf4J安装配置及可视化页面 一个针对高并发、低延迟应用设计的高性能 Java 性能监控和统计工具。MyPerf4J 采用 JavaAgent 配置方式,透明化接入应用,对应用代码完全没有侵入。 ...

lwenhao
03/01
65
0
基于InfluxDB+Grafana打造大数据监控利器

这是一个大数据爆发的时代。面对信息的激流、多元化数据的涌现,我们在获取、存储、传输、理解、分析、应用、维护大数据时,无疑需要一种便捷的信息交流通道,以便快速、有效、准确地理解和驾...

大数据在浙里
2017/06/14
0
0
InfluxDB - 开源的时间序列数据库简介及安装

  InfluxDB   什么是时间序列数据库,最简单的定义就是数据格式里包含Timestamp字段的数据,比如某一时间磁盘使用率、网络流量、CPU的使用率等。   InfluxDB是一个开源的时间序列数据库...

linux运维菜
2018/07/02
0
0
饿了么 Influxdb 实践之路

饿了么 Influxdb 实践之路 前言 Influxdb(https://github.com/influxdata/influxdb)是一个基于 golang 编写,没有额外依赖的开源时序数据库,用于记录 metrics、events,进行数据分析。这篇...

憬薇
2018/07/04
0
0
性能工具之JMeter+InfluxDB+Grafana打造压测可视化实时监控

文章目录 概述 引言 解决方案 JMeter&InfluxDB集成 InfluxDB安装 安装要求 下载安装 InfluxDB配置 JMeter配置 Grafana&InfluxDB集成 安装启动 导入Dashboard模版 概述 本文我们将介绍如何使用...

覃光林
02/12
111
0

没有更多内容

加载失败,请刷新页面

加载更多

开发中常用的正则表达式

为了能够更好地理解如何在C#环境中使用正则表达式,这里整理了一些常用的正则表达式: 罗马数字: string p1 = "^m*(d?c{0,3}|c[dm])" + "(l?x{0,3}|x[lc])(v?i{0,3}|i[vx])$";string t1 ......

木庄
32分钟前
4
0
【.NET程序打包】VS2019使用Installer Projects打包

C#—使用Installer Projects打包桌面应用程序 前言 打包桌面应用程序实在是一个不常使用的东西,偶尔使用起来经常会忘东忘西的耽误时间,因此,这篇文章多以图片记录过程,也是用于备忘。 下...

_Somuns
36分钟前
4
0
自定义注解,使用动态代理解决网站的字符集编码问题

第1章设置环境 安装操作系统,安装备份(镜像): JDK: 设置环境变量Eclipse:解压即可 Eclipse自身解压目录不包括中文 代码工作空间目录不包括中文Tomcat:解压不要包含中文目录M...

蓝来杯往
41分钟前
6
0
Solr中的字段类型field type

Solr含有多种字段类型,可用的字段类型基本都定义在了包org.apache.solr.schema中,列举如下: 类 说明 BinaryField 二进制数据 BoolField 布尔值,其中’t’/’T’/’1’都是true Collatio...

gantaos
55分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部