Provided by: pcp_3.5.11_amd64 bug


       pmie_check, pmie_daily - administration of the Performance Co-Pilot inference engine


       $PCP_BINADM_DIR/pmie_check [-NsV] [-c control]
       $PCP_BINADM_DIR/pmie_daily  [-NV]  [-c  control] [-k discard] [-m addresses] [-x compress]
       [-X program] [-Y regex]


       This series of shell scripts and  associated  control  files  may  be  used  to  create  a
       customized  regime  of  administration  and  management  for the Performance Co-Pilot (see
       PCPintro(1)) inference engine, pmie(1).

       pmie_daily is intended to be run once per day, preferably in the early  morning,  as  soon
       after  midnight  as practicable.  Its task is to rotate the log files for the running pmie
       processes - these files may grow without bound if the ``print'' action  is  used,  or  any
       other  pme  action  writes  to its stdout/stderr streams.  After some period, old pmie log
       files are discarded.  This period is 14 days by default, but may be changed using  the  -k
       option.  Two  special  values are recognized for the period (discard), namely 0 to keep no
       log files beyond the current one, and forever to prevent any log files being discarded.

       Log files can optionally be compressed after some  period  (compress),  to  conserve  disk
       space.   This is particularly useful for large numbers of pmie processes under the control
       of pmie_check.  The -x option specifies the number of days after which to compress archive
       data  files,  and  the -X option specifies the program to use for compression - by default
       this is bzip2(1).  Use of the -Y option  allows  a  regular  expression  to  be  specified
       causing files in the set of files matched for compression to be omitted - this allows only
       the data file to be compressed, and also prevents the program from attempting to  compress
       it more than once.  The default regex is ".meta$|.index$|.Z$|.gz$|.bz2|.zip$" - such files
       are filtered using the -v option to egrep(1).

       Use of the -m option causes pmie_daily to construct a summary of the log  files  generated
       for  all monitored hosts in the last 24 hours (lines matching `` OK '' are culled), and e-
       mail that summary to the set of space-separated addresses.

       pmie_check may be run at any time, and is intended  to  check  that  the  desired  set  of
       pmie(1)  processes are running, and if not to re-launch any failed inference engines.  Use
       of the -s option provides the reverse functionality, allowing the set of pmie processes to
       be cleanly shutdown.

       Both  pmie_check and pmie_daily are controlled by a PCP inference engine control file that
       specifies  the  pmie  instances  to   be   managed.    The   default   control   file   is
       $PCP_PMIECONTROL_PATH but an alternate may be specified using the -c option.

       The control file should be customized according to the following rules.

       1.     Lines beginning with a ``#'' are comments.
       2.     Lines beginning with a ``$'' are assumed to be assignments to environment variables
              in the style of sh(1), and all text following the ``$''  will  be  eval'ed  by  the
              script  reading  the control file, and the corresponding variable exported into the
              environment.  This is particularly useful to set  and  export  variables  into  the
              environment of the administrative script, e.g.
                  $ PMCD_CONNECT_TIMEOUT=20
              Warning:  The  $PCP_PMIECONTROL_PATH  file  is  a  potential security risk if it is
              writable by any user other than root.
       3.     There should be one line in the control file for each pmie instance of the form:

                  host y|n logfile args

       4.     Fields within a line of the control file are separated by one  or  more  spaces  or
       5.     The  first  field  is  the  name  of  the  host  that  is the default source of the
              performance metrics for this pmie instance.
       6.     The second field indicates whether this pmie instance needs to be started under the
              control  of pmsocks(1) to connect to a pmcd through a firewall (y or n).  Note that
              pmsocks  is  part  of  the  pcp  product  distribution,  rather  than  the  pcp_eoe
              distribution,  and  as such may not be installed on your system.  Refer to PCPintro
              (1) for full details.
       8.     The third field is the name of the pmie activity log file.  A useful convention  is
              that  pmie  instances monitoring the local host with hostname myhost are maintained
              in the directory $PCP_LOG_DIR/pmie/myhost, while activity logs for the remote  host
              mumble are maintained in $PCP_LOG_DIR/pmie/mumble.  This is consistent with the way
              pmlogger(1) maintains its activity logs and archive files.
       9.     All other fields are interpreted as  arguments  to  be  passed  to  pmie(1).   Most
              typically this would be the -c option.

       The  following  sample  control  lines specify one pmie instance monitoring the local host
       (wobbly), and another monitoring performance metrics from the host splat.

       wobbly  n  PCP_LOG_DIR/pmie/wobbly  -c pmie/config.default
       splat   n  PCP_LOG_DIR/pmie/splat   -c pmie/splat/cpu.conf

       A  typical  crontab(5)  entry  for  periodic  execution  of   pmie_check   is   given   in
       $PCP_VAR_DIR/config/pmie/crontab and shown below.

       # daily processing of pmie logs
       14      0       *       *       *       $PCP_BINADM_DIR/pmie_daily
       # every 30 minutes, check pmie instances are running
       28,58   *       *       *       *       $PCP_BINADM_DIR/pmie_check

       Alternate  redirection  of  the  output  from  the  cron(1) execution of the script may be
       controlled as follows:

       (1) The -V option to the script will enable verbose tracing of their activity.  By default
           the script generates no output unless some error or warning condition is encountered.

       (2) To redirect the e-mail from cron(1) away from the root login,

           + Instead  of  using the ``root'' login, create a special account with uid equal to 0,
             e.g. su_pcp.  The password may be locked and/or the shell invalid to  prevent  login
             or  su (1), but the home directory should exist.  For example the following entry in

                 su_pcp:x:0:0:PCP Housekeeping:/usr/people/su_pcp:/dev/null

           + Create a $HOME/.forward for su_pcp, else an entry in  /usr/lib/aliases  for  su_pcp,
             redirecting the e-mail to a real user or user(s).

           + Add  the  ``crontab'' entries above to the crontab file for su_pcp not root, e.g. in
             the file /usr/spool/cron/crontabs/su_pcp

       The -N option enables a ``show me'' mode, where the actions are echoed, but not  executed,
       in  the  style  of  ``make -n''.  Using -N in conjunction with -V maximizes the diagnostic
       capabilities for debugging.


                 the default PCP inference engine control file
                 Warning: this file is a potential security risk if it is writable  by  any  user
                 other than root.

                 sample crontab for automated script execution by root

                 default location for the pmie log file for the host hostname

                 transient lock file to guarantee mutual exclusion during pmie administration for
                 the host hostname - if present, can be safely removed if neither pmie_daily  nor
                 pmie_check are running

                 PCP ``notices'' file used by pmie(1) and friends


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


       chkconfig(1), cron(1), PCPintro(1), pmie(1) and pmsocks(1).