zoukankan      html  css  js  c++  java
  • 搭建Jmeter + Grafana + InfluxDB性能测试监控环境

    背景

    Jmeter原生的实时监控每半分钟收集一次数据,只能在Linux控制台查看日志输出,界面看起来不直观,图表报告只能等压测结束后才能生成。如下图为jmeterLinux下运行的实时日志:

     

    那么如何在压测过程中实时生成图表监控数据呢?这里介绍一种实现方案:搭建Jmeter + Grafana + InfluxDB性能测试监控环境。

    实现方案

     

    BackendListenerJmeter中的监听器

    InfluxDB:存储实时数据的DB

    GrafanaDB中存储的实时数据可以在浏览器查看

    软件安装

    1安装InfluxDB

    新建InfluxDB下载源

    cat << EOF | tee /etc/yum.repos.d/influxdb.repo

    [influxdb]

    name = InfluxDB Repository - RHEL $releasever

    baseurl = https://repos.influxdata.com/rhel/$releasever/$basearch/stable

    enabled = 1

    gpgcheck = 1

    gpgkey = https://repos.influxdata.com/influxdb.key

    EOF

    使用yum下载InfluxDB

    yum install -y influxdb

    修改InfluxDB的配置,主要配置jmeter存储的数据库与端口号,还有需要将UI端口开放

    [root@localhost ~]# vi /etc/influxdb/influxdb.conf

    # 找到graphite并且修改它的库与端口

    [[graphite]]

      enabled = true

      database = "jmeter"

      bind-address = ":2003"

      protocol = "tcp"

      consistency-level = "one"

    启动InfluxDB

    [root@localhost ~]# /etc/init.d/influxdb restart

    Stopping influxdb...

    influxdb process was stopped [ OK ]

    Starting influxdb...

    influxdb process was started [ OK ]

    2安装Grafana

    使用yum下载Grafana并且安装

    yum install https://grafanarel.s3.amazonaws.com/builds/grafana-3.0.1-1.x86_64.rpm

    启动Grafana

    [root@localhost ~]# /etc/init.d/grafana-server restart

    OKopping Grafana Server ...                                [  OK  ]

    Starting Grafana Server: .... OK

    打开浏览器,访问测试机IP

     - 8086端口是Grafana用来从数据库取数据的端口

     - 2003端口Jmeter往数据库发数据的端口

    3、配置Jmeter

     

    配置Grafana数据源

     

    配置图表

    图表配置比较麻烦,可以直接导入别人配置好的图表:https://grafana.com/dashboards/4026

    大致介绍几种常用的监控

    名称

    描述

    jmeter.all.h.count

    所有请求的TPS

    jmeter.<请求名称>.h.count

    对应<请求名称>的TPS

    jmeter.all.ok.pct99

    99%的请求响应时间

    jmeter.<请求名称>.ok.pct99

    对应<请求名称>99%的请求响应时间

    jmeter.all.test.startedT

    线程数

    如果要监控<请求名称>的话,Jmeter上的“Backend Listener”修改如下参数

    1. 将“summanyOnly”修改成False,

    2. 将“userRegexpForSamplersList”修改成True,

    3. 并且要设置“samplersList”的值,“samplersList”是可以支持正则表达式的,“samplersList”的设置要与请求对应,否则找不到该请求。

    配置好的监控图:

     

  • 相关阅读:
    技术选型总结
    这些年来收集的好用的好玩的软件,强烈推荐给大家
    如何解决markdown中图片上传的问题
    01.如何把.py文件打包成为exe,重点讲解pyinstaller的用法
    Asp.net中汉字转换成为拼音
    程序员常用网址收集
    通过IP来判断所在城市
    以太坊
    分布式系统领域经典论文翻译集
    T50
  • 原文地址:https://www.cnblogs.com/lynnetest/p/10084268.html
Copyright © 2011-2022 走看看