pmdashping is a Performance Metrics Domain Agent (PMDA) which exports quality of service and response
time measurements for arbitrary commands as might be run from a shell such as sh(1).
These measurements are intended to be used to quantify service quality and service availability for those
services that are either mission critical or act as early indicators of adverse system performance.
The sample configuration monitors simple shell commands (exit and date(1)), a short computationally
intensive task using sum(1), a short C compilation, DNS lookup via nslookup(1), YP lookup via ypcat(1),
bind/portmapper service using rpcbind(1), SMTP by connecting to telnet port 25 and sending an ``expn
root'' request, and NNTP by connecting to telnet port 119 and running a ``listgroup'' command.
It is expected that other commands would follow the examples in the sample configuration file, and most
deployments of the pmdashping PMDA are expected to use a customized configuration file.
A brief description of the pmdashping command line options follows:
-C Parse configfile, reporting any errors and exiting with non-zero status if the file contains
syntactical errors.
-d It is absolutely crucial that the performance metrics domain number specified here is unique and
consistent. That is, domain should be different for every PMDA on the one host, and the same domain
number should be used for the same PMDA on all hosts.
-l Location of the log file. By default, a log file named shping.log is written in the current
directory of pmcd(1) when pmdashping is started, i.e. $PCP_LOG_DIR/pmcd. If the log file cannot be
created or is not writable, output is written to the standard error instead.
-I Amount of time (in seconds) between subsequent executions of the list of commands provided via the
configuration file configfile. The default is 2 minutes.
-t Amount of time (in seconds) to wait before timing out awaiting a response for a command from
configfile. The default is 20 seconds.
-U User account under which to run the agent and all commands. The default is the unprivileged "pcp"
account in current versions of PCP, but in older versions the superuser account ("root") was used by
default.
The required configfile specifies ``tag'' and ``command'' pairs, each on a separate line. All of the
commands are run one after another, with the whole group rescheduled to be run once per interval. For
each command that is run, pmdashping records information related to the success (or timeout), exit
status, elapsed time and CPU time (system and user), and this information is exported by the PMDA. The
tags are used to identify the individual commands amongst the values exported by the PMDA, and form the
external instance domain identifiers for the pmdashping metrics which relate to each command.