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

news/2024/9/19 9:03:12/ 标签: jmeter, grafana

【实现原理】

通过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%E5%AE%89%E8%A3%85">二、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 个部分 


http://www.ppmy.cn/news/1425484.html

相关文章

Django项目使用uwsgi+nginx部署上线

Django项目使用uwsginginx部署上线 前言settings 配置安装uwsgi 和配置uwsgi推荐配置文件启用wsgi不使用nginx的配置(不推荐)使用nginx的配置 安装 nginx和配置niginx 配置 运行参考资料 前言 代码已经开发完成,正式部署上线 settings 配置…

harbor私仓搭建及其他服务器如何使用私仓详解

目录 主机规划1.harbor安装(harbor服务器)1.harbor介绍2.为harbor生成自签发证书(可选)3.安装Harbor4.Harbor使用 2.宿主机docker安装(server服务器)1. 设置主机名2. 安装需要的软件包3. 设置yum源4. 查看docker版本5. 安装Docker…

MySQL-使用CPP接入到MySQL

📟作者主页:慢热的陕西人 🌴专栏链接:MySQL 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 本博客主要内容介绍如何在c/cpp代码连接和管理数据库 文章目录 MySQL-…

Spring+SpringMVC的知识总结

一:技术体系架构二:SpringFramework介绍三:Spring loC容器和核心概念3.1 组件和组件管理的概念3.1.1什么是组件:3.1.2:我们的期待3.1.3Spring充当组件管理角色(IOC)3.1.4 Spring优势3.2 Spring Ioc容器和容器实现3.2.1普通和复杂容器3.2.2 SpringIOC的容器介绍3.2.3 Spring IOC…

盲人辅助设备赋能视障人士,实时导航与避障打造无障碍生活

随着科技日新月异的发展,我们见证了一个又一个创新产品如何深刻改变人们的生活。在关爱特殊群体、推动社会包容性发展的道路上,一款名为蝙蝠避障的盲人辅助设备脱颖而出,以其卓越的实时导航与精准避障功能,成功破除了视障人士出行…

STM32、ESP8266与MQTT连接阿里云物联网的串口通信异常解析

STM32、ESP8266与MQTT协议连接阿里云物联网平台时常见的串口通信异常介绍 在构建物联网应用时,STM32、ESP8266与MQTT协议的结合是实现设备与网络间稳定通信的关键。然而,在连接阿里云物联网平台的过程中,串口通信异常成为了一个常见的挑战。…

2024-04-19 问AI: 介绍一下 Frobenius norm 在深度学习中的应用

文心一言 Frobenius范数在深度学习中具有广泛的应用。深度学习是一种模仿人类大脑神经网络结构进行信息处理和学习的方法,其核心是神经网络,由多层神经元组成。在神经网络的训练过程中,Frobenius范数可以帮助我们衡量模型参数的大小和重要性…

Remote access minikube cluster远程访问minikube k8s集群

minikube是启动一个虚拟机来模拟单节点环境,容器运行在单独的网络环境 可以看到192.168.49.2:8443是api server地址,是虚拟的ip (base) [rootlocalhost access]# kubectl config view apiVersion: v1 clusters: - cluster:certificate-authority: /roo…

hbase基础(二)

HBase第二天 名称空间 namespace:名称空间默认hbase有两个名称空间,default、hbasedefault名称空间是默认创建表的位置,hbase是专门存放系统表的名称空间(namespace、meta)管理命名空间指令 create_namespace 命名空…

45、二叉树-二叉树的右视图

思路 层序遍历 从左向右遍历每一层取最后一个数&#xff0c;代码如下&#xff1a; public List<Integer> rightSideView(TreeNode root) {if (rootnull){return new ArrayList<>();}Queue<TreeNode> queue new LinkedList<>();List<Integer> …

Java 随笔记: 面向对象编程(三)

