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

参考文章: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 v2.0

使用docker安装

bash 复制代码
docker pull influxdb    # 拉取最新latest,我操作的时候2.7.8

运行infulxdb

bash 复制代码
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只展示一次,所以要复制保存好。

配置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

bash 复制代码
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文件夹上传文件。若选择移动则使用如下指令:

bash 复制代码
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= ,能看到就可以了

设置开机自启动:

bash 复制代码
vim /etc/systemd/system/prometheus.service

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

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

执行下面语句

bash 复制代码
systemctl daemon-reload
systemctl enable prometheus
systemctl start prometheus
systemctl status prometheus

这样就可以了

安装 node-exporter

在被监控服务器操作

https://github.com/prometheus/node_exporter/releases 下载自己合适的

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

bash 复制代码
cd node_exporter
./node_exporter

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

设置开机自启动

bash 复制代码
vim /etc/systemd/system/node_exporter.service

复制下面黏贴进去保存

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

执行下面语句

bash 复制代码
 systemctl daemon-reload
 systemctl enable node_exporter
 systemctl start node_exporter
 systemctl status node_exporter

到这再去刷一下网站,正常

切换服务器到监控主机上

bash 复制代码
cd /usr/local/prometheus
vim prometheus.yml

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

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

如下

bash 复制代码
systemctl restart prometheus

配置grafana

进入data sources,然后点击add new data source,选择Prometheus,输入url,点击保存,提示成功即可。

然后根据之前同样的操作,我添加id为11074的dashboard。

最后结果为

相关推荐
茶馆大橘5 小时前
微服务系列五:避免雪崩问题的限流、隔离、熔断措施
java·jmeter·spring cloud·微服务·云原生·架构·sentinel
土小帽软件测试11 小时前
jmeter基础01-2_环境准备-Mac系统安装jdk
java·测试工具·jmeter·macos·软件测试学习
逻辑与&&13 小时前
[Prometheus学习笔记]从架构到案例,一站式教程
笔记·学习·prometheus
Walden-202014 小时前
构建基于 DCGM-Exporter, Node exporter,PROMETHEUS 和 GRAFANA 构建算力监控系统
docker·容器·grafana·prometheus
土小帽软件测试16 小时前
jmeter基础03_汉化jmeter界面
测试工具·jmeter·软件测试学习
紫晓宁17 小时前
jmeter结合ansible分布式压测--3压测执行
分布式·jmeter·ansible
黑色叉腰丶大魔王19 小时前
《通过 Jmeter 压测存储过程详解》
jmeter
hai405871 天前
基于python主观题自动阅卷系统毕业设计项目
spring boot·python·jmeter·django·make与makefile
程序员小雷1 天前
应对自动化测试中的异步操作:策略与实践
功能测试·selenium·测试工具·jmeter·单元测试·测试用例·postman
奔波儿灞爱霸波尔奔2 天前
JMeter与大模型融合应用之jmeter.properties配置文件新增配置
jmeter