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

最后结果为

相关推荐
海姐软件测试8 小时前
Postman参数化设置如何设置?
开发语言·jmeter
lifewange17 小时前
Jmeter面试题
jmeter
一棵树长得超出它自己17 小时前
jmeter if控制器在loop控制器执行结束后执行
前端·jmeter
企鹅侠客2 天前
Prometheus operator怎么添加targets和告警规则
运维·云原生·kubernetes·prometheus·pod
zzhz9252 天前
Jmeter(性能指标、指标插件、测试问题、面试题、讲解稿)
java·jvm·jmeter
熙客2 天前
Jmeter-负载测试
jmeter·压力测试
ylatin2 天前
jmeter web压力测试 压测
jmeter·压力测试
wu8587734573 天前
【实战指南】Spring Boot + Grafana 实时监控API请求与异常,让系统问题无处可藏
spring boot·grafana
zzhz9253 天前
Jmeter操作(数据库)
数据库·jmeter
木二3 天前
附042.Kubernetes_v1.32.3生成环境高可用部署
云原生·kubernetes·prometheus·ingress·longhorn