1、掌握系统性能监控;
2、掌握系统可视化监控。
2学时
设计研究
每人配备计算机1台。
安装VMware WorkStation Pro或Oracle VM VirtualBox软件,安装Mobaxterm软件。
本地主机与虚拟机能够访问互联网,虚拟机网络不使用DHCP服务。
无。
1、完成系统性能监控;
2、完成使用Linux-dash实现可视化监控。
1、本实验需要VM 1台。
2、本实验VM配置信息如下表所示。

3、本实验拓扑图。
无。
4、本实验操作演示视频。
本实验操作演示视频为视频集的第7集:网页链接

(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 (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 (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所示。

图 7-1 Linux-dash监控
实验考核分为【实验随堂查】和【实验线上考】两个部分。
实验随堂查:每个实验设置2-5考核点。完成实验任务后,任课教师随机选择一个考核点,学生现场进行演示和汇报讲解。
实验线上考:每个实验设置10道客观题。通过线上考核平台(如课堂派)进行作答。
本实验随堂查设置3个考核点,具体如下。
考核点1:解读用命令工具监控的状态指标
考核点2:部署linux-dash并访问
考核点3:解读linux-dash监控指标
本实验线上考共10题,其中单选3题、多选2题、判断3题、填空2题。