【七】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。

最后结果为

相关推荐
福大大架构师每日一题2 小时前
37.1 prometheus管理接口源码讲解
ios·iphone·prometheus
Cairry.20 小时前
WatchAlert - 开源多数据源告警引擎
云原生·开源·prometheus
Mitch31121 小时前
【漏洞复现】CVE-2023-37461 Arbitrary File Writing
web安全·网络安全·prometheus·metersphere·漏洞复现
互联网杂货铺1 天前
几个常见的Jmeter压测问题
自动化测试·软件测试·测试工具·jmeter·职场和发展·测试用例·压力测试
ggggyyyyy09281 天前
接口测试-Fidder及jmeter使用
测试工具·jmeter·fiddler·接口测试
明月与玄武1 天前
Jmeter 分布式压测部署--常见坑以及解决方案
分布式·jmeter
字节程序员1 天前
使用JUnit进行集成测试
jmeter·junit·单元测试·集成测试·压力测试
hakesashou1 天前
jmeter怎么调用python
开发语言·python·jmeter
我非夏日1 天前
JMeter配置原件-计数器
jmeter
爱学测试的李木子1 天前
性能】JDK和Jmeter的安装与配置
java·开发语言·软件测试·测试工具·jmeter