jmeter+influxdb+grafana性能测试监控

背景:

  话说Jmeter原生的监控确实太丑了,听大佬们在讨论Jmeter+InfluxDb+Grafana的监控,于是,为了有一个漂亮的测试报告,就手动开始进行部署。

安装步骤:

1、influxdb下载安装

  [[email protected] ~]# wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.0.x86_64.rpm --no-check-certificate

  [[email protected] ~]# rpm -ivh influxdb-1.7.0.x86_64.rpm

  (如果未安装wget,需要先安装,安装命令:[[email protected] ~]# yum search wget、[[email protected] ~]# yum install wget.x86_64)

    安装完之后,配置文件路径为: /etc/influxdb/influxdb.conf

修改配置文件:

  [[email protected] ~]# vi /etc/influxdb/influxdb.conf

  在配置文件中找到graphite配置项    

[[graphite]]
# Determines whether the graphite endpoint is enabled.
enabled = true
database = "jmeter"    # 数据库名称
retention-policy = ""
bind-address = ":2003"    # 端口
protocol = "tcp"
consistency-level = "one"
修改HTTP端口信息
[http]
# Determines whether HTTP endpoint is enabled.
enabled = true

# The bind address used by the HTTP service.
bind-address = ":8086"

   启动influxd服务:

[[email protected] ~]# influxd &  

influxDB的tcp端口:8088
      查看端口有没有起来:

[[email protected] ~]# netstat -anp|grep 8088

  influxDB数据库操作:

[[email protected] ~]# influx    # 登录数据库
Connected to http://localhost:8086 version 1.6.0
InfluxDB shell version: 1.6.0
> show databases    # 查看数据库
name: databases
name
----
_internal
jmeter
> create database "jmeter"    # 创建数据库
> use jmeter    #切换数据库
Using database jmeter
> create user "admin" with password ‘123456‘ with all privileges    # 创建管理员权限的用户

开启需要用到的接口:         

[[email protected] ~]# firewall-cmd --zone=public --add-port=8086/tcp --permanent
success
[[email protected] ~]# firewall-cmd --zone=public --add-port=2003/tcp --permanent
success
[[email protected] ~]# firewall-cmd --zone=public --add-port=8088/tcp --permanent
success
[[email protected] ~]# firewall-cmd --reload
success

2、Jmeter配置

  创建一个测试计划,并添加监听器-Backend Listenter,Backend Listener implementation 选择org.apache.jmeter.visualizers.backend.graphite.GraphiteBackendListenerClient
  添加线程
  设置influxDB IP及端口
  运行测试,等待几秒看数据

端口说明:

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

8086端口,Grafana从数据库取数据的端口

 查看Jmeter数据库的表信息:

[[email protected] ~]# influx
Connected to http://localhost:8086 version 1.6.0
InfluxDB shell version: 1.6.0
> show measurements
ERR: database name required
Warning: It is possible this error is due to not setting a database.
Please set a database with the command "use <database>".
> show databases
name: databases
name
----
_internal
jmeter
> use jmeter
Using database jmeter
> show measurements
name: measurements
name
----
jmeter.all.a.avg
jmeter.all.a.count
jmeter.all.a.max
jmeter.all.a.min
jmeter.all.a.pct90
jmeter.all.a.pct95
jmeter.all.a.pct99
jmeter.all.h.count
jmeter.all.ko.avg
jmeter.all.ko.count
jmeter.all.ko.max
jmeter.all.ko.min
jmeter.all.ko.pct90
jmeter.all.ko.pct95
jmeter.all.ko.pct99
jmeter.all.ok.avg
jmeter.all.ok.count
jmeter.all.ok.max
jmeter.all.ok.min
jmeter.all.ok.pct90
jmeter.all.ok.pct95
jmeter.all.ok.pct99
jmeter.all.rb.bytes
jmeter.all.sb.bytes
jmeter.test.endedT
jmeter.test.maxAT
jmeter.test.meanAT
jmeter.test.minAT
jmeter.test.startedT

这个时候已经可以将统计数据成功发送到InfluxDB

3、Grafana和influxDB数据源配置

     安装Grafana:

官网:https://grafana.com/grafana/download

下载地址:https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.2.1-1.x86_64.rpm
          安装:rpm -ivh grafana-5.2.1-1.x86_64.rpm

(如果提示:

    警告:grafana-5.2.1-1.x86_64.rpm: 头V4 RSA/SHA1 Signature, 密钥 ID 24098cb6: NOKEY
    错误:依赖检测失败:
    fontconfig 被 grafana-5.2.1-1.x86_64 需要
    urw-fonts 被 grafana-5.2.1-1.x86_64 需要

    执行命令:[[email protected] ~]#  yum install fontconfig freetype* urw-fonts -y

后,再进行安装

  )

  启动
    [[email protected] ~]# service grafana-server start
    Starting Grafana Server: ... [ OK ]  

开启3000访问端口:

    [[email protected] benben]# firewall-cmd --zone=public --add-port=3000/tcp --permanent
    success
    [[email protected] benben]# firewall-cmd --reload
    success

    浏览器访问:http://IP:3000/login
    grafana的默认用户名密码都是admin,第一次登录会要求更改密码

    

     创建influxDB数据源

    单击save & Test,提示:data source is working,说明保存和连接成功

    创建dashboard

    新建Graph面板

    数据绑定

    选择influxdb的数据源库名,jmeter的相关表

    定义显示的名称

    保存数据模板
    直接按ctrl+s或点击保存按钮

说明:想要了解这些监控都代表什么意思,可以访问Jmeter的官网地址去查看阅读“http://jmeter.apache.org/usermanual/realtime-results.html”

线程数/用户相关指标
test.minAT-Min active threads:最小活跃线程数
test.maxAT-Max active threads:最大活跃线程数
test.meanAT-Mean active threads:活跃线程数
test.startedT-Started threads:启动线程数
test.endedT-Finished threads:结束线程数
响应时间指标
.ok.count:采样器的成功响应数
.h.count:每秒点击数
.ok.min:采样器成功最短响应时间
.ok.max:采样器成功最长响应时间
.ok.avg:采样器成功平均响应时间
.ok.pct:采样器成功响应百分比
.ko.count:采样器失败响应数
.ko.min:采样器失败的响应最短时间
.ko.max:采样称失败最长响应时间
.ko.avg:采样器失败平均响应时间
.ko.pct:采样器失败响应百分比
.a.count:采样器响应数(ok.count和ko.count的总和)
.a.min:采样器最小响应时间(ok.count和ko.count的最小值)
.a.max:采样器最大响应时间(ok.count和ko.count的最大值)
.a.avg:采样器平均响应时间(ok.count和ko.count的平均值)
.a.pct:采样器响应百分比(根据和失败样本的总数计算)
Backend Listener的默认百分位设置为“90;95;99”,即百分位数为90%,95%和99%。
Graphite使用点(“.”)去拆分的元素,这可能与十进制百分位值混淆。JMeter转换任何此类值,用下划线(“ - ”)替换点(“.”)。例如,“99.9 ”变为“99_9 ”
默认情况下,JMeter发送在samplerName“all”下累计的所有采样器的指标。 如果配置了 BackendListenerSamplersList,那么JMeter还会发送匹配样本名称的指标,前提是配置 summaryOnly=true

    导入Dashboard模版

    从Grafana官网下载相应的模板
    官网模版库:https://grafana.com/dashboards
    搜索看板模版

    下载:jmeter load test 

   下载的jar包复制到jmeter的/lib/ext下面

    导入模板

    加载模板文件,将下载的json文件打开,将源码复制粘贴到第二个框中

    选择模板数据源

    重启jmeter,再添加一个后置处理器-Backend Listener,选择rocks.nt.apm.jmeter.JMeterinfluxDBBackendListenerClient,输入influxDB的host和端口,之前创建用户名和密码 

    压测的效果图

图片和操作步骤转自https://www.cnblogs.com/mike-liu/p/10080351.html博客,感谢!

原文地址:https://www.cnblogs.com/benben-wu/p/10650410.html

时间: 2024-11-07 09:33:18

jmeter+influxdb+grafana性能测试监控的相关文章

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

上Grafana官网下载Grafana,此产品只有64位的版本,没有32位的 Influxdb:InfluxDB是一个开源的时序数据库,使用GO语言开发,特别适合用于处理和分析资源监控数据这种时序相关数据.而InfluxDB自带的各种特殊函数如求标准差,随机取样数据,统计数据变化比等,使数据统计和实时分析变得十分方便.上官网下载 因为jmeter要往infuxdb里面写数据,所以最好把这两个放在一台机器上,grafana只做展示infuxdb里面的数据,可以另外部署 jmeter实时数据展示系统

性能工具之JMeter+InfluxDB+Grafana打造压测可视化实时监控

一.安装配置InfluxDB InfluxDB是GO语言开发的一个开源分布式时序数据库,非常适合存储指标.事件.分析等数据.有人做过mysql和influxDB对比,存储1000万条数据mysql要7分多钟,influxDB只需2分多钟,从1000万条数据读10000条所需数据mysql要6秒多,influxDB只需0.22秒多.下面介绍安装过程. 1.下载链接:https://portal.influxdata.com/downloads#influxdb 2.安装 InfluxDB是绿色版,

性能工具之JMeter+InfluxDB+Grafana打造压测可视化实时监控(centos7环境)

前提条件,已经安装jmeter并可以运行 1.安装influxdata wget et https://dl.influxdata.com/influxdb/releases/influxdb-1.7.7.x86_64.rpm sudo yum localinstall influxdb-1.7.7.x86_64.rpm 2.修改influxdb配置 vim /etc/influxdb/influxdb.conf #进入influxdb配置文件,ubuntu默认配置文件地址 在命令模式输入/gr

jmeter+influxdb+granfana+collectd监控cpu+mem+TPS

1.安装grafana #####gafana过期安装包安装报错 Error unpacking rpm package grafana-5.1.4-1.x86_64error: unpacking of archive failed on file /usr/sbin/grafana-cli;5e250e9c: cpio: read Verifying : grafana-5.1.4-1.x86_64 原因安装包损坏不是最新的######下载官网最新的包:####grafana install

在Marathon 上部署 cAdvisor + InfluxDB + Grafana Docker监控

关于 Docker 容器的监控,google cAdvisor 是个很好的工具,但是它默认只显示实时数据,不储存历史数据.为了存储和显示历史数据.自定义展示图,可以把将cAdvisor与InfluxDB.Grafana 集成起来. 需要的镜像: tutum/influxdb google/cadvisor grafana/grafana 安装:有8台mesos-slave,都需要运行一个cAdvisor docker实例对docker进行监控,然后需要运行一个InfluxDB docker实例存

[经验交流] 在 Mesos Marathon 上部署 cAdvisor + InfluxDB + Grafana Docker监控

关于 Docker 容器的监控,google cAdvisor 是个很好的工具,但是它默认只显示实时数据,不储存历史数据.为了存储和显示历史数据.自定义展示图,可以把将cAdvisor与InfluxDB.Grafana 集成起来,国外的专家 Brian Christner 写了一篇文章”How to setup Docker Monitoring“,描述了部署方法. Brian 的方法是手动运行 docker run 命令进行部署,为了能在 Mesos Marathon 平台上自动部署,我对他的

Spring Boot Actutaur + Telegraf + InFluxDB + Grafana 构建监控平台

完成一套精准,漂亮图形化监控系统从这里开始第一步 Telegraf是收集和报告指标和数据的代理 它是TICK堆栈的一部分,是一个用于收集和报告指标的插件驱动的服务器代理.Telegraf拥有插件或集成功能,可直接从运行的系统获取各种指标,从第三方API获取指标,甚至通过StatsD和Kafka消费者服务来收听指标.它还具有输出插件,可将指标发送到各种其他数据存储,服务和消息队列,包括InfluxDB,Graphite,OpenTSDB,Datadog,Librato,Kafka,MQTT,NSQ

Spring Boot Actutaur + Telegraf + InFluxDB + Grafana 构建监控平台之应用数据分析

本节将引入完美的granafa仪表板,在上节的基础上,并提出自己的一些监控数据的总结和看法 你可以有一个类似于这个的Dashboard,会引入监控Zimbra协作 本节环境采用的是centos7系统,配置跟上节介绍的一样,但是Telegraf是企业级监控加入很多可靠的监控插件,非常有用的一些参数,随之也给自 己的监控数据分析带来了复杂度. Telegraf:它负责收集我们通过配置文件传递的所有数据,Telegraf收集我们配置的输出结果,例如CPU / RAM / LOAD或Nginx,Mari

Docker+JMeter+InfluxDB+Grafana从容器内部发起压测

1.自由定制JMeter镜像: Dockerfile文件: FROM java:8# 基础镜像 MAINTAINER yangjianliang <[email protected]># 作者 ENV http_proxy ""ENV https_proxy "" RUN mkdir /test && \ chmod -R 777 /test# 创建/test目录,用于存放jmx脚本.jtl结果文件.html测试报告文件 ENV JMET