文档章节

springboot2输出metrics到influxdb

go4it
 go4it
发布于 06/17 20:42
字数 410
阅读 47
收藏 16
点赞 0
评论 1

本文主要研究一下如何将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
粉丝 51
博文 672
码字总数 469999
作品 0
深圳
加载中

评论(1)

大屎官阁下
我想学编程,是不是非要学英语?
InfluxDB - 开源的时间序列数据库简介及安装

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

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

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

憬薇
07/04
0
0
k8s原生的集群监控方案(Heapster+InfluxDB+Grafana)

k8s原生的集群监控方案(Heapster+InfluxDB+Grafana) Heapster+InfluxDB+Grafana简介 heapster是一个监控计算、存储、网络等集群资源的工具,以k8s内置的cAdvisor作为数据源收集集群信息,并...

品鉴初心
05/27
0
0
k8s ConfigMap报错信息

Apr 25 16:32:08 k8sn2 kubelet: E0425 16:32:08.909169 2478 atomicwriter.go:456] pod kube-system/monitoring-influxdb-2075516717-w36cd volume influxdb-config: error pruning old use......

seecsea
06/26
0
0
go| go并发实战: 搭配 influxdb + grafana 高性能实时日志监控系统

date: 2018-4-27 16:22:14 title: go| go并发实战: 搭配 influxdb + grafana 高性能实时日志监控系统 description: go并发实战: 搭配 influxdb + grafana 高性能实时日志监控系统 Go并发编程...

daydaygo
04/28
0
0
InfluxDB源码编译、安装、配置及主从同步实现

直接使用官方包进行安装很简单,查看官方说明即可。安装之后使用才发现,开源的只支持单机版的,但是公司用不能这么low吧,怎么也要“高可用”一点,于是自己参考MySQL主从复制原理、半同步操...

憬薇
07/05
0
0
Learn Influxdb the hard way (2) - Dive into the code backbone

前言 在上一篇文章我们从上帝视角鸟瞰了一下Influxdb的组件结构,在这篇文章中,我们会开始深入代码,从代码的流程中帮助大家切割Influxdb的核心组件。希望在看本篇文章的时候,大家能够将I...

莫源
05/04
0
0
k8s监控 heapster部署实践

更多kubernetes文章:k8s专栏目录 使用 https://github.com/kubernetes/heapster github上的配置启动heapster 目录位置 deploy/kube-config/influxdb/,创建里面3个文件 再创建 deploy/kube-...

zhd930818
04/21
0
0
Docker 容器监控系统初探

本文已获得原作者 七把刀_授权。 随着线上服务的全面 docker 化,对 docker 容器的监控就很重要了。SA 的监控系统是物理机的监控,在一个物理机跑多个容器的情况下,我们是没法从一个监控图表...

掘金官方
07/06
0
0
Learn Influxdb the hard way (1) - Overview of the architecture

前言 Influxdb是目前最流行的时序性数据库之一,由Go语言编写,无需特殊的环境依赖,简单方便,非常适合作为监控系统的后端存储。在容器相关领域的场景中,经常和telegraf、grafana、prometh...

莫源
05/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring配置xml启动报错 Connot find 'beans'

1.我们先看一下spring的原始配置 <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSc......

江湖鱼大虾
1分钟前
0
0
与女儿谈商业模式 (4):戴尔的成功秘诀

分类:与女儿谈商业模式 | 标签: 戴尔 经济学 陈志武 2007-05-15 10:26阅读(7434)评论(36)   2007年5月《创富志》与“女儿谈商业模式”专栏 (之四)   戴尔的成功秘诀   陈志武   ...

祖冲之
11分钟前
0
0
www.w3.org被qiang导致logback报错:Connect reset

web项目部署到tomcat后,web项目中的logback不能运行,报错信息如下: Reported exception: ch.qos.logback.core.joran.spi.JoranException: I/O error occurred while parsing xml file......

浮躁的码农
25分钟前
0
0
JDeveloper中文乱码解决

全局设置字体; 全局设置环境编码; 项目设置编译器环境编码。

wffger
53分钟前
2
0
MySQL主从介绍 , 准备工作,配置主,配置从, 测试主从同步

MySQL主从介绍 MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步的 MySQL主从是基于binlog的,主上须开启bin...

TaoXu
今天
2
0
线性代数学习总结

亭子happy
今天
1
0
Java8:Lambda表达式增强版Comparator和排序

1、概述 在这篇教程里,我们将要去了解下即将到来的JDK 8(译注,现在JDK 8已经发布了)中的Lambda表达式——特别是怎样使用它来编写Comparator和对集合(Collection)进行排序。 这篇文章是...

孟飞阳
今天
0
0
从架构到组件,深挖istio如何连接、管理和保护微服务2.0?

近几年我一直从事于微服务系统的设计以及实现方面的工作,属于微服务架构一线实践者。之前做过一些单体系统的微服务改造,在微服务拆分、治理等方面都有一定的经验。 本人比较特殊一点的经历...

xiaomin0322
今天
1
0
基于vue的h5文件切片上传(获取文件md5,实现秒传、进度条实现)

template <button @click="file"></button><label ref="upload" style="position: relative;"> <input type="file" @change="selectFile" style="position: abs......

hkaikai
今天
2
0
Spring Boot 2.0 项目实现自同步AD域账号

在通过Spring Boot的自动化装配功能及JDK自带的LDAP模块,可通过如下几个简单步骤实现业务系统自动同步AD域账号功能。 1. Java自带ldap搜索域账号信息核心代码: try { LdapContext ctx...

B超
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部