【七】jmeter5.5+influxdb2.0+prometheus+grafana

embedded/2024/9/19 6:12:18/ 标签: prometheus, grafana, influxdb, jmeter

参考文章:https://blog.csdn.net/wenxingchen/article/details/126892890
https://blog.csdn.net/Zuo19960127/article/details/119726652
https://blog.csdn.net/shnu_cdk/article/details/132182858 promethus参考

由于自己下载的是infuldb2.0,所以按照上面两个步骤走不通,做了如下修改,前提
目前jmeter5.6.3还不支持,但是至少要求要求5.5,所以我弄好了一个有插件的5.5。下载地址为:
链接: https://caiyun.139.com/m/i?0r5CL9eLSTnvg 提取码:tB38

influxdb_v20_7">安装influxdb v2.0

使用docker安装

docker pull influxdb    # 拉取最新latest,我操作的时候2.7.8

运行infulxdb

cd /var/lib
docker run --name=influxdb -p 8086:8086 -v $PWD:/var/lib/influxdb -d influxdb

访问:http://ip:8086/ 进入管理界面,点击Get Started

输入admin、两次密码,后面这两个可以保持与上面一致,点击continue,再点击第三个绿色按钮config later


点击view more,点击api tokens,点击GENERATE API TOKEN,选择第一个选项。
在这里插入图片描述
输入jmeter-Tocken, 点击保存
在这里插入图片描述
因为token只展示一次,所以要复制保存好。
在这里插入图片描述

jmeter55_30">配置jmeter5.5

添加线程组-http请求-后端监听器,选择和填入如下:
后端监听器实现选择第三个,influxdbUrl输入:http://ip:8086/api/v2/write?org=org-jmeter&bucket=jmeter 这后面两个参数就是进入页面时配置的
在这里插入图片描述

线程组先配置个500,然后http请求随便填个比如www.baidu.com,再进入influxdb web界面,点击data explorer, 选择jmeter,一开始什么都没有,现在运行jmeter的线程组
在这里插入图片描述
在这里插入图片描述
刷新页面,如果数据写入成功,就会出现下面的选项
在这里插入图片描述

勾选后,点击右上角的submit,就会出现图形,上面会显示请求的线程数

grafana_43">安装grafana

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

访问: http:ip:3000 ,初始登录账号admin,密码admin,登录成功后修改密码。进入首页后,点击add your first data source
在这里插入图片描述
由于influxdb当前是2.0版本,所以选择influxdb后,进入填写界面,name可以随便填,第二个红框要选择Flux,第三个URL,第五个打开
第六个值的格式
header:Authorization,
value:Token W6__WKMiPJq5vAeZSk6Da_0Pv5VVmfnf-J6fut7QP3-0q3k41bOdcorBlZkk86lZQS2FOkT-F_-f93FwHXq0fg==, 中间有空格,Token也是固定的,后面就是自己的配置的api token值。
Organization是登录是输入的,bucket也是,如果忘记了,填写jmeter的时候也有http://ip:8086/api/v2/write?org=org-jmeter&bucket=jmeter
在这里插入图片描述
在这里插入图片描述
保存并测试,结果应该是绿色的,提示有一个bucket。

配置grafana模板,https://grafana.com/grafana/dashboards/?search=jmeter
选择:https://grafana.com/grafana/dashboards/13644-jmeter-load-test-org-md-jmeter-influxdb2-visualizer-influxdb-v2-0-flux/,复制id

在这里插入图片描述
进入grafana,点击右上角的+号,点击import dashboard,进入下一个页面,输入id,点击load
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

然后机会进入到这个页面,一开始是空白的,点击保存按钮,保存一下,运行jmeter后就会出现数据,我之前跑过了,选时间就可以出现数据,最终结果如图。
在这里插入图片描述

安装Prometheus

在监控主机上操作

两种安装方式,通过wget或者从网站安装包下载地址:https://github.com/prometheus/prometheus ,版本自己找合适的,下载到win本地上传到linux服务器,本文采用上传方式,上传过程需要注意文件夹目录,默认是根目录,可以通过mv指令移动文件,也可以直接选择/usr/local文件夹上传文件。若选择移动则使用如下指令:

mv prometheus-2.45.4.linux-amd64.tar.gz /usr/local
cd /usr/local
tar -xvf prometheus-2.45.4.linux-amd64.tar.gz
mv prometheus-2.45.4.linux-amd64/ prometheus
cd prometheus
./prometheus --config.file=/usr/local/prometheus/prometheus.yml

这样就启动了:去 http://ip:9090/targets?search= ,能看到就可以了
在这里插入图片描述
设置开机自启动:

