pmlogger_daily_report — write Performance Co-Pilot daily summary reports
$PCP_BINADM_DIR/pmlogger_daily_report [-a archivefile] [-f outputfile] [-h hostname] [-l logfile] [-o directory] [-p] [-t interval] [-A] [-V] [--help]
pmlogger_daily_report and the associated systemd(1) services write daily performance summary reports, much like those produced by sadc(1) and the sa2(8) utility.
All of the command line arguments are optional and intended to be self explanatory. The service is not enabled by default. If the service is enabled and no arguments are specified, pmlogger_daily_report will be run by systemd at 2am each morning and write a performance summary report named sarXX (where XX is yesterdays day-of-the-month, wrapping to the previous month if today is the 1st). The outputfile may be changed with the -f option. The report will be written to the $PCP_LOG_DIR/sa directory by default, but this may be changed with the -o option to a different directory.
If the -a option is not given, the default input archivefile is $PCP_LOG_DIR/pmlogger/HOSTNAME/YYYYMMDD, where HOSTNAME defaults to the local hostname (may be changed with the -h option) and YYYYMMDD is the base name of yesterdays merged archive, as produced by pmlogger(1) and the pmlogger_daily(1) scripts. If archivefile is a directory, then pmlogger_daily_report will use all PCP archives found in that directory to write the report (this is known as multi-archive mode, and may be considerably slower than specifying a single archive as the input).
Note that there are suffciently flexible command line options for pmlogger_daily_report to be used to read any archivefile and write the report to any output directory.
If the -p option is specified then the status of the daily processing is polled and if the report has not been done in the last 24 hours then it is done now. The intent is to have pmlogger_daily_report called regularly with the -p option (at 30 mins past the hour, every hour in the default cron(8) set up) to ensure daily processing happens as soon as possible if it was missed at the regularly scheduled time (which is 02:00 by default), e.g. if the system was down or suspended at that time.
With the -p option, pmlogger_daily_report simply exits if the previous day's processing has already been done.
The reports themselves are created by the pmrep(1) utility using its default configuration file, see pmrep.conf(5). The pmrep(1) configuration entries used to write the reports is currently hardwired into the pmlogger_daily_report script.
Finally, the input archives must contain sufficient metrics as needed by pmrep(1) to write the report. On platforms that support it, the pcp-zeroconf package configures PCP logging as required for this - hence pmlogger_daily_report should be used with the pmlogger(1) configuration that is set up by pcp-zeroconf. As the name suggests, pcp-zeroconf requires no additional configuration after installation in order to capture the required archives needed by pmlogger_daily_report.
In order to ensure that mail is not unintentionally sent when this script is run by systemd(1), diagnostics are always sent to a log file. By default, this file is $PCP_LOG_DIR/pmlogger/pmlogger_daily_report.log but this can be changed using the -l option. If this log file already exists when the script starts, it will be renamed with a .prev suffix (overwriting any log file saved earlier) before diagnostics are generated to the log file.
The output from the execution of the script may be extended using the -V option which enables verbose tracing of activity. By default the script generates no log output unless some error or warning condition is encountered.
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(5).
PCPIntro(1), pmlogger_daily(1), pmlogger(1), pmrep(1), sadc(1), sa2(8) and systemd(1).