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 驱动程序。
流程
安装 PCP:
# dnf install pcp-zeroconf
安装
pyodbc
驱动程序所需的软件包:# dnf install python3-pyodbc
安装
mssql
代理:为 PCP 安装 Microsoft SQL Server 域名代理:
# dnf install pcp-pmda-mssql
编辑
/etc/pcp/mssql/mssql.conf
文件,为mssql
代理配置 SQL 服务器帐户的用户名和密码。请确定您配置的帐户具有性能数据的访问权限。username: user_name password: user_password
使用这个帐户的 SQL Server 帐户和 user_password 替换 user_name。
安装代理:
# 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 日志归档。
其他资源
-
pcp (1)
,pminfo (1)
,pmval (1)
,pmchart (1)
, andpmdamssql (1)
man pages - 带有 RHEL 8.2 Red Hat Developers Blog 的 Microsoft SQL Server 的 Performance Co-Pilot