vim /etc/systemd/system/prometheus.service

复制黏贴下面的,黏贴进去保存

[Unit]
Description=Prometheus Monitoring System
Documentation=Prometheus Monitoring System[Service]
ExecStart=/usr/local/prometheus/prometheus \--config.file=/usr/local/prometheus/prometheus.yml \--web.listen-address=:9090
Restart=on-failure
[Install]
WantedBy=multi-user.target

执行下面语句

systemctl daemon-reload
systemctl enable prometheus
systemctl start prometheus
systemctl status prometheus

这样就可以了
在这里插入图片描述

安装 node-exporter

在被监控服务器操作
https://github.com/prometheus/node_exporter/releases 下载自己合适的

然后其他步骤跟上面安装Prometheus差不多,改个包名即可。

cd node_exporter
./node_exporter

进入http://被监控的服务器ip:9100/metrics,有数据打印出来就是成功的

设置开机自启动

vim /etc/systemd/system/node_exporter.service

复制下面黏贴进去保存

[Unit]
Description=node_exporter
After=network.target [Service]
ExecStart=/usr/local/node_exporter/node_exporter
Restart=on-failure[Install]
WantedBy=multi-user.target

执行下面语句

 systemctl daemon-reloadsystemctl enable node_exportersystemctl start node_exportersystemctl status node_exporter

到这再去刷一下网站,正常
在这里插入图片描述
切换服务器到监控主机上

cd /usr/local/prometheus
vim prometheus.yml

在scrape_configs标签下,添加以下内容,配置监控

- job_name: 'backend'     # 名字自己取static_configs:- targets: ['192.168.93.101:9100']labels:instance: Linux

如下
在这里插入图片描述

systemctl restart prometheus

在这里插入图片描述

grafana_182">配置grafana

进入data sources,然后点击add new data source,选择Prometheus,输入url,点击保存,提示成功即可。
在这里插入图片描述

然后根据之前同样的操作,我添加id为11074的dashboard。
最后结果为
在这里插入图片描述


http://www.ppmy.cn/embedded/14237.html

相关文章

sql 笛卡尔积

隐式联接:一种在SQL查询中不使用显式的JOIN语句,而是通过在WHERE子句中指定条件来连接两个或多个表的方法。 在早期的SQL实践中,隐式联接是非常常见的,尤其是在早期版本的数据库系统中。隐式联接的工作原理是通过在WHERE子句中指…

用户中心 -- 代码理解

一、删除表 & if 删除表 1.1 DROP TABLE IF EXISTS user 和 DROP TABLE user 网址: 用户管理第2节课 -- idea 2023.2 创建表--【本人】-CSDN博客 二、 代码 2.1 清空表中数据 的 命令 【truncate 清空】 网址: 用户管理第2节课 -- idea 2…

【k8s】Kubernetes 1.29.4离线安装部署(总)

(一)kubernetes1.29.4离线部署之-安装文件准备 (二)kubernetes1.29.4离线部署之-镜像文件准备 (三)kubernetes1.29.4离线部署之-环境初始化 (四)kubernetes1.29.4离线部署之-组件安装…

CSS的网页美化功能

<1>文字类 通常情况下&#xff0c;一般使用span对文字进行重点突出&#xff0c;用div来操作一段代码块。 字体的所有属性&#xff1a; 属性描述font在一个声明中设置所有的字体属性font-family指定文本的字体系列font-size指定文本的字体大小font-style指定文本的字体样…

1 Java 泛型

概述 泛型&#xff0c;即“参数化类型”。一提到参数&#xff0c;最熟悉的就是定义方法时有形参&#xff0c;然后调用此方法时传递实参。那么参数化类型怎么理解呢&#xff1f;顾名思义&#xff0c;就是将类型由原来的具体的类型参数化&#xff0c;类似于方法中的变量参数&…

golang调用阿里通义千问的接口

有的项目可能需要用到直接外部调用阿里通义千问的接口。官方只有python和java的sdk。 其实golang简单的调用也非常简单&#xff0c;就是一个封装的http调用&#xff0c;下面是具体的代码。 注意提前申请apiKey. package tongyiimport ("bytes""context"…

【网站项目】校园商铺系统小程序

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

Flink面试(2)

Flink面试&#xff08;1&#xff09;-CSDN博客 9. Flink 状态如何存储&#xff1f; 在 Flink 中&#xff0c;状态存储 被叫做 StateBackend&#xff0c;它具备两种能力&#xff1a; 在计算过程中提供访问 State 能力&#xff0c;开发者在编写业务逻辑中能够使用 StateBacken…

