InfluxDB、Grafana、node_exporter、Prometheus搭建压测平台

我们的压测平台的架构图如下:

配置docker环境

1)yum 包更新到最新

sudo yum update

如果有提示,直接输入y,回车。

2)安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

3)设置yum源为阿里云

配置yum源的代理,类似于maven镜像仓库,加速下载软件。

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4)安装docker

sudo yum install docker-ce
# 启动
systemctl start docker

5)安装后查看docker版本

docker -v

安装InfluxDB

1)下载InfluxDB的镜像:

docker pull influxdb:1.8

2)启动InfluxDB的容器,并将端口 8083 和 8086 映射出来:

docker run -d --name influxdb -p 8086:8086 -p 8083:8083 influxdb:1.8

3)进入容器内部,创建名为jmeter的数据库:

进入 jmeter-influx 容器

docker exec -it influxdb /bin/bash
  • 输入influx命令,即可进入 influx 操作界面
  • 输入create database jmeter 命令,创建名为 jmeter 的数据库
  • 输入show databases 命令,查看数据库创建成功

4)使用jmeter库, select 查看数据,这个时候是没有数据的:

  • 输入use jmeter命令,应用刚才创建的数据库
  • 输入select * from jmeter命令,查询库中有哪些数据
> use jmeter
> select * from jmeter

设置JMeter脚本后置监听器

添加后置监听器:

设置后端监听器

配置如下:

  • influxdbUrl:需要改为自己influxdb的部署ip和映射端口,db后面跟的是刚才创建的数据库名称
  • application:可根据需要自由定义,只是注意后面在 grafana 中选对即可
  • measurement:表名,默认是 jmeter ,也可以自定义
  • summaryOnly:选择true的话就只有总体的数据。false会记录总体数据,然后再将每个transaction都分别记录
  • samplersRegex:样本正则表达式,将匹配的样本发送到数据库
  • percentiles:响应时间的百分位P90、P95、P99
  • testTitle:events表中的text字段的内容
  • eventTags:任务标签,配合Grafana一起使用

运行测试

点击运行:

查看数据库中的数据:

表示配置成功。

安装Grafana

1)下载Grafana镜像:

docker pull grafana/grafana

2)启动Grafana容器:

启动Grafana容器,将3000端口映射出来

docker run -d --name grafana -p 3000:3000 grafana/grafana

3)验证部署成功

网页端访问http://安装grafana的ip:3000验证部署成功

默认账户密码:admin\admin

整合数据源

使用admin\admin登录

1)选择添加数据源

2)选择添加数据源

3)配置数据源

配置数据库,数据库名要和创建的数据库、Jmeter连接的数据库保持一致。

导入模板

寻找模板

进入Grafana官网https://grafana.com/

在首页拉到最下方:

搜索Jmeter相关的

我们使用如下两个模板:

  • Apache JMeter Dashboard

    • dashboad-ID:5496
  • JMeter Dashboard(3.2 and up)
    • dashboad-ID:3351

导入模板

输入模板id,并load

修改名字和数据源:

可以看到如下的界面

保存

安装node_exporter

# 下载 可以直接下载下来传到服务器
wget -c https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz
# 解压
tar zxvf node_exporter-0.18.1.linux-amd64.tar.gz -C /usr/local/sjdwz_test/
# 启动
cd /usr/local/sjdwz_test/node_exporter-0.18.1.linux-amd64
nohup ./node_exporter > node.log 2>&1 &

看到如下界面即可:

安装Prometheus

1)下载解压运行

# 下载 可以下载压缩包传到如武器
wget -c https://github.com/prometheus/prometheus/releases/download/v2.15.1/prometheus-2.15.1.linux-amd64.tar.gz
# 解压
tar zxvf prometheus-2.15.1.linux-amd64.tar.gz -C /usr/local/sjdwz_test/
cd /usr/local/sjdwz_test/prometheus-2.15.1.linux-amd64
# 运行
nohup ./prometheus > prometheus.log 2>&1 &

2)配置prometheus

在prometheus.yml中加入如下配置:

scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'sjdwz-Linux'
static_configs:
- targets: ['192.168.225.206:9100']

3)测试Prometheus

重启Prometheus,测试是否安装配置成功

3)在Grafana中配置Prometheus的数据源:

保存即可。

4)Grafana导入Linux展示模板

导入Linux系统dashboard

  • Node Exporter for Prometheus Dashboard EN 20201010

    • dashboard-ID: 11074

  • Node Exporter Dashboard

    • dashboard-ID: 16098

