• 搭建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”的设置要与请求对应,否则找不到该请求。

    配置好的监控图:

     

  • 相关阅读:
    POJ 3253 Fence Repair
    POJ 2431 Expedition
    NYOJ 269 VF
    NYOJ 456 邮票分你一半
    划分数问题 DP
    HDU 1253 胜利大逃亡
    NYOJ 294 Bot Trust
    NYOJ 36 最长公共子序列
    HDU 1555 How many days?
    01背包 (大数据)
  • 原文地址:https://www.cnblogs.com/lynnetest/p/10084268.html
Copyright © 2020-2023  润新知