PMFIND(1)
π pmfind β find PCP services on the network
okay bestie, so this is pmfind(1), a General Commands Manual page from Performance Co-Pilot (PCP, you know her, you love her) π
β¨ NAME β¨
pmfind β find PCP services on the network π¦
πΈ SYNOPSIS πΈ
pmfind [-CqrSV?] [-D debug] [-m mechanism] [-s service] [-t timeout]
π DESCRIPTION π
so like. pmfind goes out into the network and searches for instances of whatever PCP service you asked for β the ones being advertised out there β and then it prints you a list of URLs corresponding to the services it discovered. that's the whole vibe. π
and here's the iconic part: you can run it alongside pmfind_check(1) to automate the monitoring of remote PCP collector systems. dynamic duo energy fr fr π
π OPTIONS π
the available command line options are, and yes we're doing all of them, no skipping:
-C,--containersβ also does containers discovery, for eachpmcd(1)service it discovers. two-for-one, slay β¨-m mechanism,--mechanism=mechanismβ sets the mechanismpmfinduses when it's doing service discovery. by default, or if you pass the keywordall, every available mechanism gets used (iteratively, one after another, no skipping). peep theMECHANISMSsection below for the deets on each one π§-q,--quietβ suppresses ALL output on the standard output stream. shhh. silence. main character staying mysterious π-r,--resolveβ asks for DNS name resolution to be attempted for the addresses of any discovered services. the default behavior is to just display the network addresses of discovered services, no name translation π«Ά-s service,--service=serviceβ by defaultpmfindsearches for all supported PCP services, but if you want a specific PCP service discovered, use-sfor that. supported services arepmcd(1)andpmproxy(1)π-S,--sourcesβ reports source identifiers for each discoveredpmcd(1)service. these identifiers are unique for each host and are formed using the (non-optional!) context labels available for every PCP collector. here's why this matters, bestie: the discovery process will often identify multiple paths to an individual collector host, so this option is a super important part of usingpmfindin conjunction withpmfind_check(1)β it makes sure only onepmie(1)and/orpmlogger(1)process gets started for each discovered collector host. the source identifiers reported bypmfindare the same ones reported by thepminfo(1)andpmseries(1)commands. consistency queen π-t seconds,--timeout=secondsβ sets the maximum amount of time in seconds thatpmfindwill take before it interrupts the service discovery. the time argument is a floating point number representing the number of seconds before timing out. default is to take as much time as is needed to complete the process (no cap, patient queen πΈ)-V,--versionβ display version number and exit. short and sweet π-?,--helpβ display usage message and exit. when in doubt, ask for help π«Ά
π₯ MECHANISMS π₯
supported mechanisms for service discovery are:
probe=<net-address>/<mask-bits>β actively probes the given subnet for the requested PCP service(s).<net-address>is an Inet or IPv6 network address and<mask-bits>is the number of bits used to define the subnet. for example,192.168.1.0/24defines an 8 bit subnet consisting of the addresses192.168.1.0through192.168.1.255. an optional suffix,maxThreads=Nmay be added to limit the number of threads used while probing β the default is the value ofFD_SETSIZE(which is typically1024) or the number of addresses in the subnet, whichever is less. an optional suffix,timeout=Nmay also be added to limit the amount of time spent waiting for each connection attempt, whereNis a floating point number specifying the number of seconds to wait β default is0.02seconds (20 milliseconds). ok that's a lot of numbers but you got this πͺshellβ probes the list of addresses provided by scripts for requested PCP service(s). several optional, comma-separated parameters can also be provided:- the
"path=DIR"option specifies the directory where commands likepcp-kube-pods(1)are located (defaults to$PCP_BINADM_DIR/discover/). this setting can be further restricted to an individual command using thecommand=CMDoption, but the default is to use all available commands from the path. - the
"maxThreads=N"option limits the number of threads used while probing. the default is the value ofFD_SETSIZE(which is typically1024) or the number of addresses returned by the scripts, whichever is less. - the
"timeout=N"option may be added to limit the amount of time spent waiting for each connection attempt.Nis a floating point number specifying the number of seconds to wait. the default is0.02seconds (20 milliseconds).
- the
π SIGNALS π
pmfind will interrupt the service discovery process when one of the following signals is received: SIGHUP, SIGPIPE, SIGINT, SIGTERM, SIGXFSZ, SIGXCPU.
and the good news? pmfind will report any results which were discovered up to the point of the interruption. it's not gonna ghost you with zero info ππ«Ά
π DIAGNOSTICS π
the value of the exit status from the command is:
- zero when services were successfully located β¨
- one if no services were found π
- two if an error occurred π
in the event of an error, a message will be generated on standard error that is intended to be self-explanatory. (intended. bestie. intended.)
π¦ FILES π¦
$PCP_BINADM_DIR/discoverβ default path to address discovery scripts π
π 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). so many configs, so little time β¨
π 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. it's giving insider knowledge, iykyk π
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.
heads up bestie: the debug output is cryptic on purpose. if you're not a dev, this is lowkey not your lane π
π SEE ALSO π
PCPIntro(1), pmcd(1), pmfind_check(1), pmie(1), pminfo(1), pmlogger(1), pmproxy(1), pmseries(1), pcp-kube-pods(1), PMAPI(3), PMWEBAPI(3), pmDiscoverServices(3), pcp.conf(5) and pcp.env(5).
that's the whole page, no cap π β¨ this one came to you from Performance Co-Pilot (that's the source, that's the version β PCP, the one and only π), and honestly? she ate. go find some services, bestie π¦ππ
π¦ where this page comes from
- arch rolling: pcp 7.2.2-2 Β· GPL-2.0-or-later AND LGPL-2.1-or-later AND CC-BY-3.0
- fedora 43: pcp-doc 7.2.1-1.fc43
- fedora 43: pcp-doc 7.2.2-1.fc43
- fedora 43: pcp-doc 7.2.2-2.fc43 Β· GPL-2.0-or-later AND CC-BY-3.0
- fedora 44: pcp-doc 7.2.1-1.fc44
- fedora 44: pcp-doc 7.2.2-1.fc44
- fedora 44: pcp-doc 7.2.2-2.fc44 Β· GPL-2.0-or-later AND CC-BY-3.0
- ubuntu stonking: pcp 7.2.1-2build1
- Copyright (c) 2014,2018-2020 Red Hat
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms