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

NAME

6       pmlogconf - create/edit a pmlogger configuration file
7

SYNOPSIS

9       pmlogconf  [-cqrvV?]  [-d groupsdir] [-g grouptag] [-h host] [-s group‐
10       file] configfile
11

DESCRIPTION

13       pmlogconf may be used to create and modify a generic configuration file
14       for the PCP archive logger, pmlogger(1).
15
16       If  configfile does not exist, pmlogconf will create a generic configu‐
17       ration file with a default set of enabled metrics  and  logging  inter‐
18       vals.
19
20       Once  created, configfile may be used with the -c option to pmlogger(1)
21       to select performance metrics and specify logging intervals for  a  PCP
22       archive.
23
24       If configfile does exist, pmlogconf will prompt for input from the user
25       to enable or disable groups of related performance metrics and to  con‐
26       trol the logging interval for each enabled group.
27
28       Group  selection  requires  a  simple y (yes) or n (no) response to the
29       prompt Log this group?.
30
31       Other responses at this point may be used to select additional  control
32       functions as follows:
33
34       m         Report the names of the metrics in the current group.
35
36       q         Finish  with  group  selection  (quit)  and  make  no further
37                 changes to this group or any subsequent group.
38
39       /pattern  Make no change to this group but search for a group  contain‐
40                 ing  pattern  in the description of the group or the names of
41                 the associated metrics.
42
43       A logging interval is specified by responding to the Logging  interval?
44       prompt  with the keywords once or default or a valid pmlogger(1) inter‐
45       val specification of the form ``every N timeunits'' or simply ``N time‐
46       units  ''  (the  every  is optional) where N is an unsigned integer and
47       timeunits is one of the keywords msec, millisecond, sec,  second,  min,
48       minute, hour or the plural form of one of the keywords.
49
50       When  run from automated logging setup processes, the -c option is used
51       to indicate that pmlogconf is in auto-create mode  and  no  interactive
52       dialog  takes  place.   The output configfile has an additional comment
53       message and timestamp indicating this fact, so that it can  be  identi‐
54       fied  and  subsequently updated using -c again.  This option is not ap‐
55       propriate for interactive use of the tool.
56
57       The -q option suppresses the logging interval dialog and preserves  the
58       current interval from configfile.
59
60       More verbose output may be enabled with the -v option.
61

SETUP GROUP FILES

63       When  an initial configfile is created, the default specifications come
64       from a set of group files below the groupsdir specified with the -d op‐
65       tion  (the  default groupsdir is $PCP_VAR_DIR/config/pmlogconf which is
66       most commonly correct, so the -d option is rarely used in practice).
67
68       The directory structure below groupsdir is  arbitrary  as  all  regular
69       files  will  be  found  by  recursive descent and considered, so add-on
70       products and PMDA developers can easily extend the  available  defaults
71       to pmlogconf by adding new directories and/or group files below groups‐
72       dir.
73
74       These group files are processed in the following ways:
75
76       •  When a new configfile is created, all group files are processed.
77
78       •  Whenever pmlogconf is run with an existing configfile, groupsdir  is
79          traversed  to  see if any new groups have been defined and should be
80          considered for inclusion in configfile.
81
82       •  When pmlogconf processes a group in configfile that is enabled,  the
83          list  of  metrics  associated with the group is taken from the group
84          file (and replaces any previous list of metrics associated with this
85          group in configfile).
86
87       •  When  either  the  -r (reprobe) or the -c (auto-create) command line
88          option is specified, every group (not just newly discovered ones) is
89          reprocessed  to see if it should be considered for inclusion in con‐
90          figfile.
91
92       •  If a group is found in configfile but the corresponding  group  does
93          not exist below groupsdir (as would be the case when a group is made
94          obsolete by a PCP upgrade) then the handling of the group depends on
95          the mode in which pmlogconf is being run.  With -c the corresponding
96          group is culled from configfile, otherwise the  corresponding  group
97          is unchanged in configfile.  In either case a warning is issued.
98
99       Each group file is structured as follows:
100
101       •  The first line must contain #pmlogconf-setup 2.0
102
103       •  Other lines beginning with # are treated as comments.
104
105       •  Blank lines are ignored.
106
107       •  One  or  more lines starting with the keyword ident are used to pro‐
108          vide the human-readable description of the group.
109
110       •  Non-blank lines beginning with white space define metrics to be  as‐
111          sociated  with  this group, one per line.  Each metric specification
112          follows the rules for a pmlogger(1) configuration, namely either the
113          name  of  a non-leaf node in the PMNS (implying all descendent names
114          in the PMNS), or the name of a leaf node in the PMNS optionally fol‐
115          lowed by one or more instance names enclosed by ``['' and ``]''.
116
117       •  A control line starting with one of the keywords probe or force must
118          be present.
119
120       •  An optional logging interval control line begins  with  the  keyword
121          delta  followed by one of the pmlogger(1) interval specification de‐
122          scribed above.
123
124probe control lines have the format:
125                         probe metric [condition [state_rule] ]
126          where metric is the name of a PCP metric (must be a leaf node in the
127          PMNS, no instance specification is allowed, and it must not be a de‐
128          rived metric) and the optional condition is the keyword exists (true
129          if metric exists, i.e. is defined in the PMNS) or the keyword values
130          (true if metric exists in the PMNS and has one or more current  val‐
131          ues) or an expression of the form
132                                         op val
133          where  op  is  one  of the awk(1) operators (==, !=, >, >=, <, <=, ~
134          (regular expression match) or !~ (negated regular expression match))
135          and  val  is  a value (arbitrary sequence of characters, excluding a
136          space) and the condition is true if there is some instance of metric
137          that makes the expression true.
138
139          If the condition is missing, the default is exists.
140
141          When  an  explicit  condition  is provided, there may also be an op‐
142          tional state_rule of the form
143                               ? true_state : false_state
144          where true_state (applies if condition is true) and false_state (ap‐
145          plies  if  condition  is false) are both taken from the keywords in‐
146          clude (include and enable the group and the  associated  metrics  in
147          configfile),  available (include and disable the group in configfile
148          - a user action of y as described above  is  needed  to  enable  the
149          group  and  add  the  associated metrics into configfile) or exclude
150          (the group is not considered for inclusion in configfile).
151
152          The default state_rule is
153                                 ? available : exclude
154
155force control lines begin with the keyword force followed by one  of
156          the  states defined above, so one of the actions include, exclude or
157          available is applied unconditionally to the group.
158
159       Probing is only done when a new group is being added to  configfile  or
160       when  the  -r  command line option is specified.  The evaluation of the
161       probing conditions is done by contacting pmcd(1) on hostname  (defaults
162       to local:).
163

