Chapter 7. Monitoring performance with Performance Co-Pilot
Performance Co-Pilot (PCP) is a suite of tools, services, and libraries for monitoring, visualizing, storing, and analyzing system-level performance measurements. As a system administrator, you can monitor the system’s performance by using PCP in Red Hat Enterprise Linux.
7.1. Monitoring postfix with pmda-postfix Copy linkLink copied to clipboard!
You can monitor performance metrics of the postfix mail server with pmda-postfix. It helps to check how many emails are received per second.
Prerequisites
- PCP is installed. For more information, see Installing and enabling PCP.
-
The
pmloggerservice is enabled. For more information, see Enabling the pmlogger service.
Procedure
Install the following packages:
Install the
pcp-system-tools:# dnf install pcp-system-toolsInstall the
pmda-postfixpackage to monitor postfix:# dnf install pcp-pmda-postfix postfixInstall the
loggingdaemon:# dnf install rsyslogInstall the mail client for testing:
# dnf install mutt
Enable the
postfixandrsyslogservices:# systemctl enable postfix rsyslog# systemctl restart postfix rsyslogEnable the SELinux boolean, so that
pmda-postfixcan access the required log files:# setsebool -P pcp_read_generic_logs=onInstall the PMDA:
# cd /var/lib/pcp/pmdas/postfix/# ./InstallUpdating 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
Verification
Verify the
pmda-postfixoperation:echo testmail | mutt rootVerify the available metrics:
# pminfo postfixpostfix.received postfix.sent postfix.queues.incoming postfix.queues.maildrop postfix.queues.hold postfix.queues.deferred postfix.queues.active
7.2. Visually tracing PCP log archives with the PCP Charts application Copy linkLink copied to clipboard!
After recording metric data, replay the PCP log archives as graphs. The metrics are sourced from one or more live hosts. You can also use metric data from PCP log archives as a source of historical data.
To customize the interface of the PCP Charts application to display performance metrics data, use line plots, bar graphs, or utilization graphs.
Using the PCP Charts application, you can:
- Replay the data in the PCP Charts application and use graphs to visualize the retrospective data alongside live data of the system.
- Plot performance metric values into graphs.
- Display multiple charts simultaneously.
Prerequisites
- PCP is installed. For more information, see Installing and enabling PCP.
-
Logged performance data with the
pmlogger. For more information, see Logging performance data with pmlogger. Installed the
pcp-guipackage.# dnf install pcp-gui
Procedure
Launch the PCP Charts application from the command line:
# pmchartThe
pmtimeserver settings are located at the bottom. With start and pause buttons you can control:- The interval in which PCP polls the metric data
- The date and time for the metrics of historical data
- Click File and then New Chart to select metric from both the local machine and remote machines by specifying their host name or address. Advanced configuration options include the ability to manually set the axis values for the chart, and to manually choose the color of the plots.
Record the views created in the PCP Charts application:
Following are the options to take images or record the views created in the PCP Charts application:
- Click File and then Export to save an image of the current view.
- Click Record and then Start to start a recording.
- Click Record and then Stop to stop the recording. After stopping the recording, the recorded metrics are archived to be viewed later.
- Optional: In the PCP Charts application, the main configuration file, known as the view, stores the metadata associated with one or more charts. This metadata describes all chart aspects, including the metrics used and the chart columns.
Optional: Save the custom view configuration by clicking File and then Save View, and load the view configuration later.
The following example of the PCP Charts application view configuration file describes a stacking chart graph showing the total number of bytes read and written to the given XFS file system
loop1:# pmchartversion 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
7.3. Collecting data from SQL server by using PCP Copy linkLink copied to clipboard!
To monitor and analyze database performance issues, use the SQL Server agent in Performance Co-Pilot (PCP). You can collect data for Microsoft SQL Server by using PCP on your system.
Prerequisites
-
You have installed Microsoft SQL Server for Red Hat Enterprise Linux and established a
trustedconnection to an SQL server. - You have installed the Microsoft ODBC driver for SQL Server for Red Hat Enterprise Linux.
Procedure
Install PCP:
# dnf install pcp-zeroconfInstall packages required for the
pyodbcdriver:# dnf install gcc-c++ python3-devel unixODBC-devel# dnf install python3-pyodbcInstall the
mssqlagent:Install the Microsoft SQL Server domain agent for PCP:
# dnf install pcp-pmda-mssqlEdit the
/etc/pcp/mssql/mssql.conffile to configure the SQL server account’s username and password for the mssql agent. Ensure that the account you configure has access rights to performance data.username: user_name password: user_passwordReplace user_name with the SQL Server account username and user_password with the SQL Server user password for this account.
Install the agent:
# cd /var/lib/pcp/pmdas/mssql# ./InstallUpdating 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 [...]
Verification
Using the
pcpcommand, verify if the SQL Server PMDA (mssql) is loaded and running:$ pcpPerformance 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.logView the complete list of metrics that PCP can collect from the SQL Server:
# pminfo mssqlAfter viewing the list of metrics, you can report the rate of transactions. For example, to report on the overall transaction count per second, over a five second time window:
# pmval -t 1 -T 5 mssql.databases.transactions-
View the graphical chart of these metrics on your system by using the pmchart command. For more information, see Visually tracing PCP log archives with the PCP Charts application and
pcp(1),pminfo(1),pmval(1),pmchart(1), andpmdamssql(1)man pages on your system.