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

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

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

配置docker环境

1)yum 包更新到最新

shell 复制代码
sudo yum update

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

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

shell 复制代码
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

3)设置yum源为阿里云

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

shell 复制代码
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4)安装docker

shell 复制代码
sudo yum install docker-ce
# 启动
systemctl start docker

5)安装后查看docker版本

shell 复制代码
docker -v

安装InfluxDB

1)下载InfluxDB的镜像:

shell 复制代码
docker pull influxdb:1.8

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

shell 复制代码
docker run -d --name influxdb -p 8086:8086 -p 8083:8083 influxdb:1.8

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

进入 jmeter-influx 容器

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

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

  • 输入use jmeter命令,应用刚才创建的数据库
  • 输入select * from jmeter命令,查询库中有哪些数据
bash 复制代码
> 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镜像:

bash 复制代码
docker pull grafana/grafana

2)启动Grafana容器:

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

shell 复制代码
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

bash 复制代码
# 下载 可以直接下载下来传到服务器
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)下载解压运行

bash 复制代码
# 下载 可以下载压缩包传到如武器
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中加入如下配置:

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
相关推荐
熊猫钓鱼>_>8 小时前
普通用户视角的端侧智能体验手记【鸿蒙心迹】
开发语言·人工智能·华为·智能手机·性能优化·ai编程·harmonyos
2601_9679873711 小时前
Python 教程:默认字典(defaultdict)全维度深度指南
python·性能优化·数据处理·collections·defaultdict
MyBili15 小时前
Chrome性能优化实战:让老旧浏览器重获流畅体验
chrome·性能优化·谷歌浏览器·内存管理·浏览器提速·老旧设备优化·卡顿解决
疯华整猫1 天前
删掉 LeakCanary 那天,我用 Trae 自己撸了一套:最难的不是分析堆,是决定什么时候 dump
android·人工智能·性能优化
洞见前行2 天前
你的 Activity 关了,为什么还活着?Android 内存泄漏从发现、定位到线上治理
android·性能优化·leakcanary
新*2 天前
从一段 WebSocket 代码聊开:bytes 不是 zlib、binaryType 决定一切,15MB 大消息的零拷贝优化
javascript·python·websocket·性能优化·blob·zlib·arraybuffer
疯华整猫3 天前
把二十七个 init 从首帧前面搬走:用 Trae 把启动优化钉进 CI
android·性能优化·ai编程
数据库小学妹3 天前
MySQL大字段治理:行溢出机制、覆盖索引与拆表
数据库·mysql·性能优化
贾伟康3 天前
【共创稿事节】HarmonyOS 7.0 Progress进度体系:从接入到生产验证
性能优化·实战·harmonyos·arkts·arkui
疯华整猫4 天前
我用 Trae 把 Android 内存账重算了一遍
android·性能优化·源码