性能测试之可视化监控搭建

软件测试 3 43497
01765073
01765073 LV1 关注 2022年3月22日 17:49 编辑

背景

  • 互联网时代的到来,也给提供服务的系统带来严重的系统负荷,其中最明显的特征:”高并发”、”数据集中”。在软件测试过程中日益完善的功能测试,已经不能够完全满足用户的质量要求,从而性能测试在测试环节中成为不可缺少的部分。今天重点讲诉性能测试中最重要的可视化监控工具的搭建。推荐使用jmeter+grafana+influxdb+telegraf


Influxdb介绍

  • InfluxDB是一款用Go语言编写的开源分布式时序、事件和指标数据库,无需外部依赖。该数据库现在主要用于存储涉及大量的时间戳数据,如DevOps监控数据,APP metrics, loT传感器数据和实时分析数据。

Influxdb安装

具体步骤如下:

  1. 安装命令 yum install -y influxdb (注意:yum 要使用root账号)



  2. 修改InfluxDB的配置,主要配置jmeter存储的数据库与端口号,还有需要将UI端口开放 vim /etc/influxdb/influxdb.conf



  3. 启动influxdb
    nohup influxd -config /etc/influxdb/influxdb.conf &


  4. 在Influxdb中创建jmeter数据库

    1.输入命令: influx (打开influx数据库)

    2.show databases (查看数据库)

    3.Create database jmeter (创建jmeter数据库)

    4.Use jmeter (进入jmeter数据库)

    5.CREATE USER “admin” WITH PASSWORD ‘admin’ WITH ALL PRIVILEGES (创建管理 员权限的用户)

    6.Exit (退出数据库)



Telegraf介绍

  • Telegraf是InfluxData开发的一个数据采集器(collector), 用来收集各种监控数据, 因为其非常灵活的插件体系, 社区贡献了大量的采集插件, 从操作系统层面的指标到各种数据库, 中间件的插件应有尽有.

Telegraf安装

  1. 通过wget下载rpm包:
    wget https://dl.influxdata.com/telegraf/releases/telegraf-1.14.4-1.x86_64.rpm

  2. 通过yum安装本地rpm包
    sudo yum localinstall telegraf-1.14.4-1.x86_64.rpm


  3. 修改telegraf的配置文件
    我们需要配置/etc/telegraf/telegraf.conf需要写入的数据源,我们选择本机的influxdb作为数据源写入,配置如下: telegraf.conf 文件


  4. 启动telegraf服务,添加开机启动
    systemctl start telegraf.service
    service telegraf status
    systemctl enable telegraf.service



Grafana介绍

Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。它主要有以下六大特点:

  1. 展示方式:快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富的仪表盘插件,比如热图、折线图、图表等多种展示方式;
  2. 数据源:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB等;
  3. 通知提醒:以可视方式定义最重要指标的警报规则,Grafana将不断计算并发送通知,在数据达到阈值时通过Slack、PagerDuty等获得通知;
  4. 混合展示:在同一图表中混合使用不同的数据源,可以基于每个查询指定数据源,甚至自定义数据源;
  5. 注释:使用来自不同数据源的丰富事件注释图表,将鼠标悬停在事件上会显示完整的事件元数据和标记;
  6. 过滤器:Ad-hoc过滤器允许动态创建新的键/值过滤器,这些过滤器会自动应用于使用该数据源的所有查询。

Grafana安装

  1. 通过rpm安装
    通过wget下载rpm包: wget https://dl.grafana.com/enterprise/release/grafana-enterprise-7.0.4-1.x86_64.rpm
    通过yum安装rpm包 sudo yum install grafana-7.0.4-1.x86_64.rpm
    ![](https://51techud.yykj.com:9002/forumpic/20220318114755_6f.png)![](https://51techud.yykj.com:9002/forumpic/20220318114750_ib.png)![](https://51techud.yykj.com:9002/forumpic/20220318114746_o3.png)

  2. 启动grafana,添加开机启动
    systemctl daemon-reload
    systemctl start grafana-server
    systemctl status grafana-server
    systemctl enablegrafana-server.service

  3. 浏览器访问grafana服务
    输入地址:http://IP:3000
    账号密码:默认是admin

  4. 添加influxdb数据源


  5. 配置数据库的基本信息








  6. Grafana 使用模板文件创建仪表盘
    下载模板:访问链接下载模板文件,下载的模板文件官网:https://grafana.com/grafana/dashboards



  7. grafana导入模板






  8. Jmeter添加后置监听器
    测试计划——>添加监听器——> 后置监听器 (测试脚本中直接添加后置监听器)




  9. 运行Jmeter脚本,grafana可视化持久化观察数据



总结Jmeter+Grafana+Influxdb+Telegraf 运行逻辑

  • Jemter:压测脚本中添加Backend Listener的监听器,在Jmeter脚本对服务器进行压测的同时,统计下TPS、相应时间等数据。然后通过Backend Listener监听器将统计数据异步的传送到Influxdb数据库中。
  • Influxdb:一种时序数据库,这里用来存储Jmeter发送过来的数据。
  • Telegraf:监控服务器CPU 内存 磁盘IO 网络IO 等数据存到Influxdb数据库中
  • Granafa:一种可视化监控工具,在其中配置好Influxdb数据库信息后,这里最后用来展示性能测试结果信息。
赞(2) 收藏(2)  分享
相关标签: 测试
3个回复
Vaptcha启动中...