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

NAME

6       pmlogger - create archive log for performance metrics
7

SYNOPSIS

9       pmlogger  [-CLNoPruy?]   [-c conffile] [-h host] [-H hostname] [-I ver‐
10       sion] [-K spec] [-l logfile] [-m note] [-n pmnsfile] [-p pid] [-s  end‐
11       size]  [-t  interval]  [-T endtime] [-U username] [-v volsize] [-V ver‐
12       sion] [-x fd] archive
13

DESCRIPTION

15       pmlogger creates the archive logs of performance metric values that may
16       be  ``played  back''  by  other  Performance Co-Pilot (see PCPIntro(1))
17       tools.  These logs form the basis of the VCR paradigm and retrospective
18       performance analysis services common to the PCP toolkit.
19
20       The  mandatory argument archive is the base name for the physical files
21       that constitute an archive log.  The archive argument may contain strf‐
22       time(3)  meta-characters,  which  will be substituted prior to creating
23       the archive log files.  When pmlogger is run as a service  (see  pmlog‐
24       ger_daily(1)), the standard archive base name template is %Y%m%d.%H.%M.
25
26       The  -V option specifies the version for the archive that is generated.
27       By default the archive version $PCP_ARCHIVE_VERSION (set to 2  in  cur‐
28       rent PCP releases) is used, and the only values currently supported for
29       version are 2 or 3.
30
31       Unless directed to another host by the -h option or when directly using
32       PMDAs  via the -o option, pmlogger will contact the Performance Metrics
33       Collector Daemon (PMCD) on the local host and use that as the source of
34       the metric values to be logged.
35
36       To support the required flexibility and control over what is logged and
37       when, pmlogger maintains an independent two  level  logging  state  for
38       each  instance  of  each  performance metric.  At the first (mandatory)
39       level, logging is allowed to be on (with an associated interval between
40       samples),  or  off or maybe.  In the latter case, the second (advisory)
41       level logging is allowed to be on (with an associated interval  between
42       samples), or off.
43
44       The  mandatory  level  allows universal specification that some metrics
45       must be logged, or must not be logged.  The default state for  all  in‐
46       stances  of all metrics when pmlogger starts is mandatory maybe and ad‐
47       visory off.
48
49       Use pmlc(1) to interrogate and change the logging state  once  pmlogger
50       is running.
51
52       If  a  metric's state is mandatory (on or off) and a request is made to
53       change it to mandatory maybe, the new state is mandatory maybe and  ad‐
54       visory  off.  If a metric's state is already advisory (on or off) and a
55       request is made to change it to mandatory maybe, the current  state  is
56       retained.
57
58       It  is  not possible for pmlogger to log specific instances of a metric
59       and all instances of the same metric  concurrently.   If  specific  in‐
60       stances  are  being  logged and a request to log all instances is made,
61       then all instances of the metric will be logged according  to  the  new
62       request,  superseding  any prior logging request for the metric.  A re‐
63       quest to log all instances of a metric will supersede any previous  re‐
64       quest  to  log all instances.  A request to log specific instances of a
65       metric when all instances are already being logged is refused.   To  do
66       this  one  must turn off logging for all instances of the metric first.
67       In each case, the validity of the request is checked first; for example
68       a  request to change a metric's logging state to advisory on when it is
69       currently mandatory off is never permitted (it is necessary  to  change
70       the state to mandatory maybe first).
71
72       Optionally, each system running pmcd(1) may also be configured to run a
73       ``primary'' pmlogger instance.  This pmlogger instance is  launched  by
74       $PCP_RC_DIR/pmlogger, and is affected by the files $PCP_SYSCONF_DIR/pm‐
75       logger/control, $PCP_SYSCONF_DIR/pmlogger/control.d (use  chkconfig(8),
76       systemctl(1)  or similar platform-specific commands to activate or dis‐
77       able the primary pmlogger instance), $PCP_SYSCONFIG_DIR/pmlogger (envi‐
78       ronment     variable     settings    for    the    primary    pmlogger)
79       $PCP_SYSCONF_DIR/pmlogger/pmlogger.options (command line options passed
80       to  the  primary  pmlogger) and $PCP_VAR_DIR/config/pmlogger/config.de‐
81       fault (the default initial configuration file for  the  primary  pmlog‐
82       ger).
83
84       The  primary  pmlogger  instance is identified by the -P option.  There
85       may be at most one ``primary'' pmlogger instance on each  system.   The
86       primary  pmlogger instance (if any) must be running on the same host as
87       the pmcd(1) to which it connects (if any), so the -h and -P options are
88       mutually exclusive.
89
90       Logging  of  some  metrics  is  possible even in the absence of a local
91       pmcd(1), using the "local context" mode of operation.   This  is  acti‐
92       vated using the -o option, and causes pmlogger to make use of local DSO
93       PMDAs instead of communicating with pmcd(1).  When  operating  using  a
94       local  context, the -K option may be used to control the DSO PMDAs that
95       should be made accessible.  The spec argument conforms  to  the  syntax
96       described in pmSpecLocalPMDA(3).  More than one -K option may be used.
97
98       When launched as a non-primary instance, pmlogger will exit immediately
99       if the configuration file causes no metric  logging  to  be  scheduled.
100       The  -L option overrides this behavior, and causes a non-primary pmlog‐
101       ger instance to ``linger'', presumably pending some future dynamic  re-
102       configuration  and state change via pmlc(1).  pmlogger will also linger
103       without the -L option being used if all the metrics to  be  logged  are
104       logged  as  once  only  metrics.   When the once only metrics have been
105       logged, a warning message will be  generated  stating  that  the  event
106       queue is empty and no more events will be scheduled.
107
108       By  default all diagnostics and errors from pmlogger are written to the
109       file pmlogger.log in the directory where pmlogger is launched.  The  -l
110       option  may  be used to override the default behavior.  If the log file
111       cannot be created or is not writable, output is written to standard er‐
112       ror  instead.  If the logfile for the -l option is "-" (i.e.  -l-) then
113       log messages are written to the standard output stream.   This  can  be
114       particularly  useful  when  running pmlogger manually, rather than as a
115       service daemon.
116
117       The -N option directs pmlogger to notify a service  manager,  typically
118       systemd(1),  when  it has started and is about to begin writing PCP ar‐
119       chive logs.  This option would only normally be used when  pmlogger  is
120       run  as  a  daemon service under the control of a service manager.  For
121       more  details,  see  __pmServerNotifyServiceManagerReady(3)  and   sys‐
122       temd(1).   On platforms that do not use a service manager that supports
123       notifications, the -N option is basically a no-op.
124
125       If specified, the -s option instructs pmlogger  to  terminate  after  a
126       certain  size in records, bytes or time units has been accumulated.  If
127       endsize is an integer then endsize records will be written to the  log.
128       If  endsize  is an integer suffixed by b or bytes then endsize bytes of
129       the archive data will be written out (note, however, that  archive  log
130       record  boundaries will not be broken and so this limit may be slightly
131       surpassed).  Other viable file size units include: K, Kb,  KiB,  Kbyte,
132       Kilobyte  for  kilobytes  and M, Mb, MiB, Mbyte, Megabyte for megabytes
133       and G, Gb, GiB, Gbyte, Gigabyte for gigabytes.  These units may be  op‐
134       tionally suffixed by an s and may be of mixed case.  Alternatively end‐
135       size may be an integer or a floating point number suffixed using a time
136       unit  as  described  in  PCPIntro(1)  for the interval argument (to the
137       standard PCP -t command line option).
138       Some examples of different formats:
139          -s 100
140          -s 100bytes
141          -s 100K
142          -s 100Mb
143          -s 10Gbyte
144          -s 10mins
145          -s 1.5hours
146       The default is for pmlogger to run forever.
147
148       The -r option causes the size of the physical record(s) for each  group
149       of  metrics  and  the expected contribution of the group to the size of
150       the PCP archive for one full day of collection to be  reported  in  the
151       log  file.   This  information is reported the first time each group is
152       successfully written to the archive.
153
154       The -U option specifies the user account under which to  run  pmlogger.
155       The  default is the current user account for interactive use.  When run
156       as a daemon, the unprivileged "pcp" account is used in current versions
157       of  PCP,  but in older versions the superuser account ("root") was used
158       by default.
159
160       The log file is potentially a multi-volume data set, and the -v  option
161       causes  pmlogger to start a new volume after a certain size in records,
162       bytes, or time units has been accumulated for the current volume.   The
163       format of this size specification is identical to that of the -s option
164       (see above).  The default is for pmlogger to  create  a  single  volume
165       log.   Additional  volume switches can also be forced asynchronously by
166       either using pmlc(1) or sending pmlogger a SIGHUP signal  (see  below).
167       Note,  if  a  scheduled volume switch is in operation due to the -v op‐
168       tion, then its counters will be reset after an asynchronous switch.
169
170       Independent of any -v option, each volume of an archive is  limited  to
171       no  more  than  2^31 bytes, so pmlogger will automatically create a new
172       volume for the archive before this limit is reached.
173
174       Normally pmlogger operates on the distributed Performance Metrics  Name
175       Space  (PMNS), however if the -n option is specified an alternative lo‐
176       cal PMNS is loaded from the file pmnsfile.
177
178       Under normal circumstances, pmlogger will run forever (except for a  -s
179       option  or  a  termination signal).  The -T option may be used to limit
180       the execution time using the format of time  as  prescribed  by  PCPIn‐
181       tro(1).   The  time  is  interpreted  within  the time zone of the PMCD
182       server, unless the -y option is given, within which case the time  zone
183       at this logger host is used.
184       Some examples of different formats:
185          -T 10mins
186          -T '@ 11:30'
187       From this it can be seen that -T 10mins and -s 10mins perform identical
188       actions.
189
190       Alternatively, pmlogger runtime may be limited to the lifetime  of  an‐
191       other  process  by  using the -p or --PID option to nominate the PID of
192       the process of interest.  In this case the pmlogger will exit when  the
193       other process no longer exists.
194
195       When  pmlogger  receives a SIGHUP signal, the current volume of the log
196       is closed, and a new volume is opened.  This mechanism (or the alterna‐
197       tive mechanism via pmlc(1)) may be used to manage the growth of the log
198       files - once a log volume is closed, that file may be archived  without
199       ill-effect on the continued operation of pmlogger.  See also the -v op‐
200       tion above.
201
202       When pmlogger receives a SIGUSR2 signal, the  current  archive  log  is
203       closed, and a new archive is opened.  For this to succeed, the original
204       archive  argument  must  include  strftime(3)  meta  characters   (e.g.
205       %Y%m%d.%H.%M),  otherwise  pmlogger will exit because the archive files
206       will already exist and pmlogger will not  over-write  existing  archive
207       files.   Note  that SIGUSR2 triggers pmlogger to re-exec itself and re-
208       parse all original arguments.  This means that any relative time limits
209       placed  on  it's termination time or sampling limit are reset and begin
210       again.  This only affects  relative  termination  times,  not  absolute
211       times e.g.  -T 5s is affected, but -T 5pm is not.
212
213       Historically the buffers for the current log may be flushed to disk us‐
214       ing the flush command of pmlc(1), or by using the -u option.  The  cur‐
215       rent version of pmlogger and the libpcp routines that underpin pmlogger
216       unconditionally use unbuffered writes and a single fwrite(3)  for  each
217       logical  record  written,  and so ``flushing'' does not force any addi‐
218       tional data to be written to the file system.  The -u  option  and  the
219       pmlc(1) flush command are retained for backwards compatibility.
220
221       When  launched  with  the  -x option, pmlogger will accept asynchronous
222       control requests on the file descriptor fd.  This option  is  only  ex‐
223       pected  to  be  used internally by PCP applications that support ``live
224       record mode''.
225
226       The -m option allows the string note to be appended to the map file for
227       this instance of pmlogger in the $PCP_TMP_DIR/pmlogger directory.  This
228       is currently used internally to document the file descriptor (fd)  when
229       the  -x  option is used, or to indicate that this pmlogger instance was
230       started under the control of pmlogger_check(1), (-m pmlogger_check)  or
231       was re-exec'd (see execvp(3)) due to a SIGUSR2 signal being recieved as
232       described above (-m reexec).
233
234       The -H option allows the hostname written into the archive label to  be
235       overridden.   This  mirrors the -H option of pmcd(1) , but allows it to
236       be specified on the pmlogger process.  Without this option,  the  value
237       returned from the logged pmcd(1) is used.
238
239       The -C option will cause the configuration file to be parsed and pmlog‐
240       ger will then exit without creating an output archive, so  when  -C  is
241       specified,  the archive command line argument is not required.  Any er‐
242       rors in the configuration file are reported.
243

