Red Hat Training

A Red Hat training course is available for RHEL 8

第 8 章 使用 Performance Co-Pilot 监控性能

Performance Co-Pilot(PCP)是一组用于监控、可视化、存储和分析系统级性能测量的工具、服务和库。

作为系统管理员,您可以使用 Red Hat Enterprise Linux 8 中的 PCP 应用程序监控系统性能。

8.1. 使用 pmda-postfix 监控 postfix

这个步骤描述了如何使用 pmda-postfix 监控 postfix 邮件服务器的性能指标。有助于检查每秒收到的电子邮件数量。

流程

  1. 安装以下软件包:

    1. 安装 pcp-system-tools

      # yum install pcp-system-tools
    2. 安装 pmda-postfix 软件包以监控 postfix

      # yum install pcp-pmda-postfix postfix
    3. 安装日志记录守护进程:

      # yum install rsyslog
    4. 安装邮件客户端进行测试:

      # yum install mutt
  2. 启用 postfixrsyslog 服务:

    # systemctl enable postfix rsyslog
    # systemctl restart postfix rsyslog
  3. 启用 SELinux 布尔值,以便 pmda-postfix 可以访问所需的日志文件:

    # setsebool -P pcp_read_generic_logs=on
  4. 安装 PMDA

    # cd /var/lib/pcp/pmdas/postfix/
    
    # ./Install
    
    Updating the Performance Metrics Name Space (PMNS) ...
    Terminate PMDA if already installed ...
    Updating the PMCD control file, and notifying PMCD ...
    Waiting for pmcd to terminate ...
    Starting pmcd ...
    Check postfix metrics have appeared ... 7 metrics and 58 values

验证步骤

  • 验证 pmda-postfix 操作:

    echo testmail | mutt root
  • 验证可用的指标:

    # pminfo postfix
    
    postfix.received
    postfix.sent
    postfix.queues.incoming
    postfix.queues.maildrop
    postfix.queues.hold
    postfix.queues.deferred
    postfix.queues.active

其它资源

8.2. 使用 PCP Charts 应用以视觉方式追踪 PCP 日志归档

记录指标数据后,您可以将 PCP 日志存档重播为图形。指标来自一个或多个实时主机,提供备选选项,以将 PCP 日志存档的指标数据用作历史数据源。要自定义 PCP Charts 应用界面来显示性能指标中的数据,您可以使用折线图表、条形图或利用率图。

使用 PCP Charts 应用程序,您可以:

  • 重播 PCP Charts 应用中的数据,并使用图表来视觉化恢复数据以及系统的实时数据。
  • 将性能指标值绘制为图形。
  • 同时显示多个图表。

先决条件

流程

  1. 从命令行启动 PCP Charts 应用程序:

    # pmchart

    图 8.1. PCP Charts 应用程序

    pmchart 已启动

    pmtime 服务器设置位于底部。通过 startpause 按钮,您可以控制:

    • PCP 轮询指标数据的时间间隔
    • 历史数据指标的日期和时间
  2. 单击 File,然后单击 New Chart,以通过指定本地计算机和远程计算机的主机名或地址从本地计算机和远程计算机选择指标。高级配置选项包括手动设置 chart 的轴值以及手动选择图表颜色的功能。
  3. 记录 PCP Charts 应用程序中创建的视图:

    以下是获取镜像或记录 PCP Charts 应用程序中创建视图的选项:

    • 单击 File,然后单击 Export 以保存当前视图的镜像。
    • 单击 Record ,然后开始记录。单击 Record,然后单击 Stop 以停止记录。停止记录后,记录的指标会被存档以供稍后查看。
  4. 可选:在 PCP Charts 应用程序中,主配置文件(称为 视图 )允许保存与一个或多个 chart 关联的元数据。这个元数据描述了所有 Chart 方面,包括使用的指标和 chart 列。单击 File,然后单击 Save View ,再加载查看配置,以保存自定义视图 配置

    以下 PCP Charts 应用视图配置文件示例描述了一个堆栈图表,其中显示了读取和写入给定 XFS 文件系统的字节总数 loop1:

    #kmchart
    version 1
    
    chart title "Filesystem Throughput /loop1" style stacking antialiasing off
        plot legend "Read rate"   metric xfs.read_bytes   instance  "loop1"
        plot legend "Write rate"  metric xfs.write_bytes  instance  "loop1"

其它资源

8.3. 使用 PCP 从 SQL 服务器收集数据

在 Red Hat Enterprise Linux 8.2 或更高版本中,SQL 服务器代理包括在 Performance Co-Pilot(PCP)中,这可帮助您监控和分析数据库性能问题。

这个步骤描述了如何通过系统中的 pcp 为 Microsoft SQL Server 收集数据。

先决条件

  • 您已安装了用于红帽企业 Linux 的 Microsoft SQL Server 并建立了与 SQL 服务器的"可信"连接。
  • 您已安装了适用于红帽企业 Linux 的 SQL Server 的 Microsoft ODBC 驱动程序。

流程

  1. 安装 PCP:

    # yum install pcp-zeroconf
  2. 安装 pyodbc 驱动程序所需的软件包:

    # yum install gcc-c++ python3-devel unixODBC-devel
    
    $ pip3 install pyodbc
  3. 安装 mssql 代理:

    1. 为 PCP 安装 Microsoft SQL Server 域代理:

      # yum install pcp-pmda-mssql
    2. 编辑 /var/lib/pcp/pmdas/mssql/mssql.conf 文件,为 mssql 代理配置 SQL 服务器帐户的用户名和密码。确保您配置的帐户具有对性能数据的访问权限。

      username: user_name
      password: user_password

      使用 SQL Server 帐户和 user_password 将 user_ name 替换为此帐户的 SQL Server 用户密码。

  4. 添加所需的权限:

    # chown root:root /var/lib/pcp/pmdas/mssql/mssql.conf
    # chmod 400 /var/lib/pcp/pmdas/mssql/mssql.conf
  5. 安装代理:

    # cd /var/lib/pcp/pmdas/mssql
    # ./Install
    Updating the Performance Metrics Name Space (PMNS) ...
    Terminate PMDA if already installed ...
    Updating the PMCD control file, and notifying PMCD ...
    Check mssql metrics have appeared ... 168 metrics and 598 values
    [...]

验证步骤

  • 使用 pcp 命令,验证 SQL Server PMDA(mssql)是否已加载并在运行:

    $ pcp
    Performance Co-Pilot configuration on rhel.local:
    
    platform: Linux rhel.local 4.18.0-167.el8.x86_64 #1 SMP Sun Dec 15 01:24:23 UTC 2019 x86_64
     hardware: 2 cpus, 1 disk, 1 node, 2770MB RAM
     timezone: PDT+7
     services: pmcd pmproxy
         pmcd: Version 5.0.2-1, 12 agents, 4 clients
         pmda: root pmcd proc pmproxy xfs linux nfsclient mmv kvm mssql
               jbd2 dm
     pmlogger: primary logger: /var/log/pcp/pmlogger/rhel.local/20200326.16.31
         pmie: primary engine: /var/log/pcp/pmie/rhel.local/pmie.log
  • 查看 PCP 可以从 SQL Server 收集的指标的完整列表:

    # pminfo mssql
  • 查看指标列表后,您可以报告事务率。例如,在 5 秒的窗口中报告每秒总交易数:

    # pmval -t 1 -T 5 mssql.databases.transactions
  • 使用 pmchart 命令查看系统中这些指标的图形图表。如需更多信息,请参阅使用 PCP Charts 应用程序可视化追踪 PCP 日志归档

其它资源