OPTIONS

165       The available command line options are:
166
167       -c   Enable non-interactive, auto-create mode.
168
169       -d groupdir, --groups=groupdir
170            Specify the path to the groupsdir directory.
171
172       -g grouptag, --group=grouptag
173            Query logging state for the specific logging group named grouptag.
174
175       -h host, --host=host
176            Performance  metrics source is pmcd(1) on host, rather than on the
177            default localhost.
178
179       -q, --quiet
180            Quiet mode, suppress logging interval dialog.
181
182       -r, --reprobe
183            Reconsider every group for inclusion in the configfile.
184
185       -s groupfile, --setup=groupfile
186            Report the default logging state for  the  one  logging  group  in
187            groupfile.   This is equivalent output to that produced by the re‐
188            tired pmlogconf-setup shell script from earlier versions of PCP.
189
190       -v, --verbose
191            Enable verbose mode.
192
193       -V, --version
194            Display version number and exit.
195
196       -?, --help
197            Display usage message and exit.
198

EXAMPLE

200       The following group file demonstrates all of  the  supported  syntactic
201       elements.
202
203       #pmlogconf-setup 2.0
204       ident   Example group file
205       ident   ... more description
206       delta   1 minute
207       probe   sample.secret.foo.one values ? include : exclude
208               sample.secret.foo.one
209               sample.secret.foo.bar   # non-leaf in the PMNS
210               sample.colour [ red green ]
211

MIGRATION

213       The  current  version  of pmlogconf (2.0) supports a slightly different
214       format for configfile compared to earlier versions.  If an old  version
215       configfile  is  presented  to pmlogconf it will be converted to the new
216       format.
217

PCP ENVIRONMENT

219       Environment variables with the prefix PCP_ are used to parameterize the
220       file  and  directory names used by PCP.  On each installation, the file
221       /etc/pcp.conf contains the  local  values  for  these  variables.   The
222       $PCP_CONF  variable may be used to specify an alternative configuration
223       file, as described in pcp.conf(5).
224
225       pmlogconf overrides any $PCP_DERIVED_CONFIG environment variable to  an
226       empty string, for performance reasons.
227
228       pmlogconf  honours  the  $PMCD_WAIT_TIMEOUT  environment  variable when
229       probing and creating new pmlogger configuration files.  It uses  a  de‐
230       fault  timeout value of 10 seconds for this, in the absence of an envi‐
231       ronment setting.
232

SEE ALSO

234       pmcd(1), pmlogger(1), pcp.conf(5) and pcp.env(5).
235
236
237
238Performance Co-Pilot                  PCP                         PMLOGCONF(1)
Impressum