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

NAME

6       pmproxy - proxy for performance metrics collector daemon
7

SYNOPSIS

9       pmproxy  [-Af]  [-C dirname] [-i ipaddress] [-l logfile] [-L bytes] [-p
10       port[,port ...]  [-P passfile] [-U username] [-x file]
11

DESCRIPTION

13       pmproxy acts as a protocol proxy for pmcd(1), allowing Performance  Co-
14       Pilot  (PCP)  monitoring  clients  to  connect  to  one or more pmcd(1)
15       instances via pmproxy.
16
17       Normally pmproxy is deployed in a firewall domain,  or  on  a  ``head''
18       node of a cluster where the IP (Internet Protocol) address of the hosts
19       where pmcd(1) is running may be unknown to the PCP monitoring  clients,
20       although  the  IP address of the host where pmproxy is running is known
21       to these clients.  Similarly, the clients may have network connectivity
22       only  to the host where pmproxy is running, while there is network con‐
23       nectivity from that host to the hosts of interest where pmcd(1) is run‐
24       ning.
25
26       The behaviour of the PCP monitoring clients is controlled by either the
27       PMPROXY_HOST environment variable  or  through  the  extended  hostname
28       specification (see PCPIntro(1) for details).  If neither of these mech‐
29       anisms is  used,  clients  will  make  their  connections  directly  to
30       pmcd(1).   If the proxy hostname syntax is used or PMPROXY_HOST is set,
31       then this should be the hostname or IP  address  of  the  system  where
32       pmproxy  is running, and the clients will connect to pmcd(1) indirectly
33       through the protocol proxy services of pmproxy.
34
35       The options to pmproxy are as follows.
36
37       -A     Disable service advertisement.  By default, pmproxy will  adver‐
38              tise  its presence on the network using any available mechanisms
39              (such as Avahi/DNS-SD), assisting remote monitoring  tools  with
40              finding it.  These mechanisms are disabled with this option.
41
42       -C dirname
43              Specify  the  path  to the Network Security Services certificate
44              database, for (optional) secure  connections.   The  default  is
45              /etc/pki/nssdb.   Refer  also  to the -P option.  If it does not
46              already exist, this database can be created using  the  certutil
47              utility.   This  process  and other certificate database mainte‐
48              nance information is provided in the PCPIntro(1) manual page and
49              the online PCP tutorials.
50
51       -f     By  default pmproxy is started as a daemon.  The -f option indi‐
52              cates that it should run in the foreground.  This is most useful
53              when trying to diagnose problems with establishing connections.
54
55       -i ipaddress
56              This  option  is  usually  only used on hosts with more than one
57              network interface (very common for firewall  and  ``head''  node
58              hosts  where  pmproxy  is most likely to be deployed).  If no -i
59              options are specified pmproxy accepts PCP client connections  on
60              any  of its host's IP addresses.  The -i option is used to spec‐
61              ify explicitly an IP address that PCP client connections  should
62              be accepted on.  ipaddress should be in the standard dotted form
63              (e.g. 100.23.45.6).  The -i option may be used multiple times to
64              define  a  list of IP addresses.  When one or more -i options is
65              specified, attempted connections made on any other IP  addresses
66              will be refused.
67
68       -l logfile
69              By  default  a log file named pmproxy.log is written in the cur‐
70              rent directory.  The -l option causes the log file to be written
71              to  logfile  instead  of the default.  If the log file cannot be
72              created or is not writable, output is written  to  the  standard
73              error instead.
74
75       -L bytes
76              PDUs  received  by  pmproxy  from  PCP  monitoring  clients  are
77              restricted to a maximum size of 65536 bytes by default to defend
78              against Denial of Service attacks.  The -L option may be used to
79              change the maximum incoming PDU size.
80
81       -P passfile
82              Specify the path to a file containing the Network Security  Ser‐
83              vices  certificate  database password for (optional) secure con‐
84              nections, and for databases that are password protected.   Refer
85              also  to  the  -C  option.   When  using this option, great care
86              should be exercised to ensure appropriate ownership ("pcp" user,
87              typically)  and  permissions  on  this  file  (0400, so as to be
88              unreadable by any user other than the user running  the  pmproxy
89              process).
90
91       -U username
92              Assume the identity of username before starting to accept incom‐
93              ing packets from PCP monitoring clients.
94
95       -x file
96              Before the pmproxy logfile can be opened, pmproxy may  encounter
97              a  fatal error which prevents it from starting.  By default, the
98              output describing this error is sent  to  /dev/tty  but  it  may
99              redirected to file.
100

STARTING AND STOPPING PMPROXY

102       Normally,  pmproxy  is  started  automatically at boot time and stopped
103       when the system is being brought down.  Under certain circumstances  it
104       is  necessary  to  start or stop pmproxy manually.  To do this one must
105       become superuser and type
106
107       # $PCP_RC_DIR/pmproxy start
108
109       to start pmproxy, or
110
111       # $PCP_RC_DIR/pmproxy stop
112
113       to stop pmproxy.  Starting pmproxy when it is already  running  is  the
114       same as stopping it and then starting it again.
115
116       Normally pmproxy listens for PCP client connections on TCP/IP port num‐
117       ber 44322 (registered at http://www.iana.org/).  Either the environment
118       variable  PMPROXY_PORT  -p  command  line option may be used to specify
119       alternative port number(s) when PMPROXY_PORT or  the  -p  command  line
120       option  may  be used to specify alternative port number(s) when pmproxy
121       is started; in each case, the specification is a  comma-separated  list
122       of  one or more numerical port numbers.  Should both methods be used or
123       multiple -p options appear on the command line, pmproxy will listen  on
124       the  union  of  the  set  of ports specified via all -p options and the
125       PMPROXY_PORT environment variable.  If non-default ports are used  with
126       pmproxy care should be taken to ensure that PMPROXY_PORT is also set in
127       the environment of any client application that will connect to pmproxy,
128       or that the extended host specification syntax is used (see PCPIntro(1)
129       for details).
130

FILES

132       PCP_PMPROXYOPTIONS_PATH
133              command  line   options   for   pmproxy   when   launched   from
134              $PCP_RC_DIR/pmproxy  All  the  command  line option lines should
135              start with a hyphen as the first character.
136       $PCP_SYSCONFIG_DIR/pmproxy
137              additional environment variables that will be set  when  pmproxy
138              executes.   Only  settings  of the form "PMPROXY_VARIABLE=value"
139              will be honoured.
140       ./pmproxy.log
141              (or $PCP_LOG_DIR/pmproxy/pmproxy.log when started automatically)
142              All messages and diagnostics are directed here
143       /etc/pki/nssdb
144              default Network Security  Services  (NSS)  certificate  database
145              directory,  used  for  optional Secure Socket Layer connections.
146              This database can be created and queried using the NSS  certutil
147              tool, amongst others.
148

ENVIRONMENT

150       In addition to the PCP environment variables described in the PCP ENVI‐
151       RONMENT section below, there are  several  environment  variables  that
152       influence  the  interactions  between a PCP monitoring client, pmcd and
153       pmcd(1).
154
155       PMCD_PORT
156              For the PCP monitoring client this (or the default port  number)
157              is  passed  to  pmproxy  and used to connect to pmcd(1).  In the
158              environment of pmproxy PMCD_PORT is not used.
159
160       PMPROXY_HOST
161              For the PCP monitoring client this is the hostname or IP address
162              of the host where pmproxy is running.  In recent versions of PCP
163              (since version 3) this has been superseded by the extended host‐
164              name syntax (see PCPIntro(1) for details).
165
166       PMPROXY_PORT
167              For  the PCP monitoring client this is the port on which pmproxy
168              will accept connections.  The default is 44322.
169
170       PMCD_CONNECT_TIMEOUT, PMCD_RECONNECT_TIMEOUT and PMCD_REQUEST_TIMEOUT
171              (see PCPIntro(1)) For the PCP monitoring client,  setting  these
172              environment variables will modify the timeouts used for interac‐
173              tions between the  client  and  pmproxy  (independent  of  which
174              pmcd(1)  is  being  used).   For  pmproxy these same environment
175              variables control the timeouts between pmproxy and  all  pmcd(1)
176              instances (independent of which monitoring client is involved).
177
178       If  set  to  the  value  1, the PMPROXY_LOCAL environment variable will
179       cause pmproxy to run in a localhost-only mode of  operation,  where  it
180       binds only to the loopback interface.
181
182       The  PMPROXY_MAXPENDING  variable  can  be  set to indicate the maximum
183       length to which the queue of pending client connections may grow.
184

PCP ENVIRONMENT

186       Environment variables with the prefix PCP_ are used to parameterize the
187       file  and  directory names used by PCP.  On each installation, the file
188       /etc/pcp.conf contains the  local  values  for  these  variables.   The
189       PCP_CONF  variable  may be used to specify an alternative configuration
190       file, as described in pcp.conf(5).
191

SEE ALSO

193       PCPIntro(1), pmcd(1), pmdbg(1), pcp.conf(5) and pcp.env(5).
194

DIAGNOSTICS

196       If pmproxy is already running  the  message  "Error:  OpenRequestSocket
197       bind:  Address  already  in  use" will appear.  This may also appear if
198       pmproxy was shutdown with an outstanding request  from  a  client.   In
199       this  case,  a  request socket has been left in the TIME_WAIT state and
200       until the system closes it down (after some timeout period) it will not
201       be possible to run pmproxy.
202
203       In  addition to the standard PCP debugging flags, see pmdbg(1), pmproxy
204       currently uses DBG_TRACE_CONTEXT for  tracing  client  connections  and
205       disconnections
206
207
208
209Performance Co-Pilot                  PCP                           PMPROXY(1)
Impressum