一、实验目的
1、掌握系统性能监控;
2、掌握系统可视化监控。
二、实验学时
2学时
三、实验类型
设计研究
四、实验需求
1、硬件
每人配备计算机1台。
2、软件
安装Edge、Firefox、Chrome等最新版本浏览器,安装Mobaxterm软件。
3、网络
本地主机能够访问教学云计算平台,虚拟机网络不使用DHCP服务。
4、工具
无。
五、实验任务
1、完成系统性能监控;
2、完成使用Linux-dash实现可视化监控。
六、实验环境
1、本实验需要VM 1台。
2、本实验VM配置信息如下表所示。
注意:虚拟机名称、主机名称均需要参考实验课提供的配置指南进行配置。
3、本实验拓扑图。
无。
4、本实验操作演示视频。
本实验操作演示视频为视频集的第7集:www.bilibili.com/video/BV1iH…
七、实验内容及步骤
1、使用sysstat监控openEuler系统运行
(1)安装sysstat工具
sysstat 是一个软件包,其包含监测系统性能的一组工具,通过对主机的性能数据进行收集与分析,能够监控系统状态,及时了解系统运行性能。系统默认未安装 sysstat 软件,可使用 yum工具安装。
# 使用yum工具在线安装sysstat
[root@Lab-07-Task-01 ~]# yum install -y sysstat
(2)使用mpstat工具监控系统CPU
mpstat 工具可实时监控主机系统 CPU 的运行状态,也可指定单个物理 CPU 查看其运行情况。
# 监控系统全部CPU的运行状态
[root@Lab-07-Task-01 ~]# mpstat -P ALL
# 查看当前系统CPU的平均运行状态(每隔5s,采集2次查看平均运行情况)
[root@Lab-07-Task-01 ~]# mpstat -P ALL 5 2
# 监控当前系统单颗CPU的运行状态(指定第一颗CPU查看运行情况)
[root@Lab-07-Task-01 ~]# mpstat -P 0
(3)使用sar工具监控系统内存
sar是系统运行状态统计工具,可对系统当前的内存运行情况进行取样,然后通过计算数据和比例来分析系统的当前状态。
# 监控系统内存的使用情况
[root@Lab-07-Task-01 ~]# sar -o 3
(4)使用vmstat工具监控系统存储
vmstat工具可统计系统整体的存储情况,包括内核进程、内存使用、虚拟内存、磁盘 IO 和 CPU状态等信息。
# 监控系统存储的使用情况
[root@Lab-07-Task-01 ~]# vmstat
(5)使用pidstat工具监控系统进程
pidstat工具可监控全部或单独指定某个进程,查看其资源占用情况,掌握系统进程的运行性能。
# 使用 pidstat 监控所有进程的运行情况
[root@Lab-07-Task-01 ~]# pidstat
# 指定进程号查看单进程运行情况
[root@Lab-07-Task-01 ~]# pidstat -p 1
(6)使用iostat工具监控系统IO
iostat工具可监视主机磁盘 IO 的运行情况,查看存储设备的性能。
# 使用 iostat 查看磁盘 IO 的运行情况
[root@Lab-07-Task-01 ~]# iostat
2、通过proc监控openEuler系统性能
(1)通过proc监控系统CPU
通过查看/proc/loadavg目录信息监控主机CPU当前运行的负载情况。
# 查看系统CPU运行性能
[root@Lab-07-Task-01 ~]# cat /proc/loadavg
(2)通过proc监控系统内存
通过查看/proc/meminfo目录信息监控当前系统内存的使用情况。
# 监控系统内存运行状态信息
[root@Lab-07-Task-01 ~]# cat /proc/meminfo
(3)通过proc监控系统存储
通过查看/proc/partitions(分区)、/proc/vmstat(虚拟内存)和/proc/swaps(交换分区)目录信息监控当前系统存储的使用情况。
# 查看系统磁盘分区大小
[root@Lab-07-Task-01 ~]# cat /proc/partitions
# 查看系统虚拟内存的使用情况
[root@Lab-07-Task-01 ~]# cat /proc/vmstat
# 查看系统交换分区使用情况
[root@Lab-07-Task-01 ~]# cat /proc/swaps
(4)通过proc监控系统进程
/proc目录中包含许多以数字命名的子目录,这些数字表示系统当前正在运行的进程ID,可查看所有进程信息或者针对某个进程查看其详细的运行情况。
# 查看所有进程目录信息
[root@Lab-07-Task-01 ~]# ll /proc/
# 查看进程ID为1的启动命令
[root@Lab-07-Task-01 ~]# cat /proc/1/cmdline
# 查看进程ID为1的状态信息
[root@Lab-07-Task-01 ~]# cat /proc/1/status
(5)通过proc监控系统IO
通过查看/proc/diskstats 目录信息监控当前系统磁盘IO的运行情况。
# 监控主机磁盘 IO 运行状态
[root@Lab-07-Task-01 ~]# cat /proc/diskstats
(6)通过proc监控系统网络
通过查看/proc/net/dev 目录信息,监控当前系统网卡接口通信流量情况。
# 查看主机网卡接口网络流量
[root@Lab-07-Task-01 ~]# cat /proc/net/dev
3、使用Linux-Dash实现可视化监控
(1)安装Apache服务,启动服务并设置为开机自启。
# 使用yum工具安装Apache
[root@Lab-07-Task-01 ~]# yum install -y httpd
# 使用systemctl start命令启动Apache服务
[root@Lab-07-Task-01 ~]# systemctl start httpd
# 使用systemctl enable命令设置Apache服务开机自启
[root@Lab-07-Task-01 ~]# systemctl enable httpd
(2)安装python、php环境。
# 使用yum工具安装python、php
[root@Lab-07-Task-01 ~]# yum -y install python php php-fpm
(3)安装git工具,下载Linux-Dash源码,并重启Apache服务。
# 使用yum工具安装git
[root@Lab-07-Task-01 ~]# yum install -y git
# 在/var/www/html目录下,下载linux-dash的源码包
[root@Lab-07-Task-01 ~]# cd /var/www/html
[root@Lab-07-Task-01 html]# git clone https://github.com/afaqurk/linux-dash.git
# 重新加载httpd配置文件
[root@Lab-07-Task-01 html]# systemctl restart httpd
(4)配置防火墙策略和SELinux。
# 配置防火墙允许80/tcp端口访问
[root@Lab-07-Task-01 ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
[root@Lab-07-Task-01 ~]# firewall-cmd --reload
[root@Lab-07-Task-01 ~]# firewall-cmd --list-all
# 配置SELinux
[root@Lab-07-Task-01 ~]# setenforce 0
# 修改SELinux配置文件
[root@Lab-07-Task-01 ~]# vi /etc/selinux/config
-------------------- config ----------------------
SELINUX=permissive
--------------------------------------------------
(5)修改httpd的配置文件设置Linux-Dash目录访问规则,创建.htaccess文件,启用基本身份验证。
# 修改httpd的配置文件,设置目录访问规则
[root@Lab-07-Task-01 ~]# vi /etc/httpd/conf.d/dash.conf
-------------------- dash.conf ------------------
<Directory /var/www/html/linux-dash/app>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
--------------------------------------------------
# 在/var/www/html/linux-dash/app目录下创建.htaccess文件
[root@Lab-07-Task-01 ~]# vi /var/www/html/linux-dash/app/.htaccess
-------------------- .htaccess ------------------
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /var/www/html/linux-dash/app/.htpasswd
Require valid-user
--------------------------------------------------
(6)设置Linux-Dash的登录账号和密码,并重启Apache服务。
# 设置访问linux-dash页面的登录账号和密码
[root@Lab-07-Task-01 ~]# htpasswd -c /var/www/html/linux-dash/app/.htpasswd admin
New password:
Re-type new password:
Adding password for user admin
# 重新服务
[root@Lab-07-Task-01 ~]# systemctl restart httpd
(7)在Windows本地客户端使用浏览器访问http://172.31.0.171/linux-dash/app/,输入linux-dash的账号和密码:admin,能够访问Linux-dash监控页面,如图7-1所示。
八、实验考核
实验考核分为【实验智能考】和【实验线上考】两个部分。
实验智能考:通过AI智能体、实验操作日志智能分析等措施,由AI智能对实验学习过程进行综合评分。
实验线上考:每个实验设置10道客观题。通过线上考核平台(如课堂派)进行作答。
实验智能考的成绩占本实验成绩的30%,实验线上考的成绩占本实验成绩的70%。
1、实验智能考
实验7-9为openEuler的服务器运维管理,学生通过教学云计算平台的统一运维平台和堡垒机,在提供的云计算平台上进行实验,依据实际情况提交最终实验成果的URL地址,通过AI和大数据技术对学生操作命令进行实验过程和成果的综合考核,最终由人工智能评定最终成绩。
2、实验线上考
本实验线上考共10题,其中单选5题、多选1题、判断2题、填空2题。