1PMDAPROC(1) General Commands Manual PMDAPROC(1)
2
3
4
6 pmdaproc - process performance metrics domain agent (PMDA)
7
9 $PCP_PMDAS_DIR/proc/pmdaproc [-AL] [-d domain] [-l logfile] [-r cgroup]
10 [-U username]
11
13 pmdaproc is a Performance Metrics Domain Agent (PMDA) which extracts
14 performance metrics describing the state of the individual processes
15 running on a Linux system.
16
17 The proc PMDA exports metrics that measure the memory, processor and
18 other resource use of each process, as well as summary information col‐
19 lated across all of the running processes. The PMDA uses credentials
20 passed from the PMAPI(3) monitoring tool identifying the user request‐
21 ing the information, to ensure that only values the user is allowed to
22 access are returned by the PMDA. This involves the PMDA temporarily
23 changing its effective user and group identifiers for the duration of
24 requests for instances and values. In other words, system calls to
25 extract information are performed as the user originating the request
26 and not as a privileged user. The mechanisms available for transfer of
27 user credentials are described further in the PCPIntro(1) page.
28
29 A brief description of the pmdaproc command line options follows:
30
31 -A Disables use of the credentials provided by PMAPI client tools,
32 and simply runs everything under the "root" account. Only enable
33 this option if you understand the risks involved, and are sure
34 that all remote accesses will be from benevolent users. If
35 enabled, unauthenticated remote PMAPI clients will be able to
36 access potentially sensitive performance metric values which an
37 unauthenticated PMAPI client usually would not be able to. Refer
38 to CVE-2012-3419 for additional details.
39
40 -L Changes the per-process instance domain used by most pmdaproc met‐
41 rics to include threads as well.
42
43 -d It is absolutely crucial that the performance metrics domain num‐
44 ber specified here is unique and consistent. That is, domain
45 should be different for every PMDA on the one host, and the same
46 domain number should be used for the same PMDA on all hosts.
47
48 -l Location of the log file. By default, a log file named proc.log
49 is written in the current directory of pmcd(1) when pmdaproc is
50 started, i.e. $PCP_LOG_DIR/pmcd. If the log file cannot be cre‐
51 ated or is not writable, output is written to the standard error
52 instead.
53
54 -r Restrict the set of processes exported in the per-process instance
55 domain to only those processes that are contained by the specified
56 cgroup resource container. This option provides an optional finer
57 granularity to the monitoring, and can also be used to reduce the
58 resources consumed by pmdaproc during requests for instances and
59 values.
60
61 -U User account under which to run the agent. The default is the
62 privileged "root" account, with seteuid (2) and setegid (2)
63 switching for accessing most information.
64
66 The pmdaproc Performance Metrics Domain Agent (PMDA) includes an addi‐
67 tional set of per-process metrics with an instance domain of processes
68 restricted to an "interesting" or "hot" set. Unlike the stock metrics
69 exported by the proc PMDA, which have an instance domain equal to the
70 current processes, hot metrics have an instance domain which is a sub‐
71 set of this. This hotproc instance domain is determined by a config‐
72 urable predicate evaluated over some refresh interval.
73
74 As well as the equivalent per-process proc metrics, hotproc provides a
75 cpuburn metric which specifies the CPU utilization of the process over
76 the refresh interval, total metrics which indicate how much of the
77 available CPU time the "interesting" processes account for, predicate
78 metrics which show the values of the reserved variables (see below)
79 that are being used in the hotproc predicate, and control metrics for
80 controlling the agent.
81
83 The configuration file consists of one predicate used to determine if a
84 process should be in the interesting set or not.
85
86 An example configuration file may be found at $PCP_PMDAS_DIR/proc/sam‐
87 plehotproc.conf
88
89 This file with any modifications can be copied to
90 $PCP_PMDAS_DIR/proc/hotproc.conf in order to configure the hot metrics.
91 The pmstore(1) and pmStore(3) interfaces can be used as well (described
92 below).
93
94 The predicate is described using the language specified below. The
95 symbols are based on those used by the C(1) and awk(1) languages.
96
97 Boolean Connectives
98 && (and), || (or), ! (not), () (precedence overriding)
99
100 Number comparators
101 < , <= , > , >= , == , !=
102
103 String comparators
104 == , !=
105
106 String/Pattern comparators
107 ~ (string matches pattern) , !~ (string does not match pattern)
108
109 Reserved variables
110 uid (user id; type integer) uname (user name; type string), gid
111 (group id; type integer) gname (group name; type string), fname
112 (process file name; type string), psargs (process file name with
113 args; type string), cpuburn (cpu utilization; type float), iode‐
114 mand (I/O demand - Kbytes read/written per second; type float),
115 ctxswitch (number of context switches per second; type float),