使用 Insights for Red Hat Enterprise Linux 评估和监控 RHEL 资源优化

Red Hat Insights 1-latest

了解 RHEL resource-usage 统计

Red Hat Customer Content Services

摘要

安装并开始使用 Insights for RHEL 资源优化服务。此新服务可帮助您管理公共云系统。
红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。详情请查看 CTO Chris Wright 信息

第 1 章 公有云系统的 resource-optimization 服务

Red Hat Insights for Red Hat Enterprise Linux 资源优化服务使 RHEL 客户能够评估和监控其公共 RHEL 云使用和优化。该服务显示以下指标:

  • CPU
  • 内存
  • disk-usage

它分析这些指标,并将其与公有云供应商推荐的资源限值进行比较。资源优化服务利用过去一天的数据,以几种不同方式考虑每个资源参数并返回可操作的数据。这些数据可提供更好的资源分配,并帮助您节省公共云投资的资金。

功能

该服务显示以下信息:

  • Insights for Red Hat Enterprise Linux 清单中现有系统的利用率和优化数据。
  • 在公共云中运行的系统范围。
  • 系统特征概述.
  • 突出显示潜在问题。
  • 分类问题解决的建议。

1.1. 资源优化服务核心概念

1.1.1. 资源优化服务性能规则

使用资源优化服务,查看在支持的公共云 Amazon Web Services (AWS)中运行的受管主机的性能指标。该服务使用名为 Performance Co-Pilot (PCP)工具包的框架来记录性能指标。这些指标可让您做出更好的决策。

Insights 性能规则

性能规则是应用于 PCP 收集的数据的条件集合。它们识别以下系统状态:

  • 下化.undersized 状态是通过检查 CPU、RAM 和磁盘输入/输出(I/O)使用情况来确定的,并在 24 小时内与 CPU 空闲时间合并。如果这会产生较高的分数,资源优化服务会为其工作负载标记系统太小。每当出现任何维度下时,系统将报告为已分类。
  • 过度化.过度大小状态是通过检查 CPU、RAM 和磁盘 I/O 使用量来确定的,并在 24 小时内与 CPU 空闲时间合并。如果这会产生低分数,资源优化服务会为其工作负载标记系统太大。只有所有维度都被过度化时,系统才会报告为过度化。
  • 闲置.闲置状态是通过检查 CPU、RAM 和磁盘 I/O 使用量来确定的,并在 24 小时内与 CPU 空闲时间合并。如果利用率非常低,资源优化服务会根据工作负载标记系统,但被使用。闲置条件可视为需要改进的场景。
  • 已优化.优化的状态是通过检查 CPU、RAM 和磁盘 I/O 使用量来确定的,并在 24 小时内与 CPU 空闲时间合并。如果这导致中间点,资源优化服务会将系统标记为优化。
  • 面临压力.只有在启用了 Kernel Pressure Stall Information (PSI)时,这个状态才处于活动状态。当系统优化利用率时,系统被标记为压力,但一些压力状况仍然存在。

资源优化服务测量系统的状态以及您已设置的所需性能标准,以便为系统分配分数。

其他资源

有关 PCP 工具包和注册 PAYG 的更多信息,请访问以下链接:

1.1.2. 资源优化服务的数据安全保证

资源优化服务遵循 Red Hat Insights for Red Hat Enterprise Linux 服务的数据和应用程序安全实践。如需了解更多详细信息,请参阅 安全

1.1.3. 资源优化的性能指标

资源优化服务在您的系统上安装 pcp 软件包,并运行两个服务 pmcdpmlogger。两者都是 Performance Co-Pilot (PCP)工具包的一部分,它监控和处理系统中的特定指标。指标存储在 Insights 客户端上传到 Red Hat Insights for Red Hat Enterprise Linux 的存档中。

1.1.4. 访问资源优化服务的使用指标

资源优化服务会捕获过去一天中的数据,并在 24 小时后提供系统利用率指标。默认情况下,存档将在本地时间 12:00am +/- 1 一小时内上传到 Insights for Red Hat Enterprise Linux。但是,上传此数据的时间可以在 Performance Co-Pilot (PCP)工具包配置中进行配置。

第 2 章 安装和配置资源优化组件

安装资源优化涉及安装软件包、配置设置并启用本地服务。这可以手动完成,也可以使用红帽提供的 Ansible playbook。

表 2.1. 兼容性信息

RHEL 版本云供应商资源优化兼容性

8.x-9.x

AWS

是(x86_64 和 ARM 64 位)

7.7-7.9

AWS

是(x86_64 和 ARM 64 位)