CONFIGURATION FILE SYNTAX

245       The configuration file may be specified with the -c option.  If  it  is
246       not, configuration specifications are read from standard input.
247
248       If  conffile  does  not  exist,  then a search is made in the directory
249       $PCP_VAR_DIR/config/pmlogger for a file of the same name, and if  found
250       that  file is used, e.g. if config.mumble does not exist in the current
251       directory and the file $PCP_VAR_DIR/config/pmlogger/config.mumble  does
252       exist,  then  -c config.mumble and -c $PCP_VAR_DIR/config/pmlogger/con‐
253       fig.mumble are equivalent.
254
255       The syntax for the configuration file is as follows.
256
257       1.   Words are separated by white space (space, tab or newline).
258
259       2.   The symbol ``#'' (hash) introduces a comment, and all text  up  to
260            the next newline is ignored.
261
262       3.   Keywords  (shown  in  bold  below)  must appear literally (i.e. in
263            lower case).
264
265       4.   Each specification begins with the optional keyword log,  followed
266            by one of the states mandatory on, mandatory off, mandatory maybe,
267            advisory on or advisory off.
268
269       5.   For the on states, a logging interval must follow using the syntax
270            ``once'',  or ``default'', or ``every N timeunits'', or simply ``N
271            timeunits'' - N is an unsigned integer, and timeunits  is  one  of
272            the  keywords msec, millisecond, sec, second, min, minute, hour or
273            the plural form of one of the above.
274            Internal limitations require the interval to be smaller than  (ap‐
275            proximately) 74 hours.  An interval value of zero is a synonym for
276            once.  An interval of default means to use the default logging in‐
277            terval  of 60 seconds; this default value may be changed to inter‐
278            val with the -t command line option.
279
280            The interval argument follows the syntax described in PCPIntro(1),
281            and  in  the simplest form may be an unsigned integer (the implied
282            units in this case are seconds).
283
284       6.   Following the state and possible interval specifications  comes  a
285            ``{'', followed by a list of one or more metric specifications and
286            a closing ``}''.  The list is white space  (or  comma)  separated.
287            If  there is only one metric specification in the list, the braces
288            are optional.
289
290       7.   A metric specification consists of a metric name  optionally  fol‐
291            lowed  by  a  set  of instance names.  The metric name follows the
292            standard PCP naming conventions, see PMNS(5), and  if  the  metric
293            name  is  a non-leaf node in the PMNS (see PMNS(5)), then pmlogger
294            will recursively descend the PMNS and apply the logging specifica‐
295            tion  to  all  descendent  metric names that are leaf nodes in the
296            PMNS.  The set of instance names is a ``['', followed by a list of
297            one  or more space (or comma) separated names, numbers or strings,
298            and a closing ``]''.  Elements in the list that  are  numbers  are
299            assumed  to  be  internal instance identifiers, other elements are
300            assumed to be external instance identifiers  -  see  pmGetInDom(3)
301            for more information.
302
303            If  no  instances are given, then the logging specification is ap‐
304            plied to all instances of the associated metric.
305
306       8.   There may be an arbitrary number of logging specifications.
307
308       9.   As of PCP version 4.0 and later,  any  metric  name  specification
309            that  does  not  resolve to a leaf node in the PMNS is added to an
310            internal list of possible dynamic subtree roots.  PMDAs can dynam‐
311            ically create new metrics below a dynamic root node in their PMNS,
312            and send a notification to clients that the PMNS has changed,  see
313            pmdaExtSetFlags(3)  and  in  particular the METRIC CHANGES section
314            for API details.  This mechanism is  currently  supported  by  pm‐
315            daopenmetrics(1)  and pmdammv(1).  When a fetch issued by pmlogger
316            returns with the PMDA_EXT_NAMES_CHANGE  flag  set,  pmlogger  will
317            traverse  the  internal list of possible dynamic subtree nodes and
318            dynamically discover any new metrics.  In effect, as of  PCP  ver‐
319            sion  4.0 and later, pmlogger can be configured to dynamically log
320            new metrics that appear in the  future,  after  the  configuration
321            file is initially parsed.
322
323       10.  Following  all  of the logging specifications, there may be an op‐
324            tional access control section, introduced  by  the  literal  token
325            [access].  Thereafter come access control rules that allow or dis‐
326            allow operations from particular hosts or groups of hosts.
327
328            The operations may be used to interrogate or control a running pm‐
329            logger using pmlc(1) and fall into the following classes:
330
331            enquire        interrogate  the status of pmlogger and the metrics
332                           it is logging
333            advisory       Change advisory logging.
334            mandatory      Change mandatory logging.
335            all            All of the above.
336
337            Access control rules are of the form  ``allow  hostlist  :  opera‐
338            tionlist ;'' and ``disallow hostlist : operationlist ;''.
339
340            The  hostlist follows the syntax and semantics for the access con‐
341            trol mechanisms used by PMCD and are fully documented in  pmcd(1).
342            An  operationslist is a comma separated list of the operations ad‐
343            visory, mandatory, enquire and all.
344
345            A missing [access] section allows all access and is equivalent  to
346            allow * : all;.
347
348       The configuration (either from standard input or conffile) is initially
349       scanned by pmcpp(1) with the options -rs and -I $PCP_VAR_DIR/config/pm‐
350       logger.   This  extends the configuration file syntax with include file
351       processing (%include), a common location to search  for  include  files
352       ($PCP_VAR_DIR/config/pmlogger),  macro definitions (%define), macro ex‐
353       pansion (%name and %{name}) and conditional inclusion of lines  (%ifdef
354       name ... %else ... %endif and %ifndef name ... %else ... %endif).
355

