
压测监控平台从0到1
实现原理
influxDB存储jmeter结果数据,prometheus采集服务器数据,通过grafana展示
框架优点
可通过grafana面板实时监控服务器状态,压测完成后可通过两个数据面板定位问题
搭建过程
windows下安装influxDB与grafana
1.InfluxDB安装
进入InfluxDB官网下载influxDB
解压后如图
双击influxd.exe启动数据库
双击influx.exe进入influxdb客户端,进入后创建名字为“jmeter”的数据库
create database jmeter
show databases
2.grafana安装
进入grafana官网下载安装包
解压后如图
解压后进入bin目录点击grafana-server.exe启动
启动后浏览器输入http://127.0.0.1:3000/ 登录grafana后台,默认用户密码都是admin
添加数据源,选择InfluxDB
填入数据库地址,数据库名
添加完成后
然后进入Dashboard页面,点击import导入面板,可以直接输入ID导入
3.jmeter配置
添加“监听器 -> 后端监听器”
配置后端监听器,把jmeter的结果存入influxdb数据库
4.监控服务器prometheus配置
从 https://prometheus.io/download/ 下载相应版本,放到到服务器上。(我这边部署在了WSL中)
# 解压安装包
tar -zxvf prometheus-2.51.1.linux-amd64.tar.gz -C /usr/local/
# 进入解压目录进行重命名
cd /usr/local/
mv prometheus-2.38.0.linux-amd64/ prometheus
# 进入prometheus目录下
cd /usr/local/prometheus/
# 编写启动脚本
echo ' ./prometheus --config.file=./prometheus.yml &' > start.sh && chmod +x start.sh
# 编写停止脚本
echo ' pkill prometheus' > stop.sh && chmod +x stop.sh
# 确认是否正常启动(默认端口9090)
[root@localhost prometheus]# netstat -ntlp | grep 9090
tcp6 0 0 :::9090 :::* LISTEN 31022/./prometheus
[root@localhost prometheus]#
浏览器访问:ip:9090 访问到prometheus的主界面(我这边是WSL部署的,所以是个172.的桥接的ip)
点击Status—>Targets—>就可以看到监控的本机(下面的192.168.123.157就是被压测的应用部署的服务器)
5.被测服务器部署node_exporter组件
服务器ip:192.168.123.157
下载node_exporter组件拷贝到服务器上解压
# 解压安装包
tar -zxvf node_exporter-1.7.0.linux-arm64.tar.gz -C /usr/local/
# 进入解压目录进行重命名
cd /usr/local/
mv node_exporter-1.2.2.linux-amd64/ node_exporter
# 进入node_exporter目录下
cd /usr/local/node_exporter/
# 编写启动脚本
echo ' ./node_exporter &' > start.sh && chmod +x start.sh
# 编写停止脚本
echo ' pkill node_exporter ' > stop.sh && chmod +x stop.sh
# 确认是否正常启动(默认端口9100)
[root@localhost node_exporter]# netstat -ntlp | grep 9100
tcp6 0 0 :::9100 :::* LISTEN 31115/./node_export
[root@localhost node_exporter]#
浏览器打开http://192.168.123.157:9100/ 查看node_exporter是否正常
6.配置prometheus.yml(在监控机prometheus中添加被监控机)
在prometheus.yml最后一行添加被监控机的ip
回到prometheus的web管理页查看target中的被监控机状态
7.grafana导入被监控机状态监控面板
和步骤2中的添加数据源、导入面板操作类似
导入面板的ID为8919
导入后查看Dashboard
参考文章:
JMeter+Grafana+Influxdb搭建可视化性能测试监控平台
0基础搭建Prometheus+Grafana监控服务器CPU、磁盘、内存等信息