一、需要的工具列表
1、VMware(虚拟机)
百度云盘下载链接:https://pan.baidu.com/s/1AQVTKq05xqPRSAsSDNiM3w 密码:6s4r
2、CentOS7.5(操作系统)
百度云盘下载链接:https://pan.baidu.com/s/1bDE_bVnQTEAhurKwePxthw 密码:b3kd
3、Xftp(文件传输工具)
百度云盘下载链接:https://pan.baidu.com/s/1YeQ71MhmBjhkSR72ITFPag 密码:6v4v
4、Xshell(安全终端模拟器)
百度云盘下载链接:https://pan.baidu.com/s/1bMGXd0d80iKI4r1-O3txEg 密码:hem0
5、influxdb-0.13.0(时间序列数据库,开源)
百度云盘下载链接:https://pan.baidu.com/s/1B21nGqpx7IkIJs8zEdit7g 密码:yx7a
6、grafana-5.2.1(可视化面板)
百度云盘下载链接:https://pan.baidu.com/s/1yLHTDwUk6ABwVmsmyQwrtA 密码:4962
7、telegraf-1.6.4-Windows(数据采集器)
百度云盘下载链接:https://pan.baidu.com/s/1xXHvm4Idt-CNixK9DkWzKg 密码:0xaz
7、jdk8(软件开发工具包)
百度云盘下载链接:https://pan.baidu.com/s/1C8g4bzyJf1hZSIUFuyqAZg 密码:n2yl
8、jmeter-4.0(性能测试工具)
百度云盘下载链接:https://pan.baidu.com/s/1ynFVADmSmDTZgRgyJ1ifsg 密码:mng4
9、grafana模板
百度云盘下载链接:https://pan.baidu.com/s/12AwvY8FErMQaWwv5Me6OFw 密码:6ucn
二、整体结构
三、搭建环境
3.1、安装VMware和centOS 7.5
(1)、安装VMware,参考:https://jingyan.baidu.com/article/08b6a591e505cb14a809220c.html百度经验
(2)、双击,打开虚拟机,在主页中点击【创建新的虚拟机】,选择【典型安装】点击下一步
(3)、选择【选择程序光盘映像文件】,选择之前下载的VMware文件路径,点击下一步
(4)、虚拟机名称根据需要自行编辑,虚拟机安装位置自行选择,注:这个文件路径最好记录下来,以后直接用VMware打开就行,不用再次安装,也可以拷贝到其他电脑上使用,前提是要有VMware,点击下一步
(5)、磁盘容量默认20,不需要改变,选择【将磁盘存储为单个文件】,点击下一页
(6)、选择【硬件配置】,按下图选择相应的硬件,不需要的硬件可以移除,网卡需要选择【桥接模式】,点击关闭,点击完成,开始安装centOS 7.5系统
(7)、哈哈,屏幕是不是变黑色啦,下面进入等待模式,大概3-5分钟吧
(8)、当有弹出框弹出时,就可以继续操作啦,如图在输入框中输入ch,选择【中文】-【简体中文】,点击【继续】
(9)、配置时间、设置用户名和密码(root/root,密码要记住哦)、打开网络,重点说三遍:打开网络、打开网络、打开网络,点击【网络和主机名】
(10)、打开网络连接,记录下ip地址,因为下面会用到,点击完成按钮
(11)、点击【开始安装】,继续等待,直到安装成功
(12)、安装成功后,将虚拟机开机,如果有提示信息,点击【确定】即可
(13)、输入用户名和密码,显示如下界面说明虚拟机已经启动完毕,并且登录成功了,你已经可以对你的虚拟机为所欲为啦。
(14)、一般操作centOS系统比较麻烦,所以这里给大家介绍两款比较好用的软件,分别是:xshell、xftp,这两款软件安装很简单,下一步下一步就可以啦,这里就不多介绍啦。
(15)、xftp的功能其实可以理解为文件传输工具,因centOS中操作文件是需要敲命令的,用xftp你只要拖拽就可以啦,很方便,让我们一起来看看吧,点击图标打开xftp,点击会话窗口中的【新建】,输入虚拟机的ip、用户名、和密码点击连接
(16)、出现下图就连接成功
(17)、这时我们可以把要安装在虚拟机上的influxdb-0.13.0 、 grafana-5.2.1这两个文件拖到右侧的新会话窗口啦
(18)、接下来我们了解一下第二把利器:xshell,是一个强大的安全终端模拟软件,点击桌面上的shell图标打开主界面如下图,点击会话窗口总的【新建】,输入虚拟机ip地址,点击【连接】,输入用户名和密码,连接成功。
(19)、连接成功的效果图
(20)、输入:firewall-cmd --state 查看防火墙状态
(21)、输入:systemctl stop firewalld.service 关闭防火墙
注:关闭防火墙这一步必须要做,如果不关闭,搭建好的监控平台无法通过客户端浏览器进行访问。
(22)、一切准备就绪,开始新的起航
3.2、在被测服务器上安装telegraf
(1)、将下载的telegraf-1.6.4-Windows文件解压到被测服务器的D盘(建议不要放在C盘,如果只有一个盘也可以),打开文件,如图
(2)、编辑telegraf.conf文件,查找关键字urls,然后编辑成urls = ["http://192.168.60.189:8086"] ,注:ip地址为虚拟机的ip,这里根据实际情况填写
(3)、双击telegraf.exe,启动数据收集服务,这时,influxdb中会自动创建一个名为telegraf的数据库
3.3、在虚拟机centOS 7.5上安装influxdb和grafana
(1)、基于3.1章节中的19条继续操作,在xshell中输入:ls,查看根目录下是否存在influxdb和grafana的安装包,如图
(2)、继续输入:yum localinstall influxdb-1.5.1.x86_64.rpm 按回车键进行influxdb安装
(3)、继续输入:systemctl start influxdb 启动influxdb服务
(4)、继续输入:influx 进入influxdb
(5)、继续输入:create database jmeters 创建数据库,库名为jmeters
(6)、继续输入:show databases 查看所有数据库
(7)、输入:exit 退出influxdb
(8)、输入:yum localinstall grafana-5.2.1-1.x86_64.rpm 安装grafana
(9)、输入: systemctl start grafana-server 启动grafana服务
(10)、在浏览器地址栏中输入:http://虚拟机ip:3000 按回车键进行访问,需要登录,默认的用户名和密码均为admin,如图
(11)、点击设置,配置数据源
(12)、配置采集jmeter响应请求的数据源,需要配置:Name(见名知意最好,填jmeter)、Type(因为我们的数据库类型为influxDB,所以选择influxDB);HTTP 中 URL(http://虚拟机ip:8086);InfluxDB Details 中Database(填:jmeter,我们在安装好influxdb之后手动创建的,还有映像吧),点击Save&Test
(13)、配置telegraf采集被测服务器性能参数的数据源,需要配置:Name(见名知意最好,填telegraf)、Type(因为我们的数据库类型为influxDB,所以选择influxDB);HTTP 中 URL(填:http://虚拟机ip:8086);InfluxDB Details 中Database(填:telegraf,这个数据库是执行telegraf.exe后自动生成的),点击Save&Test
(14)、数据源配好之后开始导入我们的模板,点击页面左侧加号图标,选择Import,选择从云盘下载的模板,点击导入
(15)、导入后的效果,有数据看起来是不是很美,模板还有待优化,大家可以任意发挥哦
(16)、cpu利用率的计算方法
SELECT 100-mean("Percent_Idle_Time") FROM "win_cpu" WHERE "host" = 'WIN-FOH9KC0KFE1' and $timeFilter GROUP BY time($__interval) fill(null)
关键字解读:Percent_Idle_Time为磁盘空闲率;mean求平均值;win_cpu为telegraf数据库中的一个表名,用于存放被测服务器的cpu运行情况;host为主机名,根据实际情况填写,主机名查询方法如下图
(17)、内存利用率的计算方法
SELECT (16-mean(Available_Bytes)/1073741824)/16*100 FROM "win_mem" WHERE "host" = 'USER-20240625KR' and $timeFilter GROUP BY time($__interval) fill(null)
关键字解读:Available_Bytes(可用内存数,单位:Bytes);win_mem(用于存放内存相关信息的表);
16-mean(Available_Bytes)/1073741824,16是我的被测服务器的内存总量,单位为:GB,除以1073741824是单位换算,将Bytes转换为GB。
(18)、磁盘I/O的计算方法
select mean(Percent_Disk_Time) from win_diskio where host='WIN-FOH9KC0KFE1' and $timeFilter GROUP BY time($__interval) fill(null)
3.4、jmeter性能测试脚本创建
《未完待续》
参考资料:
性能指标解读:https://wenku.baidu.com/view/b50a756c25c52cc58bd6be78.html