zoukankan      html  css  js  c++  java
  • 二十五、JMeter实战-JMeter-InfluxDB-Grafana性能测试监控平台

    前言

    性能测试工具 JMeter 自带的监视器对性能测试结果的实时展示,在Windows系统下的GUI模式运行,渲染和效果不是太好,在linux环境下又无法实时可视化。
    因此如果有一个性能测试结果实时展示的页面,可以提高我们对系统性能表现的掌握程度,另一方面也提高了我们的测试效率。所以我们现在用InfluxDB+Grafana对性能结果进行实时监控,把JMeter的压测结果写入InfluxDB,然后通过Grafana展示出来。

    一、InfluxDB简介与安装

    1、InfluxDB简介

    InfluxDB 是用 Go 语言编写的一个开源分布式时序、事件和指标数据库,无需外部依赖。
    类似的数据库有 Elasticsearch、Graphite 等。

    主要功能:
    1)基于时间序列,支持与时间有关的相关函数(如最大,最小,求和等)
    2)可度量性:你可以实时对大量数据进行计算
    3)基于事件:它支持任意的事件数据

    InfluxDB主要特点:

    1)无结构(无模式):可以是任意数量的列
    2)可拓展的
    3)支持 min, max, sum, count, mean, median 等一系列函数,方便统计
    4)原生的 HTTP 支持,内置HTTP API
    5)强大的类 SQL 语法
    6)自带管理界面,方便使用

    二、InfluxDB安装

    InfluxDB官方文档:

    https://docs.influxdata.com/influxdb/v1.6/

    下载安装包:

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

    下载完之后,直接就可以安装

    yum localinstall influxdb-1.7.0.x86_64.rpm
    

    提示一下信息即表示安装成功了

    启动 influxdb 数据库:

    service influxdb start
    

    停止 influxdb 数据库:

    service influxdb stop
    

    端口说明

    8083:访问 web 页面的地址,8083 为默认端口;
    8086:数据写入 influxdb 的地址,8086 为默认端口;
    8088:数据备份恢复地址,8088 为默认端口;

    开启防火墙:

    firewall-cmd --add-port=8086/tcp --permanent
    firewall-cmd --add-port=8086/udp --permanent 
    firewall-cmd --reload
    

    PS:如果你的服务器是阿里云的话,在阿里云控制台-安全组,开启准入访问的端口,不然访问不了。

    查看InfluxDB端口号:

    ``netstat -nultp```

    提示没找到命令。
    解决办法:

    linux使用netstat或者ifconfig命令时,显示命令未找到。

    yum install net-tools
    

    再重新查看端口号即可

    三、Grafana介绍与安装

    Grafana 是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。它主要有以下六大特点:

    • 1、展示方式:快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富的仪表盘插件,比如热图、折线图、图表等多种展示方式;
    • 2、数据源:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB等;
    • 3、通知提醒:以可视方式定义最重要指标的警报规则,Grafana将不断计算并发送通知,在数据达到阈值时通过Slack、PagerDuty等获得通知;
    • 4、混合展示:在同一图表中混合使用不同的数据源,可以基于每个查询指定数据源,甚至自定义数据源;
    • 5、注释:使用来自不同数据源的丰富事件注释图表,将鼠标悬停在事件上会显示完整的事件元数据和标记;
    • 6、过滤器:Ad-hoc过滤器允许动态创建新的键/值过滤器,这些过滤器会自动应用于使用该数据源的所有查询。

    官方文档:
    https://grafana.com/docs/grafana/latest/

    安装Grafana

    wget https://dl.grafana.com/oss/release/grafana-6.2.2-1.x86_64.rpm
    

    下载完成进行安装

    yum localinstall grafana-6.2.2-1.x86_64.rpm

    启动 grafana 服务:
    service grafana-server start

    停止 grafana 服务:
    service grafana-server stop

    设置开机启动:

    systemctl enable grafana-server.service

    启动服务,打开浏览器,输入IP+端口,3000为 Grafana 的默认侦听端口。

    注意一点就是先添加防火墙:

    firewall-cmd --add-port=3000/tcp --permanent
    firewall-cmd --add-port=3000/udp --permanent 
    firewall-cmd --reload
    

    默认账号密码:admin/admin

    还记得前面说的原理吗?InfluxDB数据库存放数据---通过Grafana动态展示出来,那么数据从哪里来?so。。。配置JMeter

    四、JMeter配置

    在监听器中添加后置监听器

    主要是配好url

    五、InfluxDB配置

    1)进入 InfluxDB 数据库:influx

    2)新建一个”jmetertest”数据库:create database jmetertest

    3)查看数据库:show databases;

    4)使用jmetertest数据库:use jmetertest;

    5)显示表:show measurements;

    有两张表,我们主要看jmeter表

    6)去 JMeter 中运行一个准备好的脚本,运行完在jmeter表中查看有没有数据。

    7)查看 JMeter 表:select * from jmeter;

    数据出来了,那么配置Grafana,把这些数据动态展示出来。

    六、配置Grafana

    登录 Grafana,进入首页

    1)创建一个数据源

    2)选择InfluxDB

    3)填写好以下信息,注意填写正确

    4)新建一个import

    5)选择4026模板

    如果要其他模板,去仪表盘中选择:

    https://grafana.com/grafana/dashboards

  • 相关阅读:
    高可用架构案例一
    小程序页面可以放置转发按钮,同时开放了微信运动步数背景音乐播放等更多基础能力
    [今日干货]微博如何才能快速增粉?
    [今日干货]短视频获得种子用户的途径
    【今日干货】分享个微信解绑手机号的方法
    群用户通过微信小程序可以更好地协作了
    微信小程序首支视频广告片发布
    微信公众号可快速创建“门店小程序” 不用开发
    公众号和小程序可以同名了 名称支持同主体复用
    公众号群发文章支持添加小程序
  • 原文地址:https://www.cnblogs.com/wwho/p/12580019.html
Copyright © 2011-2022 走看看