influxDB

1.介绍

influxDB是一个开源的时间序列数据库,同时也属于关系型数据库,因为influxDB主要是针对一次插入的数据,没有类似更新的操作,所以插入和读出数据显示速度比较快,我主要用来保存Jmeter运行的测试结果。

2.安装

2.1 下载地址

https://portal.influxdata.com/downloads

influxDB,Nightly是每日的意思,每日构建,属于测试版本,要选择V1.6.2,点击后无反应,我是查看源码,找的下载地址,下载的(选择windows版本)。

2.2 解压安装包

2.3 修改配置文件

InfluxDB 的数据存储主要有三个目录。默认情况下是 meta, wal 以及 data 三个目录,服务器运行后会自动生成。

meta 用于存储数据库的一些元数据,meta 目录下有一个 meta.db 文件。

wal 目录存放预写日志文件,以 .wal 结尾。

data 目录存放实际存储的数据文件,以 .tsm 结尾。

一、修改26行地址,去掉29,32行注释

 

二、修改45、48行地址

三、去掉68;168、171;183,186、190;203、206、209;220、223;行注释

2.4 运行influxDB数据库服务器

进入安装目录,直接运行influxd.exe即可,运行后,不要关闭

2.5 运行influxDB数据库客户端

进入安装目录,直接运行influx.exe即可

2.5 influxDB数据库常用命令

1、显示所有数据库:

show databases

2、创建数据库:

 create database test

3、使用某个数据库:

use test

4、显示所有表

show measurements

无表显示为空

5、新建表和插入数据

新建表没有具体的语法,只是增加第一条数据时,会自动建立表

insert results,hostname=index1 value=1

results代表表名,hostname是索引,value是具体的字段,默认会有time字段,也可以自己设定输入的时间

这里的时间看不懂,可以设置一下时间显示格式

precision rfc3339

7、查询数据

表名有点号时,输入双引号

和sql语法相同,区别:

measurement 数据库中的表

points 表里面的一行数据,Point由时间戳(time)、数据(field)、标签(tags)组成。

8、用户管理

a.显示所有用户:

 show users

b.新增用户:

--普通用户
create user "user" with password 'user'
--管理员用户
create user "admin" with password 'admin' with all privileges

c.删除用户

drop user "user"

 

2.6 基于web端管理influxDB数据库

网上好多修改配置文件中admin选项的文章,在1.5版本, Influxdb添加了Chronograf 组件作为web管理端,原来的web admin界面没有了,官网推出Chronograf,下载地址见第一步。

使用cmd进入安装目录,输入influxd -config influxdb.config,即可运行influxDB数据库服务器

运行报错:因为windows路径反斜杠需要转义,所以修改配置文件

重新运行:influxd -config influxdb.config,成功

port 8083:管理页面端口,访问localhost:8083可以进入你本机的influxdb管理页面

port 8086:http连接influxdb client端口,一般使用该端口往本机的influxdb读写数据

 

2.7 Chronograf 使用

1、解压文件后,直接进入安装目录,执行chronograf.exe后;

2、输入:http://localhost:8888(chronograf默认是8888端口)

3、influxDB数据源连接

输入数据库密码,点击下一步,其他不用变,第二个页面也一样。

成功进入

 

2.8 telegraf和kapacitor介绍

telegraf是数据收集器,有很多的插件可用来收集数据。

kapacitor属于报警器,用来给用户发提醒。

 

2.9 Grafana介绍

主要是对数据通过插件进行图形化展示,经常和jmeter、influxdb配合使用。

下载地址:https://grafana.com/grafana/download

默认使用端口:3000

进入http://localhost:3000,登录默认用户名和密码都是admin

配置数据源

 

2.10 Jmeter配置

增加Backend Listener监听器

 

graphiteHost: influxdb IP地址

graphitePort: 2003是Jmeter往数据库发数据的端口

rootMeticsPrefix:指标前缀设置,用于方便区分

summaryOnly:true/false 是否统计总量

samplerList:测试Sampler名称,支持正则表达式,全部可使用.*.*

summaryOnly:设置true时,此处设置无效。

useRegexpForSamplerList:测试Sampler名称是否支持正则表达式

2.11需要配置influxdb.conf文件,并在influxdb数据库建立jmeter数据库

要想jmeter数据写入influxDB,需要运行influxDB,需要用:influxd -config influxdb.config

Grafana里修改数据源为jmeter

执行jmeter,查看jmeter数据库里是否出现新建的表

2.12 Grafana配置图表

创建Dashboard

选择图表

编辑

选择数据源,表

保存后,运行jmeter,就可以通过grafana查看啦

常用的监控有:

jmeter.all.h.count所有请求的TPS
jmeter.<请求名称>.h.count对应<请求名称>的TPS
jmeter.all.ok.pct9999%的请求响应时间
jmeter.<请求名称>.ok.pct99对应<请求名称>99%的请求响应时间
jmeter.all.test.startedT线程数

其他监控见:http://jmeter.apache.org/usermanual/realtime-results.html

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