参考文章: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安装
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只展示一次,所以要复制保存好。
配置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
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
进入data sources,然后点击add new data source,选择Prometheus,输入url,点击保存,提示成功即可。
然后根据之前同样的操作,我添加id为11074的dashboard。
最后结果为