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           · module_failure_fatal
31
32       pmdabcc  reads  module-specific configuration for each module listed in
33       the comma-separated list of modules (mandatory).  By default, all  met‐
34       rics  from  the  modules  will appear under the bcc Performance Metrics
35       Name Space (PMNS) tree, prefix (optional) can be used  to  change  this
36       generic  prefix.   A  boolean value for module_failure_fatal (optional)
37       controls whether a module failing to compile  should  cause  the  whole
38       PMDA  to  abort  (this is the default) or to start up with any possibly
39       functional modules.  Module configuration errors  and  internal  errors
40       (such  as  failing  to  register the provided PMNS metrics) will always
41       cause the PMDA to fail.
42
43       For each listed module a corresponding [module] section must be defined
44       containing at least the following options:
45
46           · module
47           · cluster
48
49       module  defines  the actual Python module file name to be loaded during
50       PMDA startup under the modules subdirectory of the PCP BCC PMDA instal‐
51       lation.  cluster specifies the cluster ID (see PMNS(5)) for the metrics
52       provided by the module under the PMNS path.  Optionally, prefix can  be
53       defined  to  override  the  generic value described above.  All modules
54       accept but not necessarily use the boolean debug option.
55
56       Modules  may  also  support  additional  module-specific  configuration
57       options, refer to the default configuration file and each Python module
58       for their supported options.  Of particular note,  the  process  option
59       accepted  by  some modules evalutes the given PIDs and process names at
60       PMDA/module initialization time and apply filtering for only those pro‐
61       cesses  found  at  that  stage.   In other words, it is not possible to
62       define, say, process = java and expect all future Java processes to  be
63       traced  by  such  modules.  (This is due to fact that the in-kernel BPF
64       program is constructed at module initialization  time  and,  even  more
65       importantly, they are often running at performance critical areas where
66       it is not acceptable to do process name lookups each time a request  is
67       processed by a BPF program.)
68
69       Once  the  needed  setup is ready, you can install the PMDA to load the
70       configured modules and the BPF programs they utilize.  To  install,  do
71       the following as root:
72
73           # cd $PCP_PMDAS_DIR/bcc
74           # ./Install
75
76       To uninstall, do the following as root:
77
78           # cd $PCP_PMDAS_DIR/bcc
79           # ./Remove
80
81       pmdabcc  is  launched by pmcd(1) and should never be executed directly.
82       The Install and  Remove  scripts  notify  pmcd(1)  when  the  agent  is
83       installed or removed.
84
85       Note  that  the PMDA installation will be considered successful even if
86       some or even all configured modules fail to load, in such cases metrics
87       provided  by  the  failing  modules will not be available.  The pmdabcc
88       agent log file (see below)  will  contain  detailed  information  about
89       activation of each module.
90
91       Some  modules  will  start providing values only after having collected
92       data from related system activity.  For instance,  the  tcplife  module
93       will  not  provide any values unless there are processes generating TCP
94       traffic running on the system.
95

FILES

97       $PCP_PMDAS_DIR/bcc/bcc.conf
98              configuration file for the pmdabcc agent
99
100       $PCP_PMDAS_DIR/bcc/modules/*.{py,python}
101              PCP BCC PMDA Python modules available for the pmdabcc agent
102
103       $PCP_PMDAS_DIR/bcc/Install
104              installation script for the pmdabcc agent
105
106       $PCP_PMDAS_DIR/bcc/Remove
107              undo installation script for the pmdabcc agent
108
109       $PCP_LOG_DIR/pmcd/bcc.log
110              default log file for messages from the pmdabcc agent
111

PCP ENVIRONMENT

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

SEE ALSO

120       PCPIntro(1), bcc(1), bpf(1), and pmcd(1).
121
122
123
124Performance Co-Pilot                  PCP                           PMDABCC(1)
Impressum