zoukankan      html  css  js  c++  java
  • grafana之JMeter+InfluxDB压测可视化实时监控

    一、概述

    本文我们将介绍如何使用JMeter+InfluxDB+Grafana打造压测可视化实时监控。

    二、 介绍

    JMeter引入Backend Listener,用于在压测过程中实时发送统计指标数据给时序数据库Influxdb,通过配置Grafana(开源的WEB可视化看板)数据源连接到Influxdb,我们就可以创建炫酷的可视化看板,并可以实时获取到测试指标数据。

    时序数据库:处理带时间标签(按照时间的顺序变化,即时间序列化)的数据,带时间标签的数据也称为时间序列数据。想象它就像一个sql表,其中时间是它的主键
    InfluxDB:是一款用Go语言编写的开源分布式时序、事件和指标数据库,无需外部依赖。该数据库现在主要用于存储涉及大量的时间戳数据,如DevOps监控数据,APP metrics, loT传感器数据和实时分析数据。

    官网地址:https://www.influxdata.com/
    数据DEMO

    > select* from weather
    name: weather
    -------------
    time                    altitude        area    humidity        temperature
    1456386985094000000     1000            北      18              17
    1456386985094000000     5000            上      20              47
    1456386985094000000     5000            北      26              68
    1456386985094000000     1000            广      17              83
    1456387267668000000     1000            上      12              77
    1456387267668000000     1000            北      16              20
    1456387267668000000     5000            广      -3              66
    1456387267668000000     5000            上      19              60
    

      

    与传统数据库中的名词做比较

    influxDB中的名词传统数据库中的概念
    database 数据库
    measurement 数据库中的表
    points 表里面的一行数据

    InfluxDB中独有的一些概念
    Point由时间戳(time)、数据(field)、标签(tags)组成。

     
    Point属性传统数据库中的概念
    time 每个数据记录时间,是数据库中的主索引(会自动生成)
    fields 各种记录值(没有索引的属性)也就是记录的值:温度, 湿度
    tags

    各种有索引的属性:地区,海拔

    三、安装

    influxdb

    wget https://dl.influxdata.com/influxdb/releases/influxdb-1.6.4.x86_64.rpm
    sudo yum localinstall influxdb-1.6.4.x86_64.rpm
    

    配置文件 /etc/influxdb/influxdb.conf

    vim /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"
    

      

     

    注意:
    默认占用8086/8088两个端口号,可以根据自己的实际场景进行替换,进入
    查询 bind-address,其中端口号对应的用处说明如下

    # Bind address to use for the RPC service for backup and restore.
    bind-address = "127.0.0.1:8088"
    
    ...
    
    [http]
      # Determines whether HTTP endpoint is enabled.
      # enabled = true
    
      # The bind address used by the HTTP service.
      bind-address = ":8086"
    

      



    启动

    influxd
    

      

    创建database

    influx
    # 如果修改了端口号,则需要显示指定
    influx -port xxxx
    
    [root@ywj ~]# influx -port 8083
    Connected to http://localhost:8083 version 1.6.4
    InfluxDB shell version: 1.6.4
    >
    
    # 创建数据库  >后面输入命令 create database xxx
    > create database jmeter
    # 查看数据库
    > show databases
    name: databases
    name
    ----
    _internal
    jmeter
    mytest
    

      

    jmeter添加监听器Backend Listener 验证数据是否能写入到influxdb

    influxdbUrl :http://host_to_change:8086/write?db=jmeter
    #host_to_change写安装influxdb服务的ip 端口如修改填写修改后的端口 db前面创建的数据库:jmeter
    application :随便写后面grafana会用到
    

      

    添加请求运行
    回到influx终端:选择数据库

    use jmeter
    

      

    执行sql语句查看刚刚的请求数据是否有插入,如有说明配置成功

    select * from jmeter
    

      

    grafana

    wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.1.4-1.x86_64.rpm
    yum localinstall grafana-5.1.4-1.x86_64.rpm
    
    #### 启动grafana服务
    service grafana-server start
    

     grafana的端口号是3000,打开web界面:http://127.0.0.1:3000 ,默认账户,密码为admin/admin。 

    登录后添加 data source 链接 influxdb:

     
     

    添加dashboard

     

    这里可以添加现成的模板:选择Import dashboard

     

    官网模板库地址:https://grafana.com/dashboards?dataSource=influxdb 如jmeter官方模板:copy id

     

    在Import 添加搜到的模板id(还有一个和官网模板差不多的 模板ID是:4026 可参考下)

     

    选择建好的data source

     

    添加完成后就会出现了以下界面了

     
  • 相关阅读:
    UVa 1354 天平难题 (枚举二叉树)
    广西邀请赛总结
    UVa 12118 检查员的难题 (dfs判连通, 构造欧拉通路)
    UVA
    Uva 127 "Accordian" Patience (模拟)
    UVA 10539 Almost Prime Numbers( 素数因子)
    HDU 1272 小希的迷宫(并查集)
    HDU 1213 How Many Tables (并查集)
    POJ 2236 Wireless Network(并查集)
    HDU 1233 还是畅通工程 ( Kruskal或Prim)
  • 原文地址:https://www.cnblogs.com/zzcsza/p/14067812.html
Copyright © 2011-2022 走看看