OPTIONS

357       The available command line options are:
358
359       -c conffile, --config=conffile
360            Specify the conffile file to use.
361
362       -C, --check
363            Parse configuration and exit.
364
365       -h host, --host=host
366            Fetch  performance  metrics from pmcd(1) on host, rather than from
367            the default localhost.
368
369       -H hostname, --labelhost=hostname
370            Specify the hostname  to  use  instead  of  the  one  returned  by
371            pmcd(1).
372
373       -I version, --pmlc-ipc-version=version
374            Normally,  pmlogger  and pmlc(1) will autonegotiate a mutually ac‐
375            ceptable version for their private IPC channel.  Use -I  to  force
376            pmlogger  to  offer  (at  most) version as the version to be used.
377            This option may be required if pmlogger needs to be managed by  an
378            older version of pmlc(1) that fails to autonegotiate correctly.
379
380       -K spec, --spec-local=spec
381            When fetching metrics from a local context (see -o), the -K option
382            may be used to control the DSO PMDAs that should be made  accessi‐
383            ble.   The  spec  argument conforms to the syntax described in pm‐
384            SpecLocalPMDA(3).  More than one -K option may be used.
385
386       -l logfile, --log=logfile
387            Write all diagnostics to logfile instead  of  the  default  pmlog‐
388            ger.log.
389
390       -L, --linger
391            Run even if not the primary logger instance and nothing to log.
392
393       -m note, --note=note
394            Append note to the port map file for this instance.
395
396       -n pmnsfile, --namespace=pmnsfile
397            Load  an alternative Performance Metrics Name Space (PMNS(5)) from
398            the file pmnsfile.
399
400       -N, --notify
401            Notify service manager such as systemd(1) as needed.
402
403       -o, --local-PMDA
404            Use a local context to collect metrics from DSO PMDAs on the local
405            host without PMCD.  See also -K.
406
407       -p PID, --PID=PID
408            Log specified metrics for the lifetime of the pid PID.
409
410       -P, --primary
411            Run  as  primary logger instance.  See above for more detailed de‐
412            scription of this.
413
414       -r, --report
415            Report record sizes and archive growth rate.
416
417       -s endsize, --size=endsize
418            Terminate after log size exceeds endsize.
419
420       -t interval, --interval=interval
421            Specify the logging interval.  The default value  is  60  seconds.
422            Please refer to the ENVIRONMENT and FILES sections below regarding
423            the PMLOGGER_INTERVAL environment variable and its impact  on  the
424            default logging interval.
425
426       -T endtime, --finish=endtime
427            Specify the endtime when to end logging.
428
429       -u   Use  unbuffered  output.  This is the default (so this option does
430            nothing).
431
432       -U username, --username=username
433            When in daemon mode, run as user username.
434
435       -v volsize, --volsize=volsize
436            Switch log volumes after reaching log volume size volsize.
437
438       -V version, --version=version
439            Specify log archive version.  The default and  the  only  accepted
440            value is 2.
441
442       -x fd
443            Allow asynchronous control requests on the file descriptor fd.
444
445       -y   Use local timezone instead of the timezone from the pmcd(1) host.
446
447       -?, --help
448            Display usage message and exit.
449

