PMDADOCKER(1)

πŸ’– PMDADOCKER πŸ’– β€” the docker performance metrics domain agent, bestie edition

okay so real quick, this is the manual for pmdadocker from the General Commands Manual section of PCP. yes it's a whole thing. let's get into it 🫢


✨ NAME ✨

pmdadocker β€” docker performance metrics domain agent (PMDA) 🐳


✨ SYNOPSIS ✨

$PCP_PMDAS_DIR/docker/pmdadocker [-D debug] [-d domain] [-l logfile]

that's it. that's the whole invocation. she's lowkey simple πŸ’…


✨ DESCRIPTION ✨

so pmdadocker is a docker Performance Metrics Domain Agent (PMDA), and what she does is expose performance metrics as reported from the Docker Remote API. like, she's the bridge. the middlewoman. the girl in the group chat relaying everything the docker daemon said 🌸

here's the tea on the command line options:

  • -d β€” okay bestie, LISTEN. it is absolutely crucial that the performance metrics domain number you put here is unique and consistent. like genuinely non-negotiable. what that means: domain should be different for every single PMDA on one host, and the same domain number should be used for the same PMDA on all hosts. no cap. don't mix it up 😭
  • -l β€” where the log file lives. by default a log file named docker.log gets written in the current directory of pmcd(1) when pmdadocker is started, aka $PCP_LOG_DIR/pmcd. and if that log file can't be created or just isn't writable? output goes to standard error instead. she'll find a way πŸ’€

Remote API metric requests are activated automatically and are fetched on a timer. this timer is represented as a by pmdadocker via the docker.control.timing. by default, pmdadocker will be set to fetch on a 1 second interval. obsessed with her consistency honestly ⏱️

pmdadocker will iterate over three different docker remote API calls:

  • /containers/$ID/json β€” container metrics regarding the current state of the container. such as PID, name, or if the container is running. the lil status report πŸ“‹
  • /version β€” basic version metrics about the current docker daemon in use.
  • /containers/$ID/stats?stream=0 β€” more in depth memory and cpu metrics of the container. the juicy stuff πŸ”₯

✨ INSTALLATION ✨

if you want access to the names, help text and values for the docker performance metrics, do the following as root:

# cd $PCP_PMDAS_DIR/docker
# ./Install

and if you want to undo the installation (and remove both PMDAs β€” yes, both), do the following as root:

# cd $PCP_PMDAS_DIR/docker
# ./Remove

okay important: pmdadocker is launched by pmcd(1) and should never be executed directly. like, she has a manager, let her manager manage. the Install and Remove scripts notify pmcd(1) when the agent is installed or removed, so that part's handled for you πŸŽ€


✨ FILES ✨

  • $PCP_PMCDCONF_PATH β€” command line options used to launch pmdadocker
  • $PCP_PMDAS_DIR/docker/help β€” default help text file for the docker metrics
  • $PCP_PMDAS_DIR/docker/Install β€” installation script for the pmdadocker agent
  • $PCP_PMDAS_DIR/docker/Remove β€” undo installation script for the pmdadocker agent
  • $PCP_LOG_DIR/pmcd/docker.log β€” default log file for error messages and other information from pmdadocker

✨ PCP ENVIRONMENT ✨

so 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. and the $PCP_CONF variable may be used to specify an alternative configuration file, as described in pcp.conf(5). iykyk 🌈


✨ DEBUGGING OPTIONS ✨

the -D or --debug option enables the output of additional diagnostics on stderr to help triage problems, although ngl 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 πŸ”

debugging options specific to pmdadocker are as follows:

  • appl1 β€” report failure to fetch stats via http

that's the whole list. one (1) option. she's efficient πŸ’…


✨ SEE ALSO ✨

PCPIntro(1), pmcd(1), pcp.conf(5), pcp.env(5) and docker(1).


πŸ’Œ cute sign-off: this page is from Performance Co-Pilot, source/version PCP, and it's page PMDADOCKER(1). go forth and monitor ur containers bestie, ily, mwah πŸ’–βœ¨πŸ¦‹
πŸ“¦ where this page comes from