前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Grafana+Influxdb(Prometheus)+Jmeter搭建可视化性能测试监控平台

Grafana+Influxdb(Prometheus)+Jmeter搭建可视化性能测试监控平台

作者头像
软测小生
发布2020-05-07 23:18:17
2.2K0
发布2020-05-07 23:18:17
举报
文章被收录于专栏:软测小生软测小生

前言: 因为近期项目涉及到一些性能测试监控平台相关的想法 Grafana+Influxdb+Jmeter Grafana+Prometheus+Jmeter 等等 抽周末时间来尝试搭建下Grafana+Influxdb+Jmeter 主要介绍使用docker-compose.yml文件的方式进行安装,简洁明了,不用逐个去安装服务。

连接aliyun服务器实例

首先得有一台Linux服务器(虚拟机或者云服务器),该文以aliyun服务器为基础,CentOS 8.0

如果是云服务器,记得配置需要用到的端口,3000,8086,8083,8090等,设置安全组--> 配置规则里面:

设置安全组
设置安全组
设置安全组
设置安全组

Aliyun实例安装Docker:

Linux:Centos 8.0

更新软件 sudo yum update

卸载旧版本 (如果安装过旧版本的话) sudo yum remove docker docker-common docker-selinux docker-engine

安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的 sudo yum install -y yum-utils device-mapper-persistent-data lvm2

设置yum源 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo (这个是官方源,很慢) sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo (阿里的源,较快)

可以查看所有仓库中所有docker版本,并选择特定版本安装 yum list docker-ce --showduplicates | sort -r

install docker
install docker

安装docker sudo yum install docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0 sudo yum install # 例如:sudo yum install docker-ce-18.03.1.ce-1.el7.centos

:注意阿里云的el7是EL7,切勿看错成数字1

将root添加到docker组,以便您能够执行Docker命令,而无需使用sudo,安装完成之后需要重启ssh session。

代码语言:javascript
复制
1sudo usermod -a -G docker root

启动Docker

代码语言:javascript
复制
1sudo systemctl start docker # 
2(sudo systemctl enable docker) #开机启动 
3sudo docker --version #查看Docker版本

安装Compose,运行compose.yml

pip3 install docker-compose

docker-compose.yml如下:

代码语言:javascript
复制
 1version: '3.1'
 2
 3services:
 4 influxdb:
 5   image: influxdb:latest
 6   container_name: influxdb
 7   ports:
 8     - "8083:8083"
 9     - "8086:8086"
10     - "8090:8090"
11   environment:
12     - INFLUXDB_DB=db0
13     - INFLUXDB_ADMIN_USER=${INFLUXDB_USERNAME}
14     - INFLUXDB_ADMIN_PASSWORD=${INFLUXDB_PASSWORD}
15   volumes:
16     - influxdb-storage:/var/lib/influxdb
17
18 grafana:
19   image: grafana/grafana:latest
20   container_name: grafana
21   ports:
22     - "3000:3000"
23   environment:
24     - GF_SECURITY_ADMIN_USER=${GRAFANA_USERNAME}
25     - GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_PASSWORD}
26   depends_on:
27     - influxdb
28   user: "0"
29   volumes:
30     - grafana-storage:/var/lib/grafana
31     - ./grafana-provisioning/:/etc/grafana/provisioning
32volumes:
33  influxdb-storage:
34  chronograf-storage:
35  grafana-storage:

设置环境文件.env, 主要是设置用户名和密码

代码语言:javascript
复制
1INFLUXDB_USERNAME=admin
2INFLUXDB_PASSWORD=admin
3
4GRAFANA_USERNAME=admin
5GRAFANA_PASSWORD=admin

运行docker-compose,安装influxdb和grafana,安装完成之后如下图:

代码语言:javascript
复制
1docker-compose up -d
在这里插入图片描述
在这里插入图片描述

http://IP:3000

初始密码为:admin/admin 首次登陆grafana会要求设置新密码

登陆到grafana主页之后,创建新的Data Source:

配置Database,选择InfluxDB:

InfluxDB
InfluxDB

