Jmeter监控平台搭建:JMeter+InfluxDB+Grafana

平时一般用Jmeter的Gui模式,添加对应的插件,查看每秒线程数、TPS、响应时间等曲线,其实高并发是不建议这么看的。

解决方案

可以搭配InfluxDB+Grafana工具,使Jmeter异步发送数据到InfluxDB,然后由Grafana查询并展示出来,方便查看与比对。

之前使用Docker方式搭建过这个监控平台,这里记录下。

 安装Docker

网上安装Docker的方式很多,我之前也写过一篇Centos7下安装Docker可以参考,本次是CentOS8.2安装(华为云 root账户)。

安装所需软件包:

yum install -y yum-utils device-mapper-persistent-data lvm2

 

 发现报错了,原来是镜像链接不对,官方描述该版本停止更新相应依赖了

 于是换源:参考链接,重新执行命令

 添加阿里云镜像:

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

直接安装最新版本:

yum install docker-ce

安装完成后,输入systemctl start docker命令启动docker。

安装InfluxDB

 InfluxDB是一个时间序列数据库,旨在处理高写入和查询负载。用作涉及大量带时间戳数据的任何用例的后备存储,包括DevOps监控,应用程序指标,物联网传感器数据和实时分析。

使用docker命令拉取容器镜像(由于2.x版本与1.x版本语法不一样,这里安装1.8版本的):

docker pull influxdb:1.8

运行容器(这里如果不用镜像id会默认拉取influxdb的最新版本):

docker run --name my_influxdb -p 8086:8086 镜像id

 为了保存jmeter的发送的数据,需要先建一个数据库,进入容器(docker ps查看容器id)

docker exec -it 容器id /bin/bash

 输入influx进入数据库交互命令行,创建一个jmeter的数据库。

influx
show databases;
create database jmeter;
show databases;
use jmeter;
select * from jmeter;
exit;

安装Grafana

Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知,有着精美的可视化图表模板。

使用docker命令拉取容器镜像:

docker pull grafana/grafana

 运行容器:

docker run --name my_grafana -p 3000:3000 grafana/grafana

输入IP:3000就可以访问grafana了, 默认用户名:admin,密码admin。(本地访问华为云,需要在云服务器控制台—安全组,找到对应的安全组开放出入端口)

Grafana配置数据源

登录grafana,在界面中找到配置中心

接着添加数据源

 

 选择influxDB

 配置数据源的名称,远程URL为上面influxdb的ip:8086,database为jmeter

 

 点击save&test按钮,会自动连接保存,出现下面弹窗就ok了

 数据源添加好后,接着导入图表展示模板,可以官方下载导入json文件方式,也可以直接输入模板id导入,这里选择后面一种。

 直接填写模板id5496,点击load

 修改模板名称,匹配数据源,点击import就ok了

 如下所示:

Jmeter配置

Jmeter的安装就省略了,这里说下插件配置,添加后端监听器:

 后端监听器配置如下,其他配置不用动:

调试对比数据

添加一个简单jmeter脚本,运行5分钟

 查看聚合报告

 

 查看grafana图表,选择最近15分钟的数据,和上面的报告数据也能对得上。

下一章:Python中的Super详解

这篇文章我们来介绍一下 super,我相信大部分的人使用 super 都是使用这种方式;# 就是我有一个 class 比如说是 Male,然后继承另外一个 class 比如是 Person,然后我在这个 Ma ...