Windows 下搭建压测可视化监控平台(Prometheus+Grafana+InfluxDB)

背景简述

问题:

  1. 做接口性能测试,需出相关图表,如服务器CPU、内存、磁盘、IO,及接口响应时间、吞吐量等;
  2. 有2个微服务,分别部署在2个Linux服务器上,压测机是Windows操作系统,压测工具为Jmeter;
  3. 希望相关数据展示比较丰富、直观、好看。

解决方案:

  • 服务器监控:Prometheus + Grafana
  • Jmeter压测结果:InfluxDB+Grafana

准备工作

安装包下载

下载的安装包截图
在这里插入图片描述

说明

  1. Exporter是Prometheus的指标数据收集组件,它负责从目标Jobs收集数据,并把收集到的数据转换为Prometheus支持的时序数据格式。node-export由Prometheus官方提供、维护,属于监控指标收集类UNIX内核操作系统的必备的exporter。win服务器下载安装windows_exporter。

  2. 目前大部分资料都是介绍jmeter 与influxdb1.x版本的集成,但是在 2021 年,influxdb 升级到 2.x 版本,这个版本与 1.x 版本有结构性的调整,完全不兼容。同时Grafana很多模板和版本也有关系,因此建议使用指定的版本进行部署。

  3. 目前Jmeter提供了2个写入influxdb的监听器实现,可以成功写入influxdb,但是在grafana中使用模板,无法成功展示数据,使用提供的jar文件可以成功展示数据。

部署过程-服务器监控

Node_exporter + Prometheus + Grafana

   Exporter和传统的指标数据收集组件不同
   他只负责收集服务器数据,并不向Server端发送信息,而是等待Prometheus Server 主动抓取。
   node-exporter 默认的抓取url地址:<http://ip:9100/metrics>,也可以自定义抓取地址。

部署和配置 node_exporter

  1. 将node_exporter-1.4.0.linux-amd64.tar.gz 上传到需要监控的linux上
  2. 解压和启动
    tar -xvzf node_exporter-1.4.0.linux-amd64.tar.gz
    cd ./node_exporter-1.4.0.linux-amd64
    nohup ./node_exporter --web.listen-address 11.168.190.180:9527&
  1. 浏览器访问 http://11.168.190.180:9527/
  2. 点击【Metrics】
    在这里插入图片描述
  3. 看到如下界面则部署成功在这里插入图片描述

部署和配置 Prometheus

  1. 解压prometheus-2.40.2.windows-amd64.zip
  2. 在 prometheus.yml 中加入如下配置(job_name可自定义,targets配置上一步中部署的node_exporter地址,可以在一起监控,也可以分开监控*)
    在这里插入图片描述
  3. 启动 prometheus.exe
  4. 访问:http://127.0.0.1:9090/
  5. 选择【Status】-【Targets】,可以看到刚才配置需监控的服务器
    在这里插入图片描述
  6. 可以看到刚才配置需监控的服务器
    在这里插入图片描述

部署和配置 Grafana

  1. 解压grafana-enterprise-9.1.6.windows-amd64.zip
  2. 在bin目录下启动grafana-server.exe
  3. 访问http://127.0.0.1:3000/,初始的登陆账户和密码是:admin/admin
  4. 选择【datasource】 - 【add data source】 - 【Prometheus】
    在这里插入图片描述在这里插入图片描述
  5. 数据源配置,填写Prometheus地址后,点击【 save & test】,提示“Data source is working”就成功了
    在这里插入图片描述在这里插入图片描述
  6. 面板配置:选择【Import】- 填写模板编号8919,点击【load】- 选择上一步配置的数据源prometheus,点击【Import】即可
    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
Grafana模板说明
  • windows系统导入的是10467模板,Linux8919模板

  • 可以直接导入json文件

  • Grafana有很多第三方分享的模板可以选择,本质是json文件,可以自定义和开发面板,并进行分享。详见:Dashboards | Grafana Labs

部署过程-压测结果展示

Jmeter + InfluxDB + Grafana

部署和配置 InfluxDB

  1. 解压influxdb2-2.5.1-windows-amd64.zip。2.5.1默认的配置文件config.yaml,可以手动创建,也可以不创建,手动创建后可以自定义配置,如端口号。不创建配置文件,默认的端口号是8086。
# 路径改为自己的部署路径
engine-path: D:\influxdb2_windows_amd64\engine
http-bind-address: :8087
storage-cache-max-memory-size: 268435456
bolt-path: D:\influxdb2_windows_amd64\influxd.bolt
  1. 在cmd中启动 influxd.exe(直接启动会提示通过cmd启动)

  2. 访问http://127.0.0.1:8086/ ,然后点击【get start】,填写用户名和密码,配置组织信息(自定义一个有意义的名称)和bucket(类似MySQL中的数据实例名称),组织和bucket名称后续后面在Jmeter和Grafana中都要配置使用
    在这里插入图片描述在这里插入图片描述

  3. 获取访问的TOKEN,并复制Token,保存,后面在Jmeter和Grafana中都要配置Token信息
    在这里插入图片描述

配置 Jmeter

  1. 将jmeter-plugins-influxdb2-listener-2.6.jar放到Jmeter的lib\ext目录下,然后启动或重启Jmeter
  2. 添加【监控器】-【Backend Listener】-Backend Listener implementation选择 含有influxdb2.0的(即刚添加的jar包提供的),填写相关信息,如下:
    在这里插入图片描述

配置 Grafana

  1. 选择【datasource】 - 【add data source】 - 【InfluxDB】,配置数据源具体信息。

  2. 填写相关配置信息,Organization为InfluxDB创建时填写的组织信息,Token为前面保存的API TOKEN,Default Bucket为InfluxDB创建的数据存储桶名称
    在这里插入图片描述在这里插入图片描述

  3. 面板配置:选择【Import】- 填写模板编号13644,点击【load】- 选择上一步配置的数据源,点击【Import】即可。执行Jmeter压测脚本后的情况如下:
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值