国产操作系统实验指导-实验07:系统性能监控

45 阅读7分钟

一、实验目的

1、掌握系统性能监控;

2、掌握系统可视化监控。

二、实验学时

2学时

三、实验类型

设计研究

四、实验需求

1、硬件

每人配备计算机1台。

2、软件

安装Edge、Firefox、Chrome等最新版本浏览器,安装Mobaxterm软件。

3、网络

本地主机能够访问教学云计算平台,虚拟机网络不使用DHCP服务。

4、工具

无。

五、实验任务

1、完成系统性能监控;

2、完成使用Linux-dash实现可视化监控。

六、实验环境

1、本实验需要VM 1台。

2、本实验VM配置信息如下表所示。

2025-09-12_112534.png

注意:虚拟机名称、主机名称均需要参考实验课提供的配置指南进行配置。

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题。