EXAMPLES

451       For  each  PCP  utility,  there is a sample pmlogger configuration file
452       that could be used to create an archive log suitable for replaying with
453       that  tool  (i.e.  includes  all of the performance metrics used by the
454       tool).  For a tool named foo this  configuration  file  is  located  in
455       $PCP_VAR_DIR/config/pmlogger/config.foo.
456
457       The  following is a simple default configuration file for a primary pm‐
458       logger instance, and demonstrates most of the capabilities of the  con‐
459       figuration specification language.
460
461            log mandatory on once { hinv.ncpu hinv.ndisk }
462            log mandatory on every 10 minutes {
463                disk.all.write
464                disk.all.read
465                network.interface.in.packets [ "et0" ]
466                network.interface.out.packets [ "et0" ]
467                nfs.server.reqs [ "lookup" "getattr" "read" "write" ]
468            }
469
470            log advisory on every 30 minutes {
471                environ.temp
472                pmcd.pdu_in.total
473                pmcd.pdu_out.total
474            }
475
476            %include "macros.default"
477
478            %ifdef %disk_detail
479            log mandatory on %disk_detail_freq {
480                disk.dev
481            }
482            %endif
483
484            [access]
485            disallow * : all except enquire;
486            allow localhost : mandatory, advisory;
487

