PMDASHPING(1)

πŸ’– pmdashping β€” bestie's guide to the shell-ping PMDA πŸ’–

okay so this is the manual page for pmdashping (that's PMDASHPING(1) for the citation girlies, and it lives in the General Commands Manual section). It's a "shell-ping" performance metrics domain agent, and yes, we're gonna read the whole thing together. grab a snack πŸ“


✨ SYNOPSIS ✨

$PCP_PMDAS_DIR/shping/pmdashping [-C] [-D debug] [-d domain] [-l
logfile] [-I interval] [-t timeout] [-U username] configfile

🌸 DESCRIPTION 🌸

So pmdashping is a Performance Metrics Domain Agent (a PMDA, iykyk) and what it does is export quality of service and response time measurements for pretty much any arbitrary commands you could run from a shell like sh(1). literally just. vibes-checking your commands. obsessed.

These measurements are meant to quantify service quality and service availability for services that are either mission critical or that act as early indicators of adverse system performance. like your little canary in the coal mine but make it metrics πŸ’…

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
  • 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. (yes bestie, you get to cook your own πŸŽ€)

A brief description of the pmdashping command line options follows:

  • -C β€” parse configfile, report any errors, and exit with non-zero status if the file contains syntactical errors. it's giving lint mode ✨
  • -d β€” the performance metrics domain number. it is absolutely crucial that the 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. no cap, do not freestyle this one 😭
  • -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. glow-up era fr fr 🫢

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. iconic behaviour honestly πŸ‘‘


🌈 INSTALLATION 🌈

In order for a host to export the names, help text and values for the shping performance metrics, do the following as root:

# cd $PCP_PMDAS_DIR/shping
# ./Install

The set of tag'' and command'' pairs may be specified from a default (sample) configuration file, a customized file, or entered interactively as part of the Install script. pick your fighter πŸ’–

If you want to undo the installation, do the following as root:

# cd $PCP_PMDAS_DIR/shping
# ./Remove
pmdashping is launched by pmcd(1) and should never be executed directly. like, it's not a solo act, it's a group project. The Install and Remove scripts notify pmcd(1) when the agent is installed or removed. 🧚

πŸŽ€ FILES πŸŽ€

  • $PCP_PMCDCONF_PATH β€” command line options used to launch pmdashping
  • $PCP_PMDAS_DIR/shping/help β€” default help text file for the shping metrics
  • $PCP_PMDAS_DIR/shping/sample.conf β€” example configuration file with a number of common commands
  • $PCP_PMDAS_DIR/shping/Install β€” installation script for the pmdashping agent
  • $PCP_PMDAS_DIR/shping/Remove β€” undo installation script for pmdashping
  • $PCP_LOG_DIR/pmcd/shping.log β€” default log file for error messages and other information from pmdashping

πŸ¦‹ 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(5).


πŸ’… DEBUGGING OPTIONS πŸ’…

The -D or --debug option enables the output of additional diagnostics on stderr to help triage problems, although the information is sometimes cryptic and primarily intended to provide guidance for developers rather than for end-users. debug is a comma separated list of debugging options; use pmdbg(1) with the -l option to obtain a list of the available debugging options and their meaning. (yes, comma separated, don't @ me πŸ™ˆ)

Debugging options specific to pmdashping are as follows:

  • appl0 β€” exit handling
  • appl1 β€” configfile parsing, timeouts, refresh cycle
  • appl2 β€” append commands and arguments to shping.out as they are executed

⭐ SEE ALSO ⭐

PCPIntro(1), pmcd(1) and pcp-shping(1).


okay that's the whole page bestie, go forth and monitor ur services πŸ’œ

Performance Co-Pilot Β· PCP Β· PMDASHPING(1) β€” that's the source, version and date tag right there, consider it my little sign-off. bye ily 🫢✨

πŸ“¦ where this page comes from