Interactive web interface for Performance Co-Pilot

Updated -

Introduction

Performance Co-Pilot is a broad toolset for recording, analyzing, and interacting with systemwide performance data. The toolkit includes pmchart, a Qt-based application, with which one can create interactive dashboards, viewing live or historical, local or remote data.. For times when an X-Windows application is not suitable, PCP 3.9.10 and later includes an interactive web interface provided by the pmwebd service. It allows users to view performance data., based on the graphite and grafana. web applications., through a web browser.

Each archive file and each recorded numeric metric within those files is represented by a different graphite-format time series (computed on demand), which may be selected for viewing individually or as groups (using wildcards).

Quick Start

Assuming you already have a PCP installation on your computer, with archives beneath the default location /var/log/pcp:

# yum install pcp-webapi pcp-webjs
# chkconfig pmwebd on; service pmwebd start
% firefox http://localhost:44323/ &

Note, no other installation of graphite or grafana is necessary, nor are any graphite-specific system services used.
Click on the graphite or grafana links, and dive in. The default dashboards offer a quick cpu/disk/network traffic overview. Feel free to experiment, play, zoom around, even to edit the views. Not every graphite/grafana function is available; please file RFEs for important bits you miss.

foo4.png foo1.png foo2.jpg foo3.png

Configuration

The web applications provided by pmwebd display locally stored PCP archive data., that has been or is being recorded by programs such as pmlogger, as opposed to live data on a local or remote host. Archived does not necessarily mean "stale", since data just being written by a logger will appear immediately via pmwebd. Archived also doesn't necessarily mean "local", since a logger may be monitoring a remote PCP pmcd server. So, the choice of data visible to pmwebd really comes down to the configuration of currently running pmloggers (and of course to the selection of historical archives, however obtained). The system pmwebd service may be configured by the /etc/pcp/pmwebd/pmwebd.options file, or you may run pmwebd directly, under your complete control. The web applications, index pages, and default dashboards, are all under /usr/share/pcp/webapps, which one may copy/edit in a new directory identified with the pmwebd -R option.. See the pmwebd man page for further details.

Configuring any given pmlogger instance to determine the set of metrics it records, the sampling interval, and the host it records from, is done with a set of configuration files under /etc/pcp/pmlogger. See the pmlogger man page for details. The control of pmlogger instances (startup, shutdown) may be done at least two ways. The first is the pmlogger service (a script & cron-job that use /etc/pcp/pmlogger/control), which lists hosts to monitor and a pmlogger output-directory & config file for each. Please turn off compression for the pmlogger_daily run in /etc/cron.d/pcp-pmlogger. The second way is the pmmgr service (a program controlled by /etc/pcp/pmmgr files), which is a convenient way to automatically spawn pmlogger instances for pmcd services running locally or on the network, using any combination of listing, scanning, and avahi service discovery..) The third way is to invoke pmlogger or pmmgr directly, under your complete control. See the pmlogger and pmmgr man pages for further details..

  • Component
  • pcp

3 Comments

The pcp-webjs* bits were included in RHEL7.1 as pcp-webjs-3.9.10-8.el7.noarch.rpm. Not sure where RHN/RHSM puts them but they are somewhere! We're working on moving the packages from "optional" to the base channels.

Thanks Frank - just to confirm when I changed to Subscription Manager I can see the packages - I am not sure they are on RHN Classic?

So the steps to see the packages were:

subscription-manager repos --enable=rhel-7-server-optional-rpms

Then yum install pcp-webapi pcp-webjs

I note that the packages will move from optional to base in the future, but for now we need to enable the optional repo on RHEL 7.

Thanks

Chris

Thanks for this KB. Q: Is there a way to view the metrics in this UI using data from a pmlogger archive in a standalone location? means if i run the data collection, then manually copy the data over to where the UI server will be able to see, can i point the UI to see that? OR do the UI services need to interact with the pcp service running on the remote server where i want to collect metrics from.?