DIAGNOSTICS

489       The archive logs are sufficiently precious that pmlogger will not trun‐
490       cate an existing physical file.  A message of the form
491        ...: "foo.index" already exists, not over-written
492        ...: File exists
493       indicates this situation has arisen.  You must  explicitly  remove  the
494       files and launch pmlogger again.
495
496       There  may be at most one primary pmlogger instance per monitored host;
497       attempting to bend this rule produces the error:
498        pmlogger: there is already a primary pmlogger running
499
500       Various other messages relating to  the  creation  and/or  deletion  of
501       files in $PCP_TMP_DIR/pmlogger suggest a permission problem on this di‐
502       rectory, or some feral files have appeared therein.
503

FILES

505       archive.meta
506            metadata (metric descriptions, instance domains, etc.) for the ar‐
507            chive log
508
509       archive.0
510            initial volume of metrics values (subsequent volumes have suffixes
511            1, 2, ...)
512
513       archive.index
514            temporal index to support rapid random access to the  other  files
515            in the archive log
516
517       $PCP_TMP_DIR/pmlogger
518            pmlogger  maintains the files in this directory as the map between
519            the process id of the pmlogger instance and the IPC port that  may
520            be used to control each pmlogger instance (as used by pmlc(1))
521
522       $PCP_VAR_DIR/config/pmlogger/config.default
523            default   configuration  file  for  the  primary  logger  instance
524            launched from $PCP_RC_DIR/pmlogger
525
526       $PCP_VAR_DIR/config/pmlogger/config.*
527            assorted configuration files suitable for creating logs  that  may
528            be subsequently replayed with the PCP visualization and monitoring
529            tools
530
531       $PCP_ARCHIVE_DIR/<hostname>
532            Default directory for PCP archive  files  for  performance  metric
533            values collected from the host <hostname>.
534
535       $PCP_SYSCONFIG_DIR/pmlogger
536            additional environment variables that will be set when the primary
537            pmlogger instance executes.  Only settings  of  the  form  "PMLOG‐
538            GER_VARIABLE=value" will be honoured.
539
540       ./pmlogger.log
541            (or $PCP_ARCHIVE_DIR/<hostname>/pmlogger.log when started automat‐
542            ically by either $PCP_RC_DIR/pmlogger or one  of  the  pmlogger(1)
543            monitoring scripts such as pmlogger_check(1))
544            all messages and diagnostics are directed here
545

