RH442 开放研究实验: 选择性能监控工具
上,安装 Performance Co-Pilot 软件包,以支持基本系统级别性能监控和提供附加系统监控工具的 PCP 模块。虚拟机上,配置系统来运行Performance Co-Pilot 图表,从而监控本地和远程性能指标。启动并启用 Performance Co-Pilot 指标收集器守护进程。在不同时区的系统上显示时间值时,您必须知道存档所在时区,以确保一致性。下载示例系统的 Perform
开放研究实验: 选择性能监控工具
任务执行清单
在本实验中,您将使用各种系统监控工具来观察系统表现。
成果
您应能够:
- 安装和配置 sysstat 软件包,以生成系统活动报告。
- 安装和配置 Performance Co-Pilot,以采集原始数据来监控本地和远程系统。
- 使用 Performance Co-Pilot 图表显示特定系统存档日志中的性能指标。
以 student
用户的身份登录 workstation
虚拟机,密码为 student
。
在 workstation
上,运行 lab perftools-review start 命令。该命令将确定主机 serverb
是否可通过网络访问,并将本次实验练习所需的文件文件到主机上。
[student@workstation ~]$ lab perftools-review start
-
在
workstation
虚拟机上,配置系统来运行Performance Co-Pilot 图表,从而监控本地和远程性能指标。-
安装
pcp-gui
软件包。[student@workstation ~]$ sudo yum install pcp-gui
-
启动并启用 Performance Co-Pilot 指标收集器守护进程。
[student@workstation ~]$ sudo systemctl enable --now pmcd
-
-
在
workstation
上,使用 ssh 以student
用户的身份登录serverb
。升级特权至root
用户帐户。-
以
student
用户身份登录serverb
。[student@workstation ~]$ ssh student@serverb [student@serverb ~]$ sudo -i [root@serverb ~]#
-
-
在
serverb
上,安装包含名为sysstat-collect.timer
和sysstat-collect.service
的两个 systemd 单元的软件包。修改定时器单元配置文件,使其每分钟收集一次系统活动数据。-
安装 sysstat 软件包。
[root@serverb ~]# yum install sysstat ...output omitted...
-
将
/usr/lib/systemd/system/sysstat-collect.timer
复制到/etc/systemd/system/sysstat-collect.timer
。[root@serverb ~]# cp /usr/lib/systemd/system/sysstat-collect.timer \ /etc/systemd/system/sysstat-collect.timer
-
编辑
/etc/systemd/system/sysstat-collect.timer
,让定时器单元每分钟运行一次。[root@serverb ~]# vim /etc/systemd/system/sysstat-collect.timer ...output omitted... # Activates activity collector once every minute [Unit] Description=Run system activity accounting tool once every minute [Timer] OnCalendar=*:00/01 [Install] WantedBy=sysstat.service
-
使用 systemctl daemon-reload命令,确保
systemd
知道这些更改。[root@serverb ~]# systemctl daemon-reload
-
使用 systemctl命令,激活
sysstat-collect.timer
定时器单元。[root@serverb ~]# systemctl enable --now sysstat-collect.timer
-
-
在
serverb
上,安装 Performance Co-Pilot 软件包,以支持基本系统级别性能监控和提供附加系统监控工具的 PCP 模块。启用并启动性能指标收集器守护进程。-
安装 pcp 和 pcp-system-tools 软件包。
[root@serverb ~]# yum install pcp pcp-system-tools ...output omitted... Complete!
-
启动并启用 Performance Co-Pilot 指标收集器守护进程。
[root@serverb ~]# systemctl enable --now pmcd ...output omitted...
-
-
配置对
serverb
上运行的性能指标收集器守护进程的远程访问权限。-
使用 firewall-cmd命令来添加
pmcd
服务。[root@serverb ~]# firewall-cmd --permanent --add-service="pmcd" success
-
重新加载防火墙配置。
[root@serverb ~]# firewall-cmd --reload success
-
验证防火墙配置。
[root@serverb ~]# firewall-cmd --list-all public (active) target: default icmp-block-inversion: no interfaces: enp1s0 sources: services: cockpit dhcpv6-client pmcd ssh ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
-
-
在
serverb
上,采集来自 Performance Co-Pilot 的mem.util.used
指标的 10 个样本。将输出重新定向至/tmp/mem-util-used-grade.data
。[root@serverb ~]# pmval -s 10 mem.util.used > /tmp/mem-util-used-grade.data
-
在
serverb
上,从http://materials.example.com/labs/perftools-review/sampleserver.tgz
中下载sampleserver.tgz
Performance Co-Pilot 日志存档。确定所经历的一分钟最高平均负载值,并将该值保存到/tmp/high-1min-load.data
。完成后,确定首次达到该一分钟平均负载值的时间,并将时间值保存到/tmp/time-1min-load.data
。-
下载示例系统的 Performance Co-Pilot 日志数据。
[root@serverb ~]# wget \ http://materials.example.com/labs/perftools-review/sampleserver.tgz
-
解压存档以访问 Performance Co-Pilot 日志数据。
[root@serverb ~]# tar -xf sampleserver.tgz
-
确定将提供一分钟平均负载的参数。
[root@serverb ~]# pminfo | grep load ...output omitted... kernel.all.load ...output omitted... [root@serverb ~]# pminfo -t kernel.all.load kernel.all.load [1, 5 and 15 minute load average]
-
确定所经历的一分钟最高平均负载值。将此值重新定向至
/tmp/high-1min-load.data
。[root@serverb ~]# pmval -a sampleserver.log/20150223.12.24.0 \ kernel.all.load | tail -n +11 | \ awk '{print $2}' | sort -rn | \ head -n 1 > /tmp/high-1min-load.data
-
验证您的内容是否匹配以下内容:
[root@serverb ~]# cat /tmp/high-1min-load.data 19.12
-
确定一分钟平均负载值首次达到
19.12
的时间。将此值重新定向至/tmp/time-1min-load.data
。在不同时区的系统上显示时间值时,您必须知道存档所在时区,以确保一致性。[root@serverb ~]# pmdumplog -L sampleserver.log/20150223.12.24.0 Log Label (Log Format Version 2) Performance metrics from host server0.example.com commencing Mon Feb 23 11:24:41.562205 2015 ending Mon Feb 23 11:54:41.500123 2015 Archive timezone: EST+5 PID for pmlogger: 9217 [root@serverb ~]# pmval -a sampleserver.log/20150223.12.24.0 \ -Z EST+5 kernel.all.load | grep 19\.12 | \ head -n 1 > /tmp/time-1min-load.data
-
验证您的内容是否匹配以下内容:
[root@serverb ~]# cat /tmp/time-1min-load.data 12:32:41.562 19.12 5.060 1.860
-
-
在
serverb
上,从http://materials.example.com/labs/perftools-review/sar-server.data
中下载预先存在的 sar 存档文件。确定enp1s0
接口每秒接收的网络数据包的最高数量,如~/sar-server.data
中所记录。按照HH:MM:SS Packets
格式在/tmp/net-grade.data
文件中记录时间和数据包的数量。-
将
http://materials.example.com/labs/perftools-review/sar-server.data
下载到/home/student
。[root@serverb ~]# wget \ http://materials.example.com/labs/perftools-review/sar-server.data ...output omitted...
-
使用 sar命令来读取存档文件中的前 10 行,以确定格式。
[root@serverb ~]# sar -n DEV -f sar-server.data | head Linux 4.18.0-80.el8.x86_64 (serverb.lab.example.com) 07/04/2019 _x86_64_ (2 CPU) 00:04:26 LINUX RESTART (2 CPU) 12:06:01 AM IFACE rxpck/s txpck/s ... %ifutil 12:07:01 AM lo 0.00 0.00 0.00 12:07:01 AM enp1s0 1.13 0.50 0.00 12:08:01 AM lo 0.00 0.00 0.00 12:08:01 AM enp1s0 0.62 0.12 0.00 12:09:01 AM lo 0.00 0.00 0.00
-
使用以下筛选条件来解析时间和已接收的数据包值。
- sar -n DEV -f sar-server.data从预先存在的 tar 文件中报告网络统计信息。
- **grep ‘[A].*enp1s0’**在删除了不以时间戳开头的各行(如以单词
Average
开头的各行)后,仅会隔离出与enp1s0
相关联的各行。 - awk ‘{print $1, $4}’ | sort -rnk 2会打印由 grep 命令生成的输出结果中的第一列和第三列内容,并按降序对第三列数据进行排序。
- head -n+1 > /tmp/net-grade.data会将已排序的第一列数据重新定向至
/tmp/net-grade.data
文件。
[root@serverb ~]# sar -n DEV -f sar-server.data | \ grep '^[^A].*enp1s0' | \ awk '{print $1, $4}' | sort -rnk 2 | \ head -n+1 > /tmp/net-grade.data
-
验证您的结果是否匹配以下内容:
[root@serverb ~]# cat /tmp/net-grade.data 01:08:01 202.23
-
退出
serverb
。[root@serverb ~]# exit [student@serverb ~]$ exit [student@workstation ~]$
-
-
在
workstation
虚拟机上,使用 Performance Co-Pilot 图表在远程主机serverb
上创建视图,其中包括以下性能指标:mem.util.used
、disk.all.aveq
和proc.nprocs
。将该视图命名为442labview
。-
启动 pmchart接口以专门连接至
serverb
远程主机。[student@workstation ~]$ pmchart -h serverb &
-
添加三个性能指标。
单击 New Chart 按钮。在 Metrics 选项卡中,选择mem → util → used。单击 OK 按钮。
单击 New Chart 按钮。在 Metrics 选项卡中,选择disk → all → aveq。单击 OK 按钮。
单击 New Chart 按钮。在 Metrics 选项卡中,选择proc → nprocs。单击 OK 按钮。
-
将您的视图另存为
442labview
。打开 File 菜单,然后选择 Save View…。
将 Path: 字段更改为
/home/student
。在 Filename: 字段中,输入
442labview
。单击 Save 按钮。
-
退出 PCP 图表的图形界面。
打开 File 菜单,然后选择 Quit。
-
评估
在 workstation
上,运行 lab perftools-review grade 命令来确认是否成功完成本练习。
[student@workstation ~]$ lab perftools-review grade
完成
在 workstation
上运行 lab perftools-review finish 命令以完成本练习。
[student@workstation ~]$ lab perftools-review finish
本实验到此结束。
更多推荐
所有评论(0)