(mac)性能监控平台搭建JMeter+Grafana+Influxdb

【实现原理】

通过influxdb数据库存储jmeter的结果,再通过grafana采集influxdb数据库数据,完成监控平台展示

一、时间序列数据InfluxDB

1.InfluxDB下载安装

官网下载

https://portal.influxdata.com/downloads/

官网最新版:

(1) 安装influxDB

influxDX官方文档

OS X 10.8或者更高版本的用户,用 brew直接安装

复制代码
brew install influxdb
复制代码
//启动influxdb服务:
brew services start influxdb
//停止influxdb服务:
brew services stop influxdb
//查看是否启动成功:
ps -ef | grep influxd

//删除influxdb:
brew uninstall influxdb

//如果使用brew 不能彻底删除,请删除文件:
rm -rf ~/.influxdbv2

(2)启动 influxdb服务

查看是否启动成功

(3) 创建初始账号(端口默认 8086)

服务启动完之后,默认端口号是8086,浏览器打开localhost:8086来访问控制台。

打开控制台,会先创建一个用户

organization:InfluxDB组织是一组用户的工作区。所有仪表板、任务、存储桶和用户都属于一个组织。

bucket:所有 InfluxDB 数据都存储在一个存储桶中。一个桶结合了数据库的概念和存储周期(时间每个数据点仍然存在持续时间)。一个桶属于一个组织

bucket schema:具有明确的schema-type的存储桶需要为每个度量指定显式架构。测量包含标签、字段和时间戳。显式模式限制了可以写入该度量的数据的形状。

然后点击"continue"

token一定要保存下来,因为默认没办法查。

复制代码
ulCoG6Xb_8FZtZ5TFDzC3gLn6r62N6aB5r4KqJZAm6KUvKyILfufMbijx9L6bmmlhS5BpbtK8stFbuyHsncT1Q==

按步骤操作完成后就完成初始化了。

点击"QUICK START"

2. influxdb 交互工具

  • influxDB用户界面(UI) :上面localhost:8086打开的界面
  • influx命令行界面
  • influxDB HTTP API

3. 命令行influxdb-cli

influxdb-cli 官方文档

influxdb-cli各命令官方文档

(1)influxdb-cli安装

安装命令行:brew install influxdb-cli

(2)配置 Influx CLS

复制代码
influx config create --config-name may2024\
  --host-url http://localhost:8086 \
  --org "mayInfluxDB" \
  --token "ulCoG6Xb_8FZtZ5TFDzC3gLn6r62N6aB5r4KqJZAm6KUvKyILfufMbijx9L6bmmlhS5BpbtK8stFbuyHsncT1Q==" \
  --active

(3)创建 bucket : jmeter

复制代码
influx bucket create --name jmeter -c may2024

查看所有的bucket

复制代码
influx bucket list

influx bucket list 用法官方文档

List all buckets

List a bucket by name

List a bucket by ID

(4) 写数据和查询数据

influx write官方文档

influx query官方文档

复制代码
写入数据:influx write --bucket bucket_test1 --url https://influx-testdata.s3.amazonaws.com/air-sensor-data-annotated.csv
查询数据:influx query 'from(bucket:"bucket_test1") |> range(start:-30m)'

influx query \
  --profilers operator,query \
  'from(bucket:"jmeter") |> range(start:-1m)'

4. InfluxDB HTTP API

安装python依赖:pip3 install influxdb-client

二、grafana安装

官网:

https://grafana.com/grafana/download

用brew安装grafana,启动grafana

复制代码
brew install grafana

brew services start grafana

1. 安装 grafana

2. 启动 grafana

3. 进入grafana

启动完成后打开浏览器输入http://localhost:3000进入grafana登录页面

(默认用户名和密码都为admin,进入后可以更新密码,也可以跳过)

4. 添加数据源(含IP)

选择influxDB数据源

填写以下信息即可

注意:url中的端口要和 influx的一致

图中URL是 influxDB数据库访问的地址

Query language选择【influxQL】或【Flux】的设置有区别

4.1【influxQL】

Query language选择 influxQL

Header:

复制代码
Authorization

Value:

复制代码
Token ulCoG6Xb_8FZtZ5TFDzC3gLn6r62N6aB5r4KqJZAm6KUvKyILfufMbijx9L6bmmlhS5BpbtK8stFbuyHsncT1Q==

4.2 【Flux】

  • Query language选择 Flux

保存测试后,出现以下提示,说明数据源连接成功

保存测试查看数据源是否连接成功:

查看已连接的数据源

5. 导入grafana展示模板

(1)获取模板ID

官方模板

搜索 jmeter(模板可以根据自己喜好选择)

(2)导入模板

效果如下:

注意:数据源中连接设置中:

  • Query language选择 influxQL时,仪表盘正常

有黄色感叹号的,可能是模板版本的匹配问题,可以更换其他版本

  • Query language选择 Flux时,仪表板各模块左上角有红色感叹号❗️(还没有找到原因)

三、jmeter配置

1.jmeter中,添加"监听器 -> 后端监听器"

四、 无界面压测

进入 jmx脚本文件目录下,执行以下命令:

复制代码
jmeter -n -t jmeter2024.jmx -l result001.jtl -e -o reports 

grafana实时监控页面

数据说明:

CPU(%):

  • idle: 剩余CPU数
  • User:用户空间
  • System:系统内核
  • Steal: 虚拟机所占用的百分比
  • Softirq: 应用程序所占用百分比

其他平台:windows/linux/docker

windows/linux/docker容器下 jmeter+influxdb+grafana搭建

windows增加部分:

influxdb.conf文件的修改

修改 3 个部分

相关推荐
liuyicenysabel1 天前
Grafana + Prometheus 分级告警配置设计(P0/P1/P2)
javascript·grafana·prometheus
随遇而安zx1 天前
SpringCloud---可观测性与监控:Actuator / Micrometer / Prometheus / Grafana 深度解析
spring cloud·grafana·prometheus
中国软件测试质量协会1 天前
国产性能测试工具:kylinPET高仿真与高并发性能测试技术深度解析——与JMeter、LoadRunner全面对比
测试工具·jmeter
DevOps老兵2 天前
AI Infra实战02:GPU监控实战,用DCGM+Prometheus+Grafana看清每一张卡
人工智能·grafana·prometheus·ai infra·gpu监控·dcgm
qq_452396232 天前
第二篇:《LGTM 栈全景:Loki、Grafana、Tempo、Mimir 的协同作战》
grafana
白鲸开源2 天前
DolphinScheduler 挂了你不知道?Prometheus + Grafana 监控兜底方案,亲测可用
开源·grafana·监控
拜托多多指教2 天前
【JMeter】外观设置(Mac)
jmeter
mmsy10245 天前
Grafana 使用文档
grafana
SamChan907 天前
用Prometheus+Grafana搭建PDF翻译服务监控看板:指标采集与告警实战
python·ai·pdf·grafana·prometheus·机器翻译