ENVIRONMENT

547       Normally  pmlogger  creates  a  socket to receive control messages from
548       pmlc(1) on the first available TCP/IP port  numbered  4330  or  higher.
549       The environment variable PMLOGGER_PORT may be used to specify an alter‐
550       native starting port number.
551
552       If set to the value 1, the  PMLOGGER_LOCAL  environment  variable  will
553       cause  pmlogger  to run in a localhost-only mode of operation, where it
554       binds only to the loopback interface.
555
556       The PMLOGGER_REQUEST_TIMEOUT variable may be set by  applications  such
557       as  pmlc(1)  to specify a timeout in seconds for connection requests to
558       the pmlogger control port.  If not set, connections may  block  indefi‐
559       nitely.  This variable would not normally be set by pmlogger itself.
560
561       The  PMLOGGER_MAXPENDING  variable  can  be set to indicate the maximum
562       length to which the queue of pending pmlc connections may grow.
563
564       The default sampling interval used by pmlogger can be set using the PM‐
565       LOGGER_INTERVAL  variable  (if not set, 60 seconds will be used).  Both
566       the command line and directives in the configuration file will override
567       this value.  It is an integer in units of seconds.
568
569       On platforms using systemd(1), and when the -N option is given, the NO‐
570       TIFY_SOCKET environment variable would normally be set by  the  service
571       manager prior to launching pmlogger.
572

PCP ENVIRONMENT

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

SEE ALSO

581       PCPIntro(1), pmcd(1), pmdumplog(1), pmlc(1), pmlogger_check(1), system‐
582       ctl(1), systemd(1), execvp(3), pmSpecLocalPMDA(3),  strftime(3),  __pm‐
583       ServerNotifyServiceManagerReady(3),   pcp.conf(5),  pcp.env(5),  pmlog‐
584       ger(5), PMNS(5) and chkconfig(8).
585
586
587
588Performance Co-Pilot                  PCP                          PMLOGGER(1)
Impressum