工具介绍:
InfluxDB:是一款用Go语言编写的开源分布式时序、事件和指标数据库,无需外部依赖。该数据库现在主要用于存储涉及大量的时间戳数据,如DevOps监控数据,APP metrics, loT传感器数据和实时分析数据。时间序列数据库:时间序列是随时间变化采集的数据序列。时序数据库是处理时间序列数据的软件应用程序。想象它就像一个sql表,其中时间是主键!
官方网址:https://www.influxdata.com
Grafana是一个开源软件,拥有丰富的指标仪表盘和图形编辑器,适用Graphite, Elasticsearch, OpenTSDB, Prometheus,InfluxDB。简单点说就是一套开源WEB可视化平台。
官方网址:https://grafana.com
从这个几个问题出发
-
这是什么,Jmeter 一款性能测试工具,InfluxDB时序存储数据库 Grafana监控面板
-
给谁用,当然给测试人员使用,在内部团队中推广起来
-
为什么用,比Jmeter原生的报告美观,可以实时观察,监控
-
怎么用,看安装及使用
准备工作:
-
Linux 系统 CentOS
-
已经安装好 Docker version 19.03.3
-
已经安装好 Jmeter 5.1版本,配置 Jmeter插件包 装好 中文 后端监听器,英文:Backend Listener插件
安装:
jmeter 可以去官网下载
http://jmeter.apache.org/download_jmeter.cgi
Docker 环境安装,配置镜像加速,镜像加速提升容器镜像下载的速度
https://yeasy.gitbooks.io/docker_practice/content/install/
或者访问官方网站
Docker 安装命令写到 shell 命令中,新建文件名 jmeterGra.sh
$ docker run -d -p 8086:8086 -p 8083:8083 --name=jmeterdb tutum/influxdb
$ docker run -d -p 3000:3000 --name=jmeterGraf grafana/grafana
docker 命令
run 运行容器
-d 指在后台运行
-p 8086:8086 暴露端口,宿主机(可以理解为主机的)端口:容器端口
-- name 容器的名字
tutum/influxdb 为镜像的名称
这里 InfluxDb 会暴露两个端口,8086 提供给 Grafana 使用。8083 提供给InfluxDB web服务使用
已经安装好 InfluxDB Grafana 镜像
#查看镜像
docker images
#查看正在运行的容器
$ docker ps
访问InfluxDB ip+8083 端口
# 创建数据库命令,名字为 jmeter
CREATE DATABASE "jmeter"
# 查看所有数据库
SHOW DATABASES
#查看数据库表结构
show measurements
访问 Grafana ip+3000端口,初始账号密码都是 admin,可以跳过修改密码
-
Grafana配置
选择 InfluxDB
Grafana 创建监控面板,这里使用官网提供的监控面板 ID 5496
官网 https://grafana.com/grafana/dashboards,搜索jmeter
导入 Grafana 面板的 jmeter ID
就可以看到漂亮的Grafana 监控 jmeter 资源面板了
接下来配置 Jmeter 的 Backend Listener 插件
线程组-->添加-->监听器--> 后端监听器
启动Jmeter 压测,配置5个线程数
可以去Grafana 刷新页面,查看监控信息
通过Docker 服务来搭建 InfluxDB Grafana 监控是比较容易的,只需要配置一些 数据库链接方式,以及数据源,如果使用软件安装的方式,软件很多的地方需要自己去配置。使用Docker 来搭建环境,很方便,可以及时的去监控到 Jmeter 发出去的请求,以前还需要使用Jmeter 自带插件查看报告。切换到 Grafana 就直接在网站上查询就可以了