PMDAPROC(1)

NAME
pmdaproc - process performance metrics domain agent (PMDA)

SYNOPSIS
$PCP_PMDAS_DIR/proc/pmdaproc [-AL] [-d domain] [-l logfile] [-r cgroup] [-U username]

DESCRIPTION
pmdaproc is a Performance Metrics Domain Agent (PMDA) which extracts performance metrics describing the state of the individual processes running on a Linux system.

The proc PMDA exports metrics that measure the memory, processor and other resource use of each process, as well as summary information collated across all of the running processes. The PMDA uses credentials passed from the PMAPI(3) monitoring tool identifying the user requesting the information, to ensure that only values the user is allowed to access are returned by the PMDA. This involves the PMDA temporarily changing its effective user and group identifiers for the duration of requests for instances and values. In other words, system calls to extract information are performed as the user originating the request and not as a privileged user. The mechanisms available for transfer of user credentials are described further in the PCPIntro(1) page.

A brief description of the pmdaproc command line options follows:

-A  Disables use of the credentials provided by PMAPI client tools, and simply runs everything under the "root" account.

-L  Changes the per-process instance domain used by most procproc metrics to include threads as well.

-d  It is absolutely crucial that the performance metrics domain number specified here is unique and consistent. That is, domain should be different for every PMDA on the one host, and the same domain number should be used for the same PMDA on all hosts.

-l  Location of the log file. By default, a log file named proc.log is written in the current directory of pmcd(1) when pmdaproc is started, i.e. $PCP_LOG_DIR/pmcd. If the log file cannot be created or is not writable, output is written to the standard error instead.

-r  Restrict the set of processes exported in the per-process instance domain to only those processes that are contained by the specified cgroup resource container. This option provides an optional finer granularity to the monitoring, and can also be used to reduce the resources consumed by pmdaproc during requests for instances and values.

-U  User account under which to run the agent. The default is the privileged "root" account, with seteuid (2) and setegid (2) switching for accessing most information.

INSTALLATION
The proc PMDA is installed and available by default. If you want to undo the installation, do the following as root:

# cd $PCP_PMDAS_DIR/proc
# ./Remove

If you want to establish access to the names, help text and values for the proc performance metrics once more, after removal, do the following as root:

# cd $PCP_PMDAS_DIR/proc
# ./Install

pmdaproc is launched by pmcd(1) and should never be executed directly. The Install and Remove scripts notify pmcd(1) when the agent is installed or removed.

FILES
$PCP_PMCDCONF_PATH
    command line options used to launch pmdaproc
$PCP_PMDAS_DIR/proc/help
    default help text file for the proc metrics
$PCP_PMDAS_DIR/proc/Install
    installation script for the pmdaproc agent
$PCP_PMDAS_DIR/proc/Remove
    undo installation script for the pmdaproc agent
$PCP_LOG_DIR/pmcd/proc.log
    default log file for error messages and other information from pmdaproc

PCP ENVIRONMENT
Environment variables with the prefix PCP_ are used to parameterize the file and directory names used by PCP. On each installation, the file /etc/pcp.conf contains the local values for these variables. The $PCP_CONF variable may be used to specify an alternative configuration file, as described in pcp.conf(5).

SEE ALSO
PCPIntro(1), pmcd(1), seteuid(2), setegid(2), PMAPI(3), pcp.conf(5) and pcp.env(5).