目录 1. 类变量 2. 类方法 3. main 方法 4. 代码块 5. 单例设计模式 6. final 关键字 8. 抽象类 9. 模板设计模式 10. 接口 11. 内部类 1. 类变量 在Java中&#xff0c;类变量也被称为静态变量&#xff0c;用关键字“static”声明。类变量属于整个类&#xff0c;而不…

【初识Qt】如何使用QtCreator创建项目

文章目录 1 :peach:Qt Creator 概览:peach:2 :peach:使⽤ Qt Creator 新建项目:peach:2.1 :apple:新建项目:apple:2.2 :apple:使用标签实现 Hello World 程序:apple:2.2.1 :lemon:纯代码方式实现:lemon:2.2.2 :lemon:可视化操作实现:lemon: 2.3 :apple:使用按钮实现 Hello Worl…

关于txt导入Excel

当你想将txt文件导入到Excel中时&#xff0c;你可以使用Excel的数据导入功能来实现。你可以按照以下步骤进行操作&#xff1a; 打开Excel&#xff0c;并选择要导入数据的工作表。在Excel菜单栏中选择“数据”选项卡&#xff0c;然后点击“从文本”选项。在弹出的对话框中&…

信号处理相关知识

一&#xff1a; 1.序列——三种典型序列通过matlab绘图即可 2.数字信号的自变量一定是整数&#xff0c;幅度上取值是有限的状态&#xff08;不一定是整数&#xff09;。 3.抽取和插值 4.模拟正弦信号sin(wt):w是角频率&#xff0c;单位rad/s,f是频率w/2Π。 5.假设用采样周…

集成学习——随机森林

目录 优缺点随机森林的随机性体现随机性的优势面试问题1. 什么是随机森林&#xff0c;它是如何工作的&#xff1f;2. 随机森林如何处理过拟合&#xff1f;3. 如何选择随机森林中的树的数量&#xff1f;4. 随机森林和决策树有什么区别&#xff1f;5. 随机森林如何处理缺失值&…

如何借助ChatGPT写出完美的学术论文

ChatGPT无限次数:点击直达 如何借助ChatGPT写出完美的学术论文 引言 在当今信息爆炸的时代&#xff0c;人工智能技术已经被广泛运用于各行各业。ChatGPT作为一种基于大型语言模型的自然语言生成器&#xff0c;在学术领域也展现出了巨大的潜力。本文将介绍如何借助ChatGPT来撰…

PCA(Principal Component Analysis,主成分分析)与矩阵X的协方差矩阵之间的联系

PCA&#xff08;Principal Component Analysis&#xff0c;主成分分析&#xff09;是一种常用的降维技术&#xff0c;用于将高维数据集投影到低维空间中。在PCA中&#xff0c;投影方程将原始特征向量 ( x 1 , x 2 , … , x p ) (x_1, x_2, \ldots, x_p) (x1​,x2​,…,xp​)映射…

CH58X使用USB HID进行IAP注意事项——笔记

CH58X使用USB HID进行IAP注意事项——笔记 一、背景 基础 单片机使用CH582M&#xff0c;并使用USB HID进行IAP升级。方案 方案1&#xff1a;APPBOOT方案&#xff0c;可以只安装APP就可以运行&#xff0c;APP中后续安装BOOT程序和后面更新也方便。 方案2&#xff1a;经典IAP方…

Qt Debug模式下应用程序输出界面乱码【已解决】

Qt Debug模式下应用程序输出乱码 一、问题描述二、解决方法三、相关测试 一、问题描述 源码为utf-8编码. Qt Creator在Debug模式下运行程序&#xff0c;下方应用程序输出界面显示乱码. 但正常运行无乱码&#xff1a; 二、解决方法 尝试修改文件编码、执行编码无果… 可参考…

【Python基础】文件读写

文章目录 [toc]打开文件open()函数参数解析示例 文件路径绝对路径示例 相对路径示例 打开文件的模式常用模式 读文件示例 写文件示例 按行读写文件readline()示例 readlines()示例 writelines()示例 关闭文件示例finally语句示例 上下文管理器示例 自定义读写类示例 个人主页&a…