InfluxDB、Grafana、node_exporter、Prometheus搭建压测平台的更多相关文章

  1. window平台基于influxdb + grafana + jmeter 搭建性能测试实时监控平台

    一.influxdb 安装与配置 1.1 influxdb下载并安装 官网无需翻墙,但是下载跳出的界面需要翻墙,我这里提供下载链接:https://dl.influxdata.com/influxdb ...

  2. 搭建jmeter+influxdb+grafana压测实时监控平台(超详细,小白适用)

    1.前言 在使用jmeter做性能测试的时候,监控系统性能的时候,无论是使用插件还是报告生成,都没法实现实时监控.使用JMeter+Influxdb+Grafana可以实现实时监控. 本次环境搭建各软 ...

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

    概述 本文我们将介绍如何使用JMeter+InfluxDB+Grafana打造压测可视化实时监控. 引言 我们很多时候在使用JMeter做性能测试,我们很难及时察看压测过程中应用的性能状况,总是需要等 ...

  4. 基于Docker 部署Jmeter + Grafana + InfluxDB 性能测试监控配置(亲测可用)

    工具介绍: InfluxDB:是一款用Go语言编写的开源分布式时序.事件和指标数据库,无需外部依赖.该数据库现在主要用于存储涉及大量的时间戳数据,如DevOps监控数据,APP metrics, lo ...

  5. 实现理论上无tps上限的分布式压测(基于Jmeter+InfluxDB+Grafana+Spring Boot)

    JMeter自身带有Master-Slave压测框架,对于并发量不是很高的压力情况下(比如tps低于5000),该方案是可行的,并且使用起来非常方便,只要在配置文件或者命令行工具的参数做一些补充,即可 ...

  6. Docker系列——Grafana+Prometheus+Node-exporter服务器监控平台(一)

    在最近的博文中,都是介绍监控平台的搭建,其实并不难,主要是需要自己动手操作,实践一番就会了. 有天在想,云上的服务器,是不是也可以搭建一个监控平台,所以就捣鼓了一下,不过遗憾的是,使用阿里云开源的插件 ...

  7. influxdb + Grafana可视化监控平台

    在centos6.5上influxdb + Grafana监控平台配置: 1.RedHat and CentOS users can install the latest stable version ...

  8. Telegraf+InfluxDB+Grafana搭建服务器监控平台

    Telegraf+InfluxDB+Grafana搭建服务器监控平台 tags:网站 个人网站:https://wanghualong.cn/ 效果展示 本站服务器状态监控:https://statu ...

  9. prometheus + grafana + node_exporter + alertmanager 的安装部署与邮件报警 (一)

    大家一定要先看详细的理论教程,再开始搭建,这样报错后才容易找到突破口 参考文档 https://www.cnblogs.com/afterdawn/p/9020129.html https://www ...

  10. [置顶] cAdvisor、InfluxDB、Grafana搭建Docker1.12性能监控平台

    通过cadvisor+influxdb+grafana三者有机结合,打造跨主机容器监控. 优点 1.跨主机监控,可扩展 2.容器自发现 3.历史数据长期保存 4.自定义配置程度高 缺点 1.不能自动隐 ...

随机推荐

  1. NC51179 选课

    题目链接 题目 题目描述 学校实行学分制. 每门的必修课都有固定的学分,同时还必须获得相应的选修课程学分. 学校开设了 N 门的选修课程,每个学生可选课程的数量 M 是给定的. 学生选修了这 M 门课 ...

  2. 【OpenGL ES】基于ValueAnimator的旋转、平移、缩放动效

    1 前言 ​ ValueAnimator 基于 Choreographer 的 frame callback 机制,周期性(约16.7ms,与屏幕帧率相关)执行其 doAnimationFrame() ...

  3. 【Android】使用MediaExtractor、MediaMuxer去掉视频文件中的音频数据

    1 简介 ​ 本文以 mp4 文件为例,讲解去音频操作.mp4 是一种视频封装的容器,里面包含音频(audio)和视频(video)数据,对应的数据编码格式分别为 aac 和 h264.在去音频过程中 ...

  4. 如何在C#中使用 Excel 动态函数生成依赖列表

    前言 在Excel 中,依赖列表或级联下拉列表表示两个或多个列表,其中一个列表的项根据另一个列表而变化.依赖列表通常用于Excel的业务报告,例如学术记分卡中的[班级-学生]列表.区域销售报告中的[区 ...

  5. win32 - service的创建

    参考这篇教程:Simple Windows Service in C++ 安装service需要在管理员权限下运行cmd,并输入下面的命令行 C:\>sc create "My Sam ...

  6. pika

    生产者代码 # -*- coding: utf-8 -*- # pylint: disable=C0111,C0103,R0205 import json import pika from pika. ...

  7. heapq模块通过nlargest()和nsmallest()找到最大或最小的N个元素

    问题 我们想在某个集合中找出最大或最小的N个元素 解决方案 heapq模块中有两个函数nlargest()和nsmallest() import heapq nums = [1,8,2,23,7,-4 ...

  8. 【Azure Function App】在ADF(Azure Data Factory)中调用 Azure Function 时候遇见 Failed to get MI access token

    问题描述 在ADF(Azure Data Factory)中,调用Azure Function App中的Function,遇见了 Failed to get MI access token Ther ...

  9. 从零开始写 Docker(三)---基于 cgroups 实现资源限制

    本文为从零开始写 Docker 系列第三篇,在mydocker run 基础上基于 cgroups 实现容器的资源限制. 完整代码见:https://github.com/lixd/mydocker ...

  10. Nebula Graph 在大规模数据量级下的实践和定制化开发

    本文作者系微信技术专家李本利 图数据在社交推荐.多跳实时计算.风控和安全等领域有可期待的前景.如何用图数据库高效存储和查询大规模异构图数据,是一个重大挑战.本文描述了开源分布式图数据库 Nebula ...