7.0-7.6

AWS

6.x

AWS

先决条件

在使用资源优化服务前,需要安装或确认以下应用程序和配置:

  • 云市场 RHEL 实例已配置。
  • Insights 客户端安装在系统上,并可以正常工作。
  • 如果要使用 Ansible 安装或卸载资源优化服务:

    • 启用 Ansible 存储库,并且 Ansible 客户端安装在每个系统上。
    • 系统管理员可以运行 Ansible Playbook。

2.1. 安装资源优化组件

安装资源优化组件有几个选项。选择与 Ansible 工作流一起使用的任何方法。

2.1.1. 安装 Ansible 并运行资源优化安装 playbook

建议使用 Ansible 加快安装过程。此流程安装 Ansible 客户端,并在您的系统中运行 Ansible Playbook。

Amazon Web Services (AWS) 上的云市场镜像被配置为使用由云供应商托管的存储库。目前,这些存储库不包含 Ansible 客户端,因此您必须执行以下步骤在云市场上启用 Ansible 存储库 - 受管 RHEL 系统。

注意

在 RHEL 8.6 及更新版本中,红帽建议使用 Ansible Core。如需更多信息,请参阅在 RHEL 8.6 和 9.0 中使用 Ansible

先决条件

  • 在 RHEL 8 上,启用了 Ansible 存储库。

RHEL 8 的步骤

  1. 安装 Ansible:

    # yum install ansible -y

RHEL 7 的步骤

  1. 启用 Subscription-Manager 存储库并注册系统

    # subscription-manager config --rhsm.manage_repos=1
    # subscription-manager register
  2. (可选)将您的系统附加到订阅池中

    # subscription-manager attach --pool xxxxxxxx
  3. 启用所需的 Ansible 存储库。

    # subscription-manager repos --enable=rhel-7-server-ansible-2.9-rpms
  4. 安装 Ansible:

    # yum install ansible -y
  5. 如果您使用 RHEL PAYG 并希望只使用 RHUI 更新服务器,请禁用 Subscription-Manager 存储库:

    # subscription-manager config --rhsm.manage_repos=0

2.1.2. 在已安装 Ansible 时安装资源优化

安装 Ansible 后,继续安装资源优化服务。

流程

  1. 使用以下命令下载 Ansible Playbook:

    $ curl -O https://raw.githubusercontent.com/RedHatInsights/ros-backend/v2.0/ansible-playbooks/ros_install_and_set_up.yml
  2. 通过将 localhost 行附加到 /etc/ansible/hosts,在 Ansible 清单中设置 localhost
  3. 运行 Ansible Playbook:

    # ansible-playbook -c local ros_install_and_set_up.yml

系统将立即显示在 Insights 中处于"Waiting for data"状态,在注册后,数据和建议将每天可用。

验证步骤

具有时间戳的数据文件将显示在 /var/log/pcp/pmlogger/ros 下,您可以验证是否正在收集指标:

$ ls -l /var/log/pcp/pmlogger/ros
$ pmlogsummary /var/log/pcp/pmlogger/ros/

2.1.3. 在没有安装或使用 Ansible 的情况下安装资源优化

流程

如果您选择不使用 Ansible 进行安装,请使用以下手动安装过程:

  1. 确保安装了最新版本的 insights-client。

    $ yum update insights-client
  2. /etc/insights-client/insights-client.conf中设置 core_collect=True
  3. 安装 Performance Co-Pilot (PCP)工具包。

    $ sudo yum install pcp
  4. 使用这个内容创建 PCP 配置文件 /var/lib/pcp/config/pmlogger/config.ros

    log mandatory on default {
      hinv.ncpu
      mem.physmem
      mem.util.available
      disk.dev.total
      kernel.all.cpu.idle
      kernel.all.pressure.cpu.some.avg
      kernel.all.pressure.io.full.avg
      kernel.all.pressure.io.some.avg
      kernel.all.pressure.memory.full.avg
      kernel.all.pressure.memory.some.avg
    }
    [access]
    disallow .* : all;
    disallow :* : all;
    allow local:* : enquire;
  5. 要将 pmlogger 配置为收集资源优化所需的指标,请将此行添加到 /etc/pcp/pmlogger/control.d/local 中:

    LOCALHOSTNAME	n   n	PCP_LOG_DIR/pmlogger/ros	-r -T24h10m -c config.ros -v 100Mb
    注意

    在此流程的早期版本中,这一行以 LOCALHOSTNAME n y 开始。现在,建议您使用 LOCALHOSTNAME n n,它禁用 pmsocks 的使用。有关 pmsocks 的更多信息,请参阅 pmsocksman page。

  6. 启动并启用所需的 PCP 服务。

    $ sudo systemctl enable pmcd pmlogger
    $ sudo systemctl start pmcd pmlogger
  7. 重新注册 insights-client 并上传归档。系统将立即显示在 Insights 中处于"Waiting for data"状态,在注册后,数据和建议将每天可用。

    $ sudo insights-client --register