tomcat排错实战

一、报错详情 24-Apr-2024 08:16:56.095 WARNING [Catalina-utility-1] org.apache.catalina.valves.StuckThreadDetectionValve.notifyStuckThreadDetected Thread [http-nio-8090-exec-17] (id=[208]) has been active for [61,867] milliseconds (since [4/24/24 8:15 AM])…

Python网络爬虫-re正则匹配数据

目录 前言 什么市正则表达式? 常见正则表达式元字符表 匹配字符 元字符 特定构造 Python常用的re正则匹配函数库 1. re.match(pattern, string) 2. re.search(pattern, string) 3. re.findall(pattern, string) 4. re.finditer(pattern, string) 5. re.split(pattern, string…

python安装第三方包

python安装第三方包 conda虚拟环境一直卡在Solving environment&#xff0c;替换清华源失败 打开anaconda prompt &#xff0c;在命令行中直接使用以下命令&#xff1a;conda config --remove-key channels conda config --add channels https://mirrors.tuna.tsinghua.edu.…

【数据结构-图】

目录 1 图2 图的定义和基本概念&#xff08;在简单图范围内&#xff09;3 图的类型定义4 图的存储结构4.1 邻接矩阵 表示法4.2 邻接表 表示法4.3 十字链表 表示法4.4 邻接多重表 表示法 5 图的遍历5.1 深度优先搜索-DFS 及 广度优先遍历-BFS 6 图的应用6.1 最小生成树6.1.1 克鲁…

6.搭建Eureka

eureka-server自己也是一个微服务&#xff0c;所以eureka-server在启动的时候也会将自己注册到eureka上。eureka集群的时候&#xff0c;会将多个eureka相互注册&#xff0c;这个时候&#xff0c;defaultZone的值会有多个&#xff0c;用逗号隔开。 <?xml version"1.0&…

Gen-AI时代天下英雄谁主沉浮?赛场见!卷起来!

Gen-AI时代不得不说极大降低了创作者和开发者的门槛&#xff0c;无论是线下Meetup还是线上各个沟通群充满了创新灵感&#xff0c;新颖的观点、最新的产品Demo、最热的用户反馈和改进建议都推进着技术的变革和落地节奏。去中心化团队快速构建组织&#xff0c;通过小步快跑的方式…

服务端测试与功能测试

服务端测试通常指的是对软件的后端部分进行测试&#xff0c;目的是确保&#xff08;数据库、缓存系统、中间件、文件系统等组件&#xff09;能够在生产环境中正常运行&#xff0c;满足预期的功能和性能要求。 功能测试则是专注于验证软件的特定功能是否按照需求规格说明书中的描…

【12】Head First Java 学习笔记

HeadFirst Java 本人有C语言基础&#xff0c;通过阅读Java廖雪峰网站&#xff0c;简单速成了java&#xff0c;但对其中一些入门概念有所疏漏&#xff0c;阅读本书以弥补。 第一章 Java入门 第二章 面向对象 第三章 变量 第四章 方法操作实例变量 第五章 程序实战 第六章 Java…

JS 添加数组元素( 4种方法 )

No.内容链接1Openlayers 【入门教程】 - 【源代码示例300】 2Leaflet 【入门教程】 - 【源代码图文示例 150】 3Cesium 【入门教程】 - 【源代码图文示例200】 4MapboxGL【入门教程】 - 【源代码图文示例150】 5前端就业宝典 【面试题详细答案 1000】 文章目录 一、四种…

论文辅助笔记:LLM-MOB代码解读

论文笔记 Where Would I Go Next? Large Language Models as Human Mobility Predictor-CSDN博客 1 主函数 1.1 导入库 import os import pickle import time import ast import logging from datetime import datetime import pandas as pd from openai import OpenAIclie…

学习STM32第十八天

RTC外设详解 一、RTC实时时钟实验 RTC配置流程如下 解锁备份域写保护 RTC核心寄存器在备份域内&#xff0c;备份域归属PWR&#xff0c;因此需要开启PWR时钟再使能备份与中寄存器的写访问。 RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); //电源控制寄存器在APB1…

openEuler 22.03 LTS SP3(华为欧拉)一键安装 Oracle 12CR2 RAC(220118) 数据库

前言 Oracle 一键安装脚本&#xff0c;演示 openEuler 22.03 LTS SP3 一键安装 Oracle 12CR2 RAC&#xff08;220118&#xff09; 过程&#xff08;全程无需人工干预&#xff09;&#xff1a;&#xff08;脚本包括 ORALCE PSU/OJVM 等补丁自动安装&#xff09; ⭐️ 脚本下载…