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: defaulticmp-block-inversion: nointerfaces: enp1s0sources:services: cockpit dhcpv6-client pmcd sshports:protocols:masquerade: noforward-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.comcommencing Mon Feb 23 11:24:41.562205 2015ending     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

本实验到此结束。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/39775.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

流量攻击是什么意思?

对于多数的互联网企业都会受到流量攻击,那流量攻击是什么意思呢? 流量攻击一般是利用合理的服务请求来占用过多的服务器资源,从而导致正常合法的用户请求没有办法得到服务的响应,使服务无法进行正常的工作运行,流量攻击…

基于FreeRTOS+STM32CubeMX+LCD1602+MCP23S08(SPI接口)的I/O扩展器Proteus仿真

一、仿真原理图: 二、仿真效果: 三、STM32CubeMX配置: 1)、时钟配置: 2)、SPI配置: 四、部分软件: 1)、main主函数: /* USER CODE BEGIN Header */ /** ****************************************************************************** * @file :…

python实现CRC32计算

文章目录 计算法查表法测试验证 crc基础相关内容可参考&#xff1a; https://blog.csdn.net/xiaoyuanwuhui/article/details/131259671 计算法 # 将32位数据逆序排列 def reverse32(x):x (((x & 0xaaaaaaaa) >> 1) | ((x & 0x55555555) << 1))x (((x &…

【7】ExternalCommand

文章目录 ExternalCommandProcessComponent(服务端)输入输出 external_command_demo&#xff08;客户端&#xff09;插件ActionCommandProcessor ExternalCommandProcessComponent(服务端) 输入 用户业务模块发送的命令为apollo::external_command::ExternalCommandProcessCo…

I2C bus,adaptor,client 在sysfs 的路径定位

i2c bus 路径 struct bus_type i2c_bus_type {.name "i2c",.match i2c_device_match,.probe i2c_device_probe,.remove i2c_device_remove,.shutdown i2c_device_shutdown, }; EXPORT_SYMBOL_GPL(i2c_bus_type);static int __init i2c_init(void) {int re…

使用ref定义响应式数据变量

Ref 使用 Ref 可以方便地创建和管理Vue组件中的响应式数据。例如&#xff0c;如果你有一个计数器组件&#xff0c;你可以使用 Ref 来创建一个响应式的计数器变量&#xff0c;然后在组件内部或外部修改这个变量的值&#xff0c;而不需要手动触发视图更新。 先声明一个变量&…

Adobe Photoshop 2024 v25.5.1 中文激活版下载以及安装方法教程

软件介绍 Adobe Photoshop 2024 v25.5.1 是Adobe公司的最新版图像处理软件&#xff0c;它提供了强大的图像编辑工具和智能自动化功能&#xff0c;包括图像修复、色彩校正和滤镜效果&#xff0c;以满足专业人士和业余爱好者的需求。这款软件还支持矢量图形设计和实时协作&#…

JavaScript之深入对象,详细讲讲构造函数与常见内置构造函数

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;我是前端菜鸟的自我修养&#xff01;今天给大家详细讲讲构造函数与常见内置构造函数&#xff0c;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;原创不易&#xff0c;如果能帮助到带大家&#xff0c;欢迎…

提升效率:快速绘制线框图的技巧

1、什么是线框 线框作为项目开始时的蓝图或示意图&#xff0c;可以帮助我们更清晰地向相关客户呈现相应的程序或网站的框架结构。从更深层次上讲&#xff0c;线框图代表了产品的基本设计布局&#xff0c;承载着界面显示的关键信息&#xff0c;绘制着要开发的应用程序或网站界面…

【NPU成为边缘智能新思路】

在人工智能&#xff08;AI&#xff09;技术日新月异的今天&#xff0c;从云端到边缘的计算需求不断攀升&#xff0c;为各行各业带来了前所未有的变革机遇。作为这一领域的领军者&#xff0c;Arm 公司凭借其卓越的节能技术和从云到边缘的广泛布局&#xff0c;正逐步构建着未来AI…

LeetCode题练习与总结:二叉树的后序遍历--145

一、题目描述 给你一棵二叉树的根节点 root &#xff0c;返回其节点值的 后序遍历 。 示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&#xff1a;[3,2,1]示例 2&#xff1a; 输入&#xff1a;root [] 输出&#xff1a;[]示例 3&#xff1a; 输入&#xff1a…

AVR晶体管测试仪开源制作与验证

AVR晶体管测试仪开源制作与验证 &#x1f4cd;原项目地址&#xff1a;https://www.mikrocontroller.net/articles/AVR_Transistortester github地址&#xff1a;https://github.com/Mikrocontroller-net/transistortester &#x1f388;EasyEDA项目地址&#xff1a;https://osh…

《数据结构与算法基础 by王卓老师》学习笔记——2.4线性表的顺序表示和实现3

1.线性表的顺序存储表示 2.顺序表示意图 定义变量的时候才会分配空间&#xff0c;光有类型是不分配空间的 3.顺序表的基本操作 增删查三种较难&#xff0c;后面会讲 4.预定义常量和类型 5.算法一&#xff1a;线性表的初始化 6.线性表的几个简单操作 7.算法二&#xff1a;顺序…

鸿蒙自定义dialog弹窗及传参操作

第一步定义一个dialog&#xff1a; CustomDialog export struct InputDialog {controller: CustomDialogController;State counter: string "10";changeInputValue: Function (value: string) > {}build() {Column() {TextArea({ text: this.counter, placehol…

快速上手文心一言指令:解锁AI对话新纪元

快速上手文心一言指令 一、引言&#xff1a;文心一言的魅力所在二、准备工作&#xff1a;了解文心一言平台2.1 轻松注册&#xff0c;开启智能对话之旅2.2 深度探索&#xff0c;掌握界面布局奥秘2.2.1 输入框&#xff1a;智慧交流的起点2.2.2 回复区&#xff1a;即时反馈的窗口2…

IT行业入门,如何假期逆袭,实现抢跑

目录 前言 1.IT行业领域分类 2.基础课程预习指南 3.技术学习路线 4.学习资源推荐 结束语 前言 IT&#xff08;信息技术&#xff09;行业是一个非常广泛和多样化的领域&#xff0c;它包括了许多不同的专业领域和职业路径。如果要进军IT行业&#xff0c;我们应该要明确自己…

从一次 SQL 查询的全过程了解 DolphinDB 线程模型

1. 前言 DolphinDB 的线程模型较为复杂&#xff0c;写入与查询分布式表都可能需要多个类型的线程。通过了解 SQL 查询的全过程&#xff0c;可以帮助我们了解 DolphinDB 的线程模型&#xff0c;掌握 DolpinDB 的配置&#xff0c;以及优化系统性能的方法。 本教程以一个分布式 …

使用hadoop进行数据分析

Hadoop是一个开源框架&#xff0c;它允许分布式处理大数据集群上的大量数据。Hadoop由两个主要部分组成&#xff1a;HDFS&#xff08;Hadoop分布式文件系统&#xff09;和MapReduce。以下是使用Hadoop进行数据分析的基本步骤&#xff1a; 数据准备&#xff1a; 将数据存储在HDF…

【鸿蒙学习笔记】基础组件 Button

官方文档&#xff1a;按钮 (Button)添加链接描述 官方文档&#xff1a;button开发指导 目录标题 属性迭代完善不含子组件的按钮包含子组件的按钮ButtonType添加事件跳转超链接提交表单悬浮按钮 属性迭代完善 不含子组件的按钮 Column({ space: 10 }) {Row() {Button(添加子目…

解决 Enter passphrase for key ‘/Users/xxx/.ssh/id_rsa‘: 问题

问题 在 git 配置 ssh 后&#xff0c;发现每次都需要输入密码&#xff1a; Enter passphrase for key ‘/Users/xxx/.ssh/id_rsa’: 原因 在创建 SSH 公私钥 的时候&#xff0c;输入了密码&#xff0c;现在每次都需要效验之前输入的密码&#xff0c;想要永久的解决这种问题&…