验证步骤

具有时间戳的数据文件将显示在 /var/log/pcp/pmlogger/ros 下,您可以验证是否正在收集指标:

$ ls -l /var/log/pcp/pmlogger/ros
$ pmlogsummary /var/log/pcp/pmlogger/ros/

2.2. 启用内核识别工作站信息(PSI)

PSI 提供了一种规范的方法,可在资源压力开发时增加。三个主要资源有压力指标:内存、CPU 和输入/输出(I/O)。PSI 可用于 RHEL 8 及更新版本,默认是禁用的。

启用 PSI 后,资源优化服务可以提高其发现,并提供更多详细信息和更好的建议。强烈建议启用 PSI 来识别峰值。

流程

  1. 编辑 /etc/default/grub 文件并在 GRUB_CMDLINE_LINUX 行末尾附加 psi=1 (包含引号)。
  2. 重新生成 grub 配置文件。

    $ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
  3. 重启系统:
注意

启用 PSI 以小(<1%)的性能命中。

验证步骤

启用 PSI 后,CPU、内存和 IO 的文件会显示在 /proc/pressure 下。

2.3. 在资源优化服务中启用通知和集成

当资源优化服务检测到问题并生成建议时,您可以在 Red Hat Hybrid Cloud Console 上启用通知服务来发送通知。使用通知服务可为您持续检查 Red Hat Insights for Red Hat Enterprise Linux 仪表板的建议。

例如,您可以将通知服务配置为在资源优化服务时自动发送电子邮件消息。

启用通知服务需要三个主要步骤:

  • 首先,机构管理员会创建一个具有 Notifications 管理员角色的用户访问权限组,然后将帐户成员添加到组中。
  • 接下来,通知管理员为通知服务中的事件设置行为组。行为组指定每个通知的交付方法。例如,行为组可以指定电子邮件通知是否发送到所有用户,或者只向机构管理员发送。
  • 最后,从事件接收电子邮件通知的用户必须设置其用户首选项,以便他们为每个事件接收单独的电子邮件。

除了发送电子邮件信息外,您还可以配置通知服务以其他方式拉取事件数据:

  • 使用经过身份验证的客户端查询 Red Hat Insights API 获取事件数据。
  • 使用 Webhook 将事件发送到接受入站请求的第三方应用程序。
  • 将通知与 Splunk 等应用程序集成,以将资源优化建议路由到应用程序仪表板。

其他资源

第 3 章 查看资源优化报告

历史数据报告可用于帮助您评估您一段时间内的优化程度,以便就未来公共云投资做出明智的决策。

3.1. 查看历史使用数据

资源优化服务可让您了解您的系统利用率分数如何在最后 7-45 天内趋势。该服务会显示一个栏图表,它指示 CPU 利用率内存利用率百分比。

完成以下步骤以查看、过滤和排序系统历史使用率数据:

步骤

  1. 进入 Business > Resource Optimization 页面。系统状态屏幕将打开。
  2. 单击页面左侧的 Name 标头,以根据 名称、状态或操作系统过滤。使用每个列名称右侧的排序箭头,按 OS、CPU、内存利用率、I/O 输出、Suggestions、StateLast Reported 进行排序。点一次对列进行排序,优化的系统会先显示。第二次单击对列进行排序,以便首先显示将归类为 Waiting for 数据 的系统。
  3. 被分析的系统以蓝色呈现。单击蓝色系统名称以获取更详细的视图。
  4. 单击 Actions 下拉菜单,以查看 清单 中的系统属性,如操作系统、基础架构、配置、BIOS 和其他数据。
  5. 默认情况下,资源优化系统显示 7 天的利用率结果。单击 最后 7 天的下拉菜单,以查看 45 天的使用数据。要查看这些天的特定天数和利用率分数,请使用鼠标轮轮和按钮在栏图表中分页和缩放。
  6. 向下滚动以查看该系统的具体建议。

3.2. 下载资源优化服务报告

