Jmeter+Influxdb+Grafana搭建实时性能展示平台
一、平台架构
InfluxDB是Go语言编写的时间序列数据库,用于处理海量写入负载查询。涉及大量时间戳数据的任何用例(包括DevOps监控、应
用程序指标等)。InfluxDB最大的特点在于可以按照时间序列面对海量数据的时候的高性能读写能力,非常适合在性能测试场景下用作
数据存储。
Grafana是一个跨平台的开源的度量分析和可视化工具,纯JavaScript开发的前端工具,通过访问库(如InfluxDB),展示自定义报
表、显示图表等。大多时候用在时序数据的监控上。Grafana功能强大、UI灵活,并且提供了丰富的插件。
二、JMeter配置
1、jmeter后端监听器配置,配好后运行写入数据
2、后端监听器配置项说明
三、下载influxdb
1、指定influxdb版本下载
docker pull influxdb:1.8.3
2、启动容器
docker run -d --name influxdb -p 8086:8086 influxdb:1.8.3
注意:docker run -itd --name jmeterdb -p 8086:8086 influxdb:1.6.3
-d 使用-d选项后,容器会在后台执行并输出容器 ID,可以使用docker logs [container]来查看容器的输出结果。
-i 如果容器启动的 1 号进程是一个 shell 程序的话,通过-i选项就可以与之交互,保持容器持续运行。不指定-i,容器启动后就会自动退出。
-t 可以理解为为容器分配一个伪 tty 终端并绑定到容器的标准输入上,之后用户就可以通过终端来控制容器了
3、进入influxdb
进入容器:docker exec -it jmeterdb /bin/bash
进入influxdb命令:influx
进入后就相当于MySql的命令行
4、创建数据库
show databases; 查看数据库表
create database jmeter; 创建数据库
use jmeter; 使用jmeter表
show measurements; 查看measurements,相当于MySql中的show table;
select * from jmeter limit 10;
5、退出influxdb
exit 退出influxdb
exit 退出容器
三、Grafana配置
1、下载Grafana镜像,启动Grafana容器
2、、浏览器输入grafana地址访问
http://123.123.123.129:3000/login 注意ip地址是linux上使用ifconfig查看
输入密码相当于设置密码,账号密码:admin/admin
3、Grafana填写内容
第一步:Home-->Connections-->Add Data Source-->influDB-->Setting
第二步:填写url(ip是linux的ip地址,端口是influxDB镜像生成容器时的端口号)、填写数据库名
第三步:点击Save & test,注意上图报错InfluxDB Error: Bad Gateway
(1)排查发现centos7防火墙打开
输入命令查看防火墙状态:firewall-cmd --state
查看防火墙状态(关闭后显示notrunning,开启后显示running)
输入命令关闭防火墙:systemctl stop firewalld
输入命令查看防火墙状态:firewall-cmd --state
显示not running为关闭状态
(2) 用腾讯云服务器报错:Get "http://43.136.119.199:8086/query?db=jmeter&epoch=ms&q=SHOW+measurements": dial tcp 43.136.119.199:8086: i/o timeout error reading influxDB
防火墙-->管理规则-->添加规则-->添加8086的端口即可
第四步:点击Dashboards-->new-->import-->输入URL or ID -->点击Load,此时页面无数据,jmeter没有运行写入数据
在这个地址找到Grafana面板 https://grafana.com/grafana/dashboards/5496
4、查看grafana面板
五、总结
1、在docker上安装infludb、grafana镜像和容器
2、确认容器启动成功docker ps
3、配置jmeter后端监听器,指向influxdb容器
4、 向influxdb写入数据中
5、进入Grafana,输入账号密码admin/admin,会提示修改密码
6、配置数据源,两处修改(1.influxdb的url 2.库名)
8、导入Grafana模版,https://grafana.com/grafana/dashboards/5496
六、问题排查
1、JMeter-->influxdb
网络权限:ping influxdb 地址不通
配置错误:JMeter配置,连接配置
2、influxdb-->grafana
网络权限,防火墙
配置错误,注意空格等
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界