Docker系列——InfluxDB+Grafana+Jmeter性能监控平台搭建(一)
在做性能测试的时候,重点关注点是各项性能指标,用Jmeter工具,查看指标数据,就是借助于聚合报告,但查看时也并不方便。那如何能更直观的查看各项数据呢?可以通过InfluxDB+Grafana+Jmeter
来实现数据的可视化。
讲到这里,可能会对 InfluxDB+Grafana 陌生些,没关系,后续会详细讲解。
我们先来看一张官网的配图,如下所示:
如上所示,这就是接下来一系列教程的最终效果了,数据可视化,可添加各种指标数据,是不是很不错。觉得不错那就一起一探究竟吧。
注意:环境搭建基于linux+docker
工具介绍
在介绍这三个工具前,还是来简单说下,三个工具各自的作用:
Jmeter:想必大家都很熟悉了,就不多说了,它在平台中扮演的角色是:采集数据
InfluxDB:Go 语言开发的一个开源分布式时序数据库,非常适合存储指标、事件、分析等数据;它在平台中扮演的角色是:数据存储
Grafana:纯 Javascript 开发的前端工具,用于访问 InfluxDB,自定义报表、显示图表等;它在平台中扮演的角色是:数据展示
看完简单介绍,是不是觉得比聚合报告强大多了。
InfluxDB介绍
官方网址:InfluxDB网址
官方文档:InfluxDB文档
- 特色功能
1)基于时间序列,支持与时间有关的相关函数(如最大,最小,求和等);
2)可度量性:可以实时对大量数据进行计算;
3)基于事件:支持任意的事件数据。
- 主要特点
1)无结构(无模式):可以是任意数量的列;
2)可拓展;
3)支持min, max, sum, count, mean, median 等一系列函数,方便统计;
4)原生的HTTP支持,内置HTTP API;
5)强大的类SQL语法;
6)自带管理界面,方便使用。
InfluxDB安装
自从在开发同学建议使用docker后,觉得配置环境真的太方便了,今天的博文内容,环境部署都是使用docker,需要注意下,我使用的不是虚拟机,是去年在阿里囤的个服务器,比虚拟机方便太多。
拉取镜像
使用命令 docker pull influxdb:latest
即可,简单。
运行容器
使用命令 docker run -itd -p 8086:8086 -p 2003:2003 -p 8083:8083 --name my_influxdb influxdb
即可,容器名字可自定义。
说明:
- 8083端口:InfluxDB的UI界面展示的端口
- 8086端口:Grafana用来从数据库取数据的端口
- 2003端口:Jmeter往数据库发数据的端口
修改InfluxDB配置
容器操作
服务是docker启的,所以需要进入到容器内操作,进入容器命令如下所示:
docker exec -it influxdb_demo bash
我们进入到目录:cd /usr/bin
,先生成配置文件,使用命令influxd config > /etc/influxdb/influxdb.conf
即可生成。
容器内没有vim命令,可以将文件拷贝到宿主机上进行编辑,使用命令docker cp -a 819e902a45f9:/etc/influxdb/influxdb.conf /home
,将配置文件拷贝到home路径下。
配置graphite
我们来修改配置,主要是配置存储jmeter数据的数据库与端口号,使用命令vim influxdb.conf
,找到graphite并且修改它的库与端口,修改如下所示:
配置http
找到http,将前面的#号去掉,我在配置时,配置文件的http是默认启用的,所以我这里是没有配置的
网上有帖子说配置admin
的,我在配置时,也没有这个配置项,应该是版本更新了的原因。
配置文件拷贝到容器
配置修改好后,还得将文件拷贝到容器中,我们可以先将配置文件删除,再拷贝。操作命令docker cp -a /home/influxdb.conf 819e902a45f9:/etc/influxdb/influxdb.conf
即可。
重启服务
修改了配置文件,服务重启下,操作命令docker restart my_influxdb
。
配置数据库
在修改配置文件时,我们配置了一个数据库,这个数据库默认是没有的,需要手动创建下,我们依然进入到目录:cd /usr/bin
。
- 文件结构
influxd # influxdb服务器
influx # influxdb命令行客户端
influx_inspect # 查看工具
influx_stress # 压力测试工具
influx_tsm # 数据库转换工具(将数据库从b1或bz1格式转换为tsm1格式)
- 启动客户端
使用命令./influx
启动客户端,如下所示:
启动后,就可以输入对应的sql语句操作数据了。
创建数据库,使用命令create database "jmeter"
,创建后,我们可以用命令show databases
查看数据库,如下所示:
创建人员,使用命令create user "用户名" with password '密码' with all privileges
,创建好后,使用命令show users
可以查看人员,如下所示:
- 启动服务端
使用命令./influxd
启动服务端,如下所示:
InfluxDBStudio
服务搭建好之后,可能有博友有疑问了,数据如何查询呢?的确,我们配置好后,怎么查看数据库中的数据。
容器内查询
远程连接并进入容器中,启动influx,查询语法跟平时用的sql差不多,直接上图来看一下:
这是我之前用jmeter跑过数据了,所以可以查询到数据。没跑过,那自然是没有数据的。今天暂时不讲jmeter的使用,先把InfluxDB分享完,目前知道如何查询数据即可。
终端连接查询
我们在使用数据库,一般都会使用终端连接,比如:Navicat;我们用linux系统,也会选择用xshell或者SecureCRT连接一样,之前在github上找到个工具,下载地址
这个工具是windows上使用,下载下来,免安装,可以直接使用。
打开软件,新建连接,如下所示,界面很简洁:
我们点击新建按钮,就可以填写数据,创建连接了,如下所示:
建立连接的字段说明:
- Name 名称 - 连接的名称。这是使用此连接时将看到的标签
- Address 地址 - InfluxDB服务器的IP。端口默认即可
- Database 数据库 - 用于连接的数据库。将其留空以列出所有数据库(需要管理员权限)
- UserName 用户名 - 用于连接的InfluxDB用户名
- Password 密码 - 与连接一起使用的InfluxDB密码
- Security - Use SSL 使用SSL - 连接到InfluxDB时是否使用SSL安全性(HTTPS)
填写好字段数据后,我们可以点Test,测试下连接是否正常,如下界面说明连接成功:
我们连接好后,也就可以通过终端工具来查询数据了,如下所示:
效果跟容器内查询是一样的,只是终端方式更加便捷。这里需要注意的是,由于我使用的是阿里服务器,所以端口还需要在安全组中开放端口,这里是需要注意下的。
完成上述配置后,InfluxDB+Grafana+Jmeter性能监控平台的第一步也就完成了,操作起来是不是挺简单的,不动手觉得难,操作起来实际简单。
好了,今天就到这,下期见。
Docker系列——InfluxDB+Grafana+Jmeter性能监控平台搭建(一)的更多相关文章
- Docker系列——InfluxDB+Grafana+Jmeter性能监控平台搭建(三)
在之前系列博文中,已经介绍完了数据采集和数据存储,那数据如何展示呢?所以今天就专门来讲下数据如何展示的问题. 以前博文参考: Docker系列--InfluxDB+Grafana+Jmeter性能监控 ...
- Docker系列——InfluxDB+Grafana+Jmeter性能监控平台搭建(二)
在上一篇博文中,主要是讲了InfluxDB的配置,博文链接:https://www.cnblogs.com/hong-fithing/p/14453695.html,今天来分享下Jmeter的配置. ...
- grafana + influxdb + telegraf , 构建性能监控平台
1.安装平台 1).grafana , 访问各类数据源 , 自定义报表.显示图表等等 , 用于提供界面监控 , 默认端口为3000 , 默认登陆信息admin wget https://grafana ...
- window平台基于influxdb + grafana + jmeter 搭建性能测试实时监控平台
一.influxdb 安装与配置 1.1 influxdb下载并安装 官网无需翻墙,但是下载跳出的界面需要翻墙,我这里提供下载链接:https://dl.influxdata.com/influxdb ...
- cAdvisor0.24.1+InfluxDB0.13+Grafana4.0.2搭建Docker1.12.3 Swarm集群性能监控平台
目录 [TOC] 1.基本概念 既然是对Docker的容器进行监控,我们就不自己单独搭建cAdvisor.InfluxDB.Grarana了,本文中这三个实例,主要以Docker容器方式运行. 本 ...
- 性能测试分享:jmeter性能监控(一)
性能测试分享:jmeter性能监控(一) poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908 ...
- [转帖] 基于telegraf, influxdb, grafana 建立 esxi 监控
[系统集成] 基于telegraf, influxdb, grafana 建立 esxi 监控 https://www.cnblogs.com/hahp/p/7677420.html 之前在 nagi ...
- JMeter性能监控插件PerfMon Metrics Collector
Jmeter性能监控插件由客户端插件和服务器端程序组成. 官方文档及插件下载地址https://jmeter-plugins.org/wiki/PerfMon/ 将插件 plugins-manager ...
- linux监控平台搭建-内存
linux监控平台搭建-内存 上一篇文章说的硬盘.就写一下.更加重要的东西.在手机上面是RAM.机器是memory.内存是按照字节编址.每个地址的存储单元可以存放8bit的数据.cpu 通过内存地址获 ...
随机推荐
- 对模拟器虚假设备识别能力提升15%!每日清理大师App集成系统完整性检测
前言 每日清理大师是一款智能便捷的手机清理软件,可快速清理无用缓存.垃圾文件和应用残留,还可深度清理如社交软件中的无用缓存等,有效解决手机卡顿.耗电快.内存不足等问题.每日清理大师App在结合了系统完 ...
- kubernetes实战-配置中心(一)configmap资源
在我们的环境中测试使用configmap资源,需要先对我们的环境进行一些准备,首先将dubbo服务调整为0个pod ,然后把zookeeper进行拆分: 拆分zk环境,模拟测试环境跟生产环境: 停止z ...
- Leetcode(82)-删除排序链表中的重复元素 II
给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字. 示例 1: 输入: 1->2->3->3->4->4->5 输出: 1-&g ...
- 2019牛客多校第五场C generator 2(BSGS)题解
题意: 传送门 已知递推公式\(x_i = a*x_{i - 1} + b\mod p\),\(p\)是素数,已知\(x_0,a,b,p\),给出一个\(n\)和\(v\),问你满足\(x_i = v ...
- Linux 驱动框架---设备文件devfs
设备文件系统 Linux引入了虚拟文件系统,从而使设备的访问可以像访问普通文件系统一样.因此在内核中描述打开文件的数据inode中的rdev成员用来记录设备文件对应到的设备号.设备文件也由一个对应的f ...
- R语言学习2:绘图
本系列是一个新的系列,在此系列中,我将和大家共同学习R语言.由于我对R语言的了解也甚少,所以本系列更多以一个学习者的视角来完成. 参考教材:<R语言实战>第二版(Robert I.Kaba ...
- Android vs iOS vs Web
Android vs iOS vs Web UI view Android ViewGroup ImageView TextView iOS UIView ImageView TextView Web ...
- SEO All In One
SEO All In One website SEO https://www.google.com/search?newwindow=1&safe=active&sxsrf=ALeKk ...
- how to config custom process.env in node.js
how to config custom process.env in node.js process.env APP_ENV NODE_ENV https://nodejs.org/api/proc ...
- free online linux terminal & github cli online
free online linux terminal & github cli online gitpod https://www.gitpod.io/features/ https://bc ...