RH442 开放研究实验: 选择性能监控工具

开放研究实验: 选择性能监控工具

任务执行清单

在本实验中,您将使用各种系统监控工具来观察系统表现。

成果

您应能够:

  • 安装和配置 sysstat 软件包,以生成系统活动报告。
  • 安装和配置 Performance Co-Pilot,以采集原始数据来监控本地和远程系统。
  • 使用 Performance Co-Pilot 图表显示特定系统存档日志中的性能指标。

student用户的身份登录 workstation 虚拟机,密码为 student

workstation上,运行 lab perftools-review start 命令。该命令将确定主机 serverb是否可通过网络访问,并将本次实验练习所需的文件文件到主机上。

[student@workstation ~]$ lab perftools-review start
  1. workstation虚拟机上,配置系统来运行Performance Co-Pilot 图表,从而监控本地和远程性能指标。

    1. 安装 pcp-gui 软件包。

      [student@workstation ~]$ sudo yum install pcp-gui
      
    2. 启动并启用 Performance Co-Pilot 指标收集器守护进程。

      [student@workstation ~]$ sudo systemctl enable --now pmcd
      
  2. workstation上,使用 sshstudent 用户的身份登录 serverb。升级特权至 root 用户帐户。

    1. student用户身份登录 serverb

      [student@workstation ~]$ ssh student@serverb
      [student@serverb ~]$ sudo -i
      [root@serverb ~]# 
      
  3. serverb上,安装包含名为 sysstat-collect.timersysstat-collect.service 的两个 systemd 单元的软件包。修改定时器单元配置文件,使其每分钟收集一次系统活动数据。

    1. 安装 sysstat 软件包。

      [root@serverb ~]# yum install sysstat
      ...output omitted...
      
    2. /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
      
    3. 编辑 /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
      
    4. 使用 systemctl daemon-reload命令,确保 systemd 知道这些更改。

      [root@serverb ~]# systemctl daemon-reload
      
    5. 使用 systemctl命令,激活 sysstat-collect.timer 定时器单元。

      [root@serverb ~]# systemctl enable --now sysstat-collect.timer
      
  4. serverb上,安装 Performance Co-Pilot 软件包,以支持基本系统级别性能监控和提供附加系统监控工具的 PCP 模块。启用并启动性能指标收集器守护进程。

    1. 安装 pcp 和 pcp-system-tools 软件包。

      [root@serverb ~]# yum install pcp pcp-system-tools
      ...output omitted...
      Complete!
      
    2. 启动并启用 Performance Co-Pilot 指标收集器守护进程。

      [root@serverb ~]# systemctl enable --now pmcd
      ...output omitted...
      
  5. 配置对 serverb上运行的性能指标收集器守护进程的远程访问权限。

    1. 使用 firewall-cmd命令来添加 pmcd 服务。

      [root@serverb ~]# firewall-cmd --permanent --add-service="pmcd"
      success
      
    2. 重新加载防火墙配置。

      [root@serverb ~]# firewall-cmd --reload
      success
      
    3. 验证防火墙配置。

      [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:
      
  6. 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
    
  7. 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

    1. 下载示例系统的 Performance Co-Pilot 日志数据。

      [root@serverb ~]# wget \
      http://materials.example.com/labs/perftools-review/sampleserver.tgz
      
    2. 解压存档以访问 Performance Co-Pilot 日志数据。

      [root@serverb ~]# tar -xf sampleserver.tgz
      
    3. 确定将提供一分钟平均负载的参数。

      [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]
      
    4. 确定所经历的一分钟最高平均负载值。将此值重新定向至 /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
      
    5. 验证您的内容是否匹配以下内容:

      [root@serverb ~]# cat /tmp/high-1min-load.data
      19.12
      
    6. 确定一分钟平均负载值首次达到 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
      
    7. 验证您的内容是否匹配以下内容:

      [root@serverb ~]# cat /tmp/time-1min-load.data
      12:32:41.562      19.12          5.060         1.860
      
  8. serverb上,从 http://materials.example.com/labs/perftools-review/sar-server.data 中下载预先存在的 sar 存档文件。确定 enp1s0 接口每秒接收的网络数据包的最高数量,如 ~/sar-server.data 中所记录。按照 HH:MM:SS Packets 格式在 /tmp/net-grade.data 文件中记录时间和数据包的数量。

    1. 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...
      
    2. 使用 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
      
    3. 使用以下筛选条件来解析时间和已接收的数据包值。

      • 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
      
    4. 验证您的结果是否匹配以下内容:

      [root@serverb ~]# cat /tmp/net-grade.data
      01:08:01 202.23
      
    5. 退出 serverb

      [root@serverb ~]# exit
      [student@serverb ~]$ exit
      [student@workstation ~]$ 
      
  9. workstation虚拟机上,使用 Performance Co-Pilot 图表在远程主机 serverb 上创建视图,其中包括以下性能指标:mem.util.useddisk.all.aveqproc.nprocs。将该视图命名为 442labview

    1. 启动 pmchart接口以专门连接至 serverb 远程主机。

      [student@workstation ~]$ pmchart -h serverb &
      
    2. 添加三个性能指标。

      单击 New Chart 按钮。在 Metrics 选项卡中,选择mem → util → used。单击 OK 按钮。

      单击 New Chart 按钮。在 Metrics 选项卡中,选择disk → all → aveq。单击 OK 按钮。

      单击 New Chart 按钮。在 Metrics 选项卡中,选择proc → nprocs。单击 OK 按钮。

    3. 将您的视图另存为 442labview

      打开 File 菜单,然后选择 Save View…。

      将 Path: 字段更改为 /home/student

      在 Filename: 字段中,输入 442labview

      单击 Save 按钮。

    4. 退出 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

本实验到此结束。

  • 54
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值