1PMDABCC(1)                  General Commands Manual                 PMDABCC(1)
2
3
4

NAME

6       pmdabcc - BCC PMDA
7

DESCRIPTION

9       pmdabcc  is  a  Performance  Metrics Domain Agent (PMDA) which extracts
10       live performance data from extended BPF (Berkeley  Packet  Filter)  in-
11       kernel programs by using BCC (BPF Compiler Collection) Python frontend.
12
13       pmdabcc  loads and acts as a bridge for any number of configured, sepa‐
14       rate PCP BCC PMDA Python modules running BPF  programs.   Existing  BCC
15       Python  tools  and  programs should be possible to be utilized with PCP
16       BCC PMDA modules with reasonable effort.
17
18       See the BPF and BCC documentation for detailed description of both.
19

INSTALLATION

21       pmdabcc reads a mandatory ini-style configuration file
22
23           · $PCP_PMDAS_DIR/bcc/bcc.conf
24
25       This file contains in its [pmda] section values for the following  PMDA
26       options:
27
28           · modules
29           · prefix
30           · process_refresh
31           · module_failure_fatal
32
33       pmdabcc  reads  module-specific configuration for each module listed in
34       the comma-separated list of modules (mandatory).  By default, all  met‐
35       rics  from  the  modules  will appear under the bcc Performance Metrics
36       Name Space (PMNS) tree, prefix (optional) can be used  to  change  this
37       generic  prefix.   A  boolean value for module_failure_fatal (optional)
38       controls whether a module failing to compile  should  cause  the  whole
39       PMDA  to  abort  (this is the default) or to start up with any possibly
40       functional modules.  Module configuration errors  and  internal  errors
41       (such  as  failing  to  register the provided PMNS metrics) will always
42       cause the PMDA to fail.
43
44       Of particular note, the process option accepted by some  modules  eval‐
45       utes  the  given  PIDs  and process names at PMDA/module initialization
46       time and apply filtering for only those processes found at that  stage.
47       This  is due to fact that the in-kernel BPF program is compiled at mod‐
48       ule initialization time and, even more importantly, they are often run‐
49       ning  at  performance  critical  areas where it is not acceptable to do
50       process name lookups each time a request is processed by the  BPF  pro‐
51       gram.   To  allow  modules  to  monitor named processes (say, process =
52       java) even if they restart the process_refresh should be set to a  non-
53       negative  integer  N to dynamically refresh monitored processes every N
54       seconds.  In case  new  processes  matching  the  process  filter  have
55       appeared,  the  currently running BPF is detached and a new BPF program
56       with updated PID information is installed (and if no PIDs matching  the
57       filter are anymore present, the BPF program will be detach to avoid any
58       needless overhead).
59
60       For each listed module a corresponding [module] section must be defined
61       containing at least the following options:
62
63           · module
64           · cluster
65
66       module  defines  the actual Python module file name to be loaded during
67       PMDA startup under the modules subdirectory of the PCP BCC PMDA instal‐
68       lation.  cluster specifies the cluster ID (see PMNS(5)) for the metrics
69       provided by the module under the PMNS path.  Optionally, prefix can  be
70       defined  to  override  the  generic value described above.  All modules
71       accept but not necessarily use the boolean debug option.
72
73       Modules  may  also  support  additional  module-specific  configuration
74       options,  refer  to  the default configuration file for their supported
75       options.
76
77       Once the needed setup is ready, you can install the PMDA  to  load  the
78       configured  modules  and the BPF programs they utilize.  To install, do
79       the following as root:
80
81           # cd $PCP_PMDAS_DIR/bcc
82           # ./Install
83
84       To uninstall, do the following as root:
85
86           # cd $PCP_PMDAS_DIR/bcc
87           # ./Remove
88
89       pmdabcc is launched by pmcd(1) and should never be  executed  directly.
90       The  Install  and  Remove  scripts  notify  pmcd(1)  when  the agent is
91       installed or removed.
92
93       In case module_failure_fatal is set to  false,  the  PMDA  installation
94       will  be considered successful even if some or even all configured mod‐
95       ules fail to load, in such cases metric values provided by the  failing
96       modules  will not be available.  The pmdabcc agent log file (see below)
97       will contain detailed information about activation of each module.
98
99       Some modules will start providing values only  after  having  collected
100       data  from related system activity.  For instance, the tcpperpid module
101       will not provide any values unless there are processes  generating  TCP
102       traffic on the system.
103

FILES

105       $PCP_PMDAS_DIR/bcc/bcc.conf
106              configuration file for the pmdabcc agent
107
108       $PCP_PMDAS_DIR/bcc/modules/*.{py,python}
109              PCP BCC PMDA Python modules available for the pmdabcc agent
110
111       $PCP_PMDAS_DIR/bcc/Install
112              installation script for the pmdabcc agent
113
114       $PCP_PMDAS_DIR/bcc/Remove
115              undo installation script for the pmdabcc agent
116
117       $PCP_LOG_DIR/pmcd/bcc.log
118              default log file for messages from the pmdabcc agent
119

PCP ENVIRONMENT

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

SEE ALSO

128       PCPIntro(1), bcc(1), bpf(1), and pmcd(1).
129
130
131
132Performance Co-Pilot                  PCP                           PMDABCC(1)
Impressum