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

最后结果为

相关推荐
攸攸太上6 小时前
JMeter学习
java·后端·学习·jmeter·微服务
-$_$-2 天前
【黑马点评】2 商户查询缓存
java·jmeter·缓存·maven
Play_Sai2 天前
【接口测试】任务1:登录接口
软件测试·jmeter·接口测试·技能竞赛·楚怡杯·postaman
弥琉撒到我2 天前
微服务JMeter解析部署使用全流程
jmeter·spring cloud·微服务·架构
chaodaibing2 天前
elasticsearch_exporter启动报错 failed to fetch and decode node stats
elasticsearch·prometheus
Betray3913 天前
Jmeter常用函数、逻辑控制器
jmeter
AgostoDu3 天前
jmeter操作数据库
数据库·jmeter
无所事事的海绵宝宝3 天前
Jmeter生成JWT token
网络·数据库·jmeter
陌殇殇殇3 天前
Prometheus监控MySQL主从数据库
运维·数据库·mysql·prometheus
福大大架构师每日一题4 天前
19.1 使用k8s的sdk编写一个项目获取pod和node信息
云原生·容器·kubernetes·prometheus