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

    配置好的监控图:

     

  • 相关阅读:
    Python3安装turtle提示错误:Command "python setup.py egg_info" failed with error code 1
    慕学生鲜xadmin登录不成功解决办法
    mysql删除后ID不连续解决办法
    Mac 安装gevent
    ubuntu 下 docker的简单使用
    python 字典的一些简单操作
    列表推导式
    Serializer字段和选项
    添加包解决一些导包问题
    css 文本换行,文本空白符处理相关 属性:white-space word-wrap word-break
  • 原文地址:https://www.cnblogs.com/lynnetest/p/10084268.html
Copyright © 2011-2022 走看看