Menu Close

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

SQL Server 代理在 Performance Co-Pilot(PCP)中提供,它可帮助您监控和分析数据库性能问题。

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

先决条件

  • 您已安装了用于 Red Hat Enterprise Linux 的 Microsoft SQL Server ,并建立了到 SQL 服务器的"可信"连接。
  • 您已安装了用于 Red Hat Enterprise Linux 的 SQL Server 的 Microsoft ODBC 驱动程序。

步骤

  1. 安装 PCP:

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

    # dnf install python3-pyodbc
  3. 安装 mssql 代理:

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

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

      username: user_name
      password: user_password

      使用这个帐户的 SQL Server 帐户和 user_password 替换 user_name

  4. 安装代理:

    # 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 应用程序进行 Visual tracing PCP 日志归档

其他资源