Man Linux: Main Page and Category List

NAME

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

SYNOPSIS

       $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]

DESCRIPTION

       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 tabs.
       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
             /etc/passwd:

                 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.

FILES

       $PCP_PMIECONTROL_PATH
                 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.

       $PCP_VAR_DIR/config/pmie/crontab
                 sample crontab for automated script execution by root

       $PCP_LOG_DIR/pmie/hostname
                 default location for the pmie log file for the host hostname

       $PCP_LOG_DIR/pmie/hostname/lock
                 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_LOG_DIR/NOTICES
                 PCP ‘‘notices’’ file used by pmie(1) and friends

PCP ENVIRONMENT

       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).

SEE ALSO

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