The PCP architecture is distributed in the sense that any PCP
tool may be executing remotely. On the host (or hosts) being
monitored, each domain of performance metrics, whether the
kernel, a service layer, a database management system, a web
server, an application, etc. requires a Performance Metrics
Domain Agent (PMDA) which is responsible for collecting
performance measurements from that domain. All PMDAs are
controlled by the Performance Metrics Collector Daemon (pmcd(1))
on the same host.
Client applications (the monitoring tools) connect to pmcd(1),
which acts as a router for requests, by forwarding requests to
the appropriate PMDA and returning the responses to the clients.
Clients may also access performance data from sets of PCP
archives (created using pmlogger(1)) for retrospective analysis.
Security philosophy
PCP redistributes a wealth of performance information within a
host and across its networks. The following security philosophy
underlies the setting of several defaults that control how much
information is sent and received.
By default, the information exposed by PMCD about a host is
approximately of the same level of confidentiality as available
to a completely unprivileged user on that host. So, performance
data that is available to be read completely freely on a machine
may be made available by PMCD to the network.
However, the host running PMCD and its network is not assumed to
run only friendly applications. Therefore, write type
operations, including from the local host, are not permitted by
default.
These defaults may be overridden (expanded or reduced) in several
ways, including by specifying network ACLs in pmcd.conf
,
activating non-default PMDAs, or by using PMCD connections that
pass user credentials. For example, some PMDAs automatically
provide greater information for particular credentialed users or
groups.
Applications
The following performance monitoring applications are primarily
console based, typically run directly from the command line, and
are just a small subset of the tools available as part of the
base PCP package.
Each tool or command is documented completely in its own
reference page.
pmstat
Outputs an ASCII high-level summary of system performance.
pmie
An inference engine that can evaluate predicate-action
rules to perform alarms and automate system management
tasks.
pminfo
Interrogate specific performance metrics and the metadata
that describes them.
pmlogger
Generates PCP archives of performance metrics suitable for
replay by most PCP tools.
pmrep
Highly customizable performance metrics reporter with
support for various different output modes.
pmval
Simple periodic reporting for some or all instances of a
performance metric, with optional VCR time control.
If the PCP GUI package is installed then the following additional
tools are available.
pmchart
Displays trends over time of arbitrarily selected
performance metrics from one or more hosts.
pmtime
Time control utility for coordinating the time between
multiple tools (including pmchart and pmval).
pmdumptext
Produce ASCII reports for arbitrary combinations of
performance metrics.