---
name: "pmfind_check"
section: "1"
platform: "linux"
package: "pcp"
version: "7.2.2-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/pmfind_check"
---

# pmfind\_check(1)

administration of Performance Co-Pilot discovery

## NAME

**pmfind\_check** - administration of Performance Co-Pilot discovery

## SYNOPSIS

**$PCP\_BINADM\_DIR/pmfind\_check** \[**-CNV?**\] \[**-l** *logfile*\]

## DESCRIPTION

This shell script is used to integrate the Performance Co-Pilot (see [**PCPIntro**(1)](/PCPIntro/1.md)) collector service discovery mechanisms with [**pmie**(1)](/pmie/1.md) and [**pmlogger**(1)](/pmlogger/1.md) service administration, such that multiple collector hosts can be monitored from a single centralized host. It is important to note that the **pmfind** service is tightly integrated with the **pmie** and **pmlogger** services, and these must also be enabled if the services are to be started for each collector system that **pmfind** discovers.

**pmfind\_check** is designed to be enabled via a service management daemon such as [**systemd**(1)](/systemd/1.md) on Linux. It is run from a system timer (either by **systemd** or by **cron** on other systems). Once per timer interval **pmfind** attempts discovery of PCP collector systems. For each unique system found **pmfind\_check** creates **pmie\_check** and **pmlogger\_check** control file entries, such that these latter process can manage one **pmie** and **pmlogger** service for each discovered collector system.

When run through **systemd** these processes will be launched immediately because **systemd** monitors the service control files for changes. With **systemd** one may also initiate an immediate service discovery with **pmfind** and **pmfind\_check** by modifying the *$PCP\_SYSCONF\_DIR/pmfind* directory in any way.

When run from **cron** the next (also timer-based) invocation of **pmie\_check** or **pmlogger\_check** will start and manage the associated **pmie** and **pmlogger** processes.

The control file entries created by **pmfind\_check** follow the convention of individual files for each collector host. The files are named using the (unique) source identifier that **pmfind** calculates. This identifier is a hash calculated based on (non-optional) context labels available from every collector host, and is the same source identifier reported and used by [**pminfo**(1)](/pminfo/1.md) and [**pmseries**(1)](/pmseries/1.md).

## OPTIONS

The available command line options are:

- **-C**, **--containers**

  This option causes **pmfind\_check** to query each discovered collector system for running containers as well, which will then be individually monitored.

- **-l** *file*, **--logfile**=*file*

  In order to ensure that mail is not unintentionally sent when these scripts are run from [**cron**(8)](/cron/8.md) diagnostics are always sent to log files. By default, this file is **$PCP\_LOG\_DIR/pmfind/pmfind\_check.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 new log file.

- **-N**, **--showme**

  This option enables a \`\`show me'' mode, where the programs actions are echoed, but not executed, in the style of \`\`make -n''. Using **-N** in conjunction with **-V** maximizes the diagnostic capabilities for debugging.

- **-V**, **--verbose**

  The output from the **cron** execution of the scripts may be extended using the **-V** option to the scripts which will enable verbose tracing of their activity. By default the scripts generate no output unless some error or warning condition is encountered. Using **-N** in conjunction with **-V** maximizes the diagnostic capabilities for debugging.

- **-?**, **--help**

  Display usage message and exit.

## CONFIGURATION

The command line options passed to **pmie** and **pmlogger** can be customized via the *$PCP\_SYSCONFIG\_DIR/pmfind* configuration file.

Refer to the **pmie\_check** and **pmlogger\_check** manual pages for details of the control file format generated by **pmfind\_check**.

By default, each collector system **pmie** logfile will be created in **$PCP\_LOG\_DIR/pmie/***source* and **pmlogger** archives will be created below **$PCP\_ARCHIVE\_DIR/***source.* This is consistent with the way [**pmie**(1)](/pmie/1.md) and [**pmlogger**(1)](/pmlogger/1.md) maintain their activity logs and archive files.

Typical [**crontab**(5)](/crontab/5.md) entries for periodic execution of **pmfind\_check** are given in **$PCP\_SYSCONF\_DIR/pmfind/crontab** (unless installed by default in */etc/cron.d* already) and shown below.

```
# every minute, discover remote PCP services
*       *       *       *       *       $PCP_BINADM_DIR/pmfind_check
```

When using [**systemd**(1)](/systemd/1.md) on Linux, no **crontab** entries are needed as the timer and path mechanisms provided by **systemd** are used instead.

## FILES

- *$PCP\_PMIECONTROL\_PATH.d*

  PCP inference engine control files for each discovered metric source, typically one per host or container.\
   **Warning**: this files herein must not be writable by any user other than root.

- *$PCP\_PMLOGGERCONTROL\_PATH.d*

  PCP logger control files for each discovered metric source, typically one per host or container.\
   **Warning**: this files herein must not be writable by any user other than root.

- *$PCP\_SYSCONFIG\_DIR/pmfind*

  default **pmie** and **pmlogger** command line arguments, and other parameters passed to **pmfind**.

- *$PCP\_SYSCONF\_DIR/pmfind/crontab*

  sample crontab for automated script execution by root - exists only if the platform does not support the */etc/cron.d* mechanism.

## 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)](/pcp.conf/5.md).

## SEE ALSO

[**PCPIntro**(1)](/PCPIntro/1.md), [**pmcd**(1)](/pmcd/1.md), [**pmfind**(1)](/pmfind/1.md), [**pmie**(1)](/pmie/1.md), [**pmie\_check**(1)](/pmie_check/1.md), [**pminfo**(1)](/pminfo/1.md), [**pmlogger**(1)](/pmlogger/1.md), [**pmlogger\_check**(1)](/pmlogger_check/1.md), [**pmseries**(1)](/pmseries/1.md), [**systemd**(1)](/systemd/1.md), [**crontab**(5)](/crontab/5.md), and [**cron**(8)](/cron/8.md).
