• 性能测试五十:Jmeter+Influxdb+Grafana实时数据展示系统搭建


    如果用生成jtl文件再分析结果的方式的话,每一次请求就会往jtl里面写一条数据,在进行长时间的稳定性测试的时候,特别是当TPS很高的时候,写入的数据会非常的大,这个时候等稳定性测试完成,再对jtl进行分析,会无法分析,如果要强制进行分析,造成的最后结果是内存泄漏,即无法分析,所以需要通过其他途径来保存和分析数据

    上Grafana官网下载Grafana,此产品只有64位的版本,没有32位的

    Influxdb:InfluxDB是一个开源的时序数据库,使用GO语言开发,特别适合用于处理和分析资源监控数据这种时序相关数据。而InfluxDB自带的各种特殊函数如求标准差,随机取样数据,统计数据变化比等,使数据统计和实时分析变得十分方便。上官网下载

     

    因为jmeter要往infuxdb里面写数据,所以最好把这两个放在一台机器上,grafana只做展示infuxdb里面的数据,可以另外部署

    jmeter实时数据展示系统搭建(windows为例,linux也是这样部署)

    1,InfluxDB安装配置
    安装:解压influxdb-1.2.4_windows_amd64.zip

    修改influxdb.conf

    [[graphite]]
    enabled = true
    database = "jmeter"
    bind-address = ":2003"
    protocol = "tcp"
    consistency-level = "one"

     修改后

    [admin]
    enabled = true
    bind-address = ":8083"
    https-enabled = false

    修改后

    启动:cmd下进入到解压目录,执行命令:influxd -config influxdb.conf

    =================================linux版=================================

     1、通过Xshell连接到虚拟机,执行如下命令(安装完成后在/etc下面):

      wget https://dl.influxdata.com/influxdb/releases/influxdb-1.2.2.x86_64.rpm

      sudo yum localinstall influxdb-1.2.2.x86_64.rpm

      或者:rpm -ivh 自己上传的 influxdb.rpm包

    2、InfluxDb配置文件,存放在/etc/influxdb/influxdb.conf

    3、InfluxDb操作

      3.1、启动InfluxDb,执行命令:systemctl start influxdb  或者:influxd

      3.2、查看InfluxDb状态,执行命令:systemctl status influxdb

      3.3、停止InfluxDb,执行命令:systemctl stop influxdb

    =================================linux版=================================

    访问:http://localhost:8083/

    创建数据库:CREATE DATABASE "jmeter" 回车

    2,安装Grafana
    安装:直接解压grafana-4.3.2.windows-x64.zip

    启动:进入bin目录下,双击grafana-server.exe

    =================================linux版=================================

    一、安装

      1  通过Xshell连接到虚拟机,执行如下命令:

      wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.2.0-1.x86_64.rpm

      sudo yum localinstall grafana-4.2.0-1.x86_64.rpm

      或者:rpm -ivh 自己上传的grafana.rpm包

      2 设置自启动,执行如下命令:

      systemctl daemon-reload (重新载入 systemd,扫描新的或有变动的单元)

      systemctl enable grafana-server.service

      3 启动Grafana,执行命令:systemctl start grafana-server

      4 通过浏览器访问Grafana:Grafana默认访问端口是3000,admin用户的默认密码是admin

     二、Grafana配置文件,存放在/etc/grafana/grafana.ini,里面的配置,基本上不需要修改,如果需要修改,注释掉每个配置项前面的分号即可。

      1 数据文件:Grafana默认使用SQLite3进行存储,存储路径为:/var/lib/grafana

      2 日志文件存储路径为: /var/log/grafana

      3 域名默认是:domain = localhost,其中localhost可以修改为指定的域名

      4 是否允许非admin用户创建组织:;allow_org_create = false

      5 是否允许匿名登录 

      [auth.anonymous]

      # enable anonymous access

      ;enabled = false

    =================================linux版=================================

    访问http://localhost:3000
    登录admin/admin

    配置:
    1、进入系统
    2、添加DataSource,

    3、name写自定义的名称随便写,type选influxdb

    4、填写influxdb的url(默认读数据的端口号8086):http://localhost:8086

    5、database写jmeter,其他均不用写,最后点save and test

    可以点save&test试一下

     回到home页

    注意:
    8083是influxdb的web端访问端口
    2003是Jmeter往influxdb中写数据的接口
    8086是grafana访问influxdb的端口

    6、创建jmeter脚本,添加监听器-backend listener

    监听器配置
    1、graphiteHost:influxdb的ip
    2、summaryOnly:false
    3、samplersList:http请求名称的前缀.+,如get-.+(这里有两种情况,如只想看名字为http...的,就写http...,如果想看多个,就用正则表达式,前提是创建的请求的前缀都是一样的)
    4、useRegexpForSamplersList:true

    运行jmeter,到influxdb页面中查询:select * from /.*/ limit 1,可以看到刚才运行的数据

    选择jmeter库

    输入sql语句,回车

    5、配置grafana报表

    这里一般选择曲线图就行了

    点PanelTiltle_Edit,即可添加要监控的指标

    要展示的指标,这里有3种情况,ok代表成功的,ko代表失败的,a代表全部

    Display下面,Null value改为connected,创建完成后关掉

    展示为下图,点ADD ROW可以继续添加指标

    如果不想看这个指标了,可以把鼠标往左放,会弹出菜单,remove就行了

    设置好要展示的数据的阶段和规则,点保存,以后想看哪个阶段的数据都可以在这里设置

    开始压测,10个并发跑600秒

     

    6、grafana中监听的Jmeter各指标解释:http://jmeter.apache.org/usermanual/realtime-results.html

  • 相关阅读:
    [摘]MongoDB范围查询的索引优化
    python ftp 暴破
    写mongodb日志
    [转]使用 Python 实现跨平台的安装程序
    HDOJ 1008 Elevator
    第一个数字
    反转串
    HDOJ 1108 最小公倍数
    HDOJ 1096 A+B for InputOutput Practice (VIII)
    报数游戏
  • 原文地址:https://www.cnblogs.com/malinalian/p/10583331.html
Copyright © 2020-2023  润新知