您可以下载所有注册的系统的资源优化报告。该报告标识了在最后 7 到 45 天收集的以下数据:

  • 注册的系统.本节详细介绍了最佳、非优化和过时的系统数量。优化的状态是通过检查 CPU、RAM 和磁盘 I/O 使用量确定的,以及 CPU 空闲时间的 24 小时。如果计算基于以下三个因素的考试,则会导致中间点导致资源优化服务将系统标记为优化。过时的系统被定义为 7 天内未将数据提交到资源优化服务。
  • 内核压力停滞信息(PSI)这是对启用了 PSI 的系统数量以及未启用 PSI 的系统数量的分析。PSI 允许您获得更好的系统建议,因为它可以在开发时识别资源压力增加。
  • 系统性能问题.特定性能问题,如 RAM 或 CPU 相关峰值,以及出现次数。
  • 最常用的当前实例类型。该服务将评估并显示您在所有已注册系统中最常用的 5 个实例类型。
  • 建议的实例类型。该服务根据最新的利用率指标识别前 5 个经常推荐的实例类型。这表明,为了获得更好的资源分配,可能需要进行一些改变。
  • 45 天内建议的实例类型。此指标根据历史数据的 45 天显示前 5 经常推荐的实例类型。您还可以查看您最近发生的更改的有效性。

先决条件

必须满足以下条件才能创建 PDF 执行报告:

  • Insights 客户端安装在系统上,并可以正常工作。
  • Performance Co-Pilot 已安装并正确配置。
  • 至少一个系统被注册,并将数据发送到资源优化。
注意

您的系统向资源优化发送信息越长,建议将更加准确和有价值。

流程

  1. 导航到 Business > Resource Optimization
  2. 在右上角,点 Download executive report
  3. 您将看到一个对话框,其中包含消息 Export successful,并注意您的任务栏中的 PDF 文件。

其它资源

  • 请参阅第 3.5 节:启用内核准备工作信息(PSI)
  • PCP 工具包网站: PCP 网站

第 4 章 禁用资源优化服务

4.1. 删除资源优化文件和数据

使用 Ansible 禁用资源优化服务

在每个系统中执行以下步骤来禁用和卸载资源优化服务。

流程

  1. 使用以下命令下载 Ansible Playbook:

    $ curl -O https://raw.githubusercontent.com/RedHatInsights/ros-backend/v1.0/ansible-playbooks/ros_disable.yml
  2. 使用以下命令运行 Ansible Playbook:

    # ansible-playbook -c local ros_disable_and_clean_up.yml

卸载 playbook 不会停止或删除 Performance Co-Pilot (PCP)工具包。请注意,PCP 可以支持多个应用程序。如果您只对资源优化服务使用 PCP,并且希望删除 PCP,则有几个选项。您可以通过从系统中删除 pcp 软件包来停止并禁用 pmloggerpmcd 服务,或者完全删除 PCP。

在不使用 Ansible 的情况下手动禁用资源优化服务

建议使用 Ansible 加快卸载过程。如果您选择不使用 Ansible,请使用以下步骤:

流程

  1. 通过从 /etc/pcp/pmlogger/control.d/local中删除这一行来禁用资源优化服务指标集合

    LOCALHOSTNAME	n   y	PCP_LOG_DIR/pmlogger/ros	-r -T24h10m -c config.ros -v 100Mb
  2. 重启 PCP,以便有效地停止资源优化服务指标集合:

    $ sudo systemctl pmcd pmlogger
  3. 删除资源优化服务配置文件

    $ sudo rm /var/lib/pcp/config/pmlogger/config.ros
  4. 从系统中删除资源优化数据

    $ sudo rm -rf /var/log/pcp/pmlogger/ros
  5. 如果您没有将 PCP 用于任何其他操作,您可以从系统中删除它

    $ sudo yum remove pcp

4.2. 禁用内核压力停滞信息(PSI)

流程

  1. 编辑 /etc/default/grub 文件,再从 GRUB_CMDLINE_LINUX 行中删除 psi=1
  2. 重新生成 grub 配置文件。

    [user]$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
  3. 重启系统:

验证步骤

当禁用 PSI 时,/proc/pressure 不存在。

对红帽文档提供反馈

我们非常感谢并对我们文档的反馈进行优先排序。提供尽可能多的详细信息,以便快速解决您的请求。

先决条件

  • 已登陆到红帽客户门户网站。

流程

要提供反馈,请执行以下步骤:

  1. 点击以下链接: Create Issue
  2. Summary 文本框中描述问题或功能增强。
  3. Description 文本框中提供有关问题或请求的增强的详细信息。
  4. Reporter 文本框中键入您的名称。
  5. Create 按钮。

此操作会创建一个文档票据,并将其路由到适当的文档团队。感谢您花时间来提供反馈。

法律通告

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.