填入你的IP地址http://*.*.*.*:8086

输入InfluxDB信息,如果没做更改的话user和pwd都是默认的root, 为了安全自行修改。

Dashboards导入Jmeter模板

到Dashboards去下载:https://grafana.com/grafana/dashboards

或者直接访问:https://grafana.com/grafana/dashboards/5496 复制该模板的ID 或者URL

到我们登陆的Grafana主页去粘贴即可,如下图

然后可以进行命名,填入之前建好的DataSource 名字,设置发送时间,保存即可。

然后转到刚刚建好的主页,如下图,右上角可以设置:

设置界面,可更具你的需要进行设置,比如下面两个点分别是设置时间显示和刷新频率。

接下来就准备运行Jmeter ,生成数据,看看效果。 挑选了一个URL,对其进行简单的运行并返回数据。 https://mp.weixin.qq.com/s/pzsE326aPk-4iPhfBC52sQ

Jmeter脚本
Jmeter脚本
Jmeter脚本
Jmeter脚本
Jmeter脚本
Jmeter脚本

其结果如下:

另外再介绍一种方式就是使用docker-compose.yml的方式安装,而是一步步通过Docker安装的方式如下:

通过Docker images安装

安装influxdb

搜索influx:docker search influx 拉取influxdb镜像:docker pull influxdb 查看镜像Images:docker images 运行influxdb容器:docker run --name my_influxdbName -p 8086:8086 influxdb 查看运行的容器Container:docker ps -a 进入容器:docker exec -it 容器ID /bin/bash 创建数据库jmeterDB:create database jmeterDB

创建数据库jmeterDB
创建数据库jmeterDB

influxdb容器运行成功后,通过Web浏览器访问http://docker-host-ip:8083访问influxdb后台管理,并登录后台管理系统(默认用户名:root, 默认密码:root)

安装grafana

搜索grafana:docker search grafana

拉取grafana镜像:docker pull grafana/grafana

运行容器:docker run --name my_grafana -p 3000:3000 grafana/grafana

然后查看状态 docker ps -a 查看当前运行的实例 退出来再次启动即可 docker start ContainerID

接下来就是使用http://IPAddress:3000去登陆grafana并进行配置了 步骤如上文docker-compose的方式。

Prometheus

需要在Jmeter下装一个插件,用于监听。 https://search.maven.org/remotecontent?filepath=com/github/johrstrom/jmeter-prometheus-plugin/0.6.0/jmeter-prometheus-plugin-0.6.0.jar 下载jmeter-prometheus-plugin-0.6.0.jar之后放到Jmeter/lib/ext下,重启Jmeter即可。

jmeter-prometheus-plugin
jmeter-prometheus-plugin
Prometheus Listener
Prometheus Listener
prometheus Metrics
prometheus Metrics

更多设置参考这篇文章: https://qainsights.com/jmeter-prometheus-and-grafana-integration/

Grafana+Prometheus
Grafana+Prometheus
Prometheus
Prometheus

总结:

性能大佬说: 其实,很多测试朋友喜欢这个监控,是因为炫酷,可以在领导面前装逼,出个很炫的报告, 我觉得真正性能监控分析,用这个没啥卵用,至少我不会用,so,模板配置,感兴趣的自己研究下,之所以写这篇,也是总结下大家的疑问;当然,如果你出去面试,可以把这个拿出去吹一下,毕竟工作不好找。

搭建其实也很简单,一个配置文件就搞定,但是想要更好地应用到实践中的话需要对Grafana Dashboard做更多的优化和设置。 另外Grafana+Prometheus+Jmeter这种方式不过就是换一个DataBase,将InfluxDB换成Prometheus,理念大体一样,很细微的差别。 但是这个Grafana+Prometheus/influxDB模式可以用到其他地方的监控,也是个不错的选择。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软测小生 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 连接aliyun服务器实例
  • Aliyun实例安装Docker:
  • 安装Compose,运行compose.yml
  • Dashboards导入Jmeter模板
  • 通过Docker images安装
  • 安装influxdb
  • 安装grafana
  • Prometheus
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档