PMDANETCHECK(1)
π PMDANETCHECK π
okay bestie, so this is the manual page for pmdanetcheck β part of the General Commands Manual crew, and honestly? it's giving network-vibes-checker energy and I'm obsessed. sit down, grab a strawberry drink π, and let's get into it.
β¨ NAME β¨
pmdanetcheck β the netcheck PMDA, aka your girl for checking the network π
πΈ DESCRIPTION πΈ
So pmdanetcheck is a Performance Co-Pilot (PCP) Performance Metrics Domain Agent (PMDA), and what she does is run basic network checks on the local host using simple Python modules and, in some cases, external utilities like ping(1). lowkey iconic.
She loads and acts as a bridge for any number of configured, separate PCP netcheck PMDA Python modules running Python code or external programs. and the best part? existing Python modules and programs should be possible to be utilized with PCP netcheck PMDA modules with minimal effort. we love an easy integration, fr fr.
π¨ okay important side note for the SELinux girlies: on SELinux enabled systems, forpmdanetcheckto be able to use theping(1)command, thepcpgroup must be able to create ICMP Echo sockets. so please please PLEASE make sure the group id forpcpis included in the range at/proc/sys/net/ipv4/ping_group_range, and go readicmp(7)for more details on this. don't skip this step bestie, it will not slay if you do π
π CONFIGURATION π
pmdanetcheck reads a mandatory ini-style configuration file:
$PCP_PMDAS_DIR/netcheck/netcheck.conf
This file must contain a [pmda] section. Here are the PMDA options available (their default values are shown in parenthesis), and heads up: options marked with an asterisk (*) can be overridden in module-specific configuration sections π
modules(unset) β ThepmdanetcheckPMDA reads module-specific configuration for each module listed in the comma-separated list of modules (mandatory).hosts(DGW,DNS)*β A comma-separated list of hosts (optional) that specifies the hosts to run the checks for. The special valuesDGW,DNS,NTPwill be translated to the default gateway, nameservers listed in/etc/resolv.conf, and timeservers listed in/etc/chrony.conf, respectively, on PMDA startup. magic β¨background_check(True)*β A boolean value forbackground_check(optional) that controls whether to run checks constantly in the background or only on demand. Refer to the default configuration file for more discussion about this.check_hosts_parallel(True)*βcheck_hosts_parallel(optional) controls whether modules should check hosts one by one or in parallel. parallel is the main character energy option obvi.check_interval(1m)*βcheck_interval(optional) specifies the time interval between two consecutive checks for hosts when checks are done in the background. Refer toPCPIntro(1)for a complete description of the syntax for the time interval.align_interval(True)*βalign_interval(optional) specifies whether to take the previous check duration into account when pausing between checks.module_failure_fatal(True) β A boolean value formodule_failure_fatal(optional) that controls whether a module failing to initialize should cause the whole PMDA to abort (this is the default) or to start up with possibly remaining functional modules. Module configuration errors and internal errors (such as failing to register the provided PMNS metrics, seepmns(5)) will always cause the PMDA to fail to start. no negotiating on that one π
For each module listed in modules a corresponding [module] section must be defined. Each [module] section can contain at least the following options (their default values are shown in parenthesis):
timeout(1) β Force a hard timeout (optional) for each individual network check operation.debug(False) β Enable logging of internal debug messages (rarely used).
The module-specific options modules accept are described in the default configuration file. π
Modules expect basic network functionality to be present on the system, for example the localhost address being reachable. yeah, that's the bare minimum, bestie.
π¦ INSTALLATION π¦
To install, the following must be done as root:
# cd $PCP_PMDAS_DIR/netcheck
# ./Install
To uninstall, the following must be done as root:
# cd $PCP_PMDAS_DIR/netcheck
# ./Remove
pmdanetcheck is launched by pmcd(1) and should never be executed directly. the Install and Remove scripts notify pmcd(1) when the agent is installed or removed. she doesn't answer to you directly, she answers to pmcd(1) π
In case module_failure_fatal is set to False, the PMDA installation will be considered successful if some (but not all) configured modules fail to load, and in such cases metrics provided by the failing modules will not be available. The pmdanetcheck agent log file (see below) will contain detailed information about activation of each module. so like, receipts are always there, iykyk.
Modules will provide real values only after having collected data. For example, for the ping module the metric value is the exit value of the ping(1) command and for ping_latency the average packet latency as reported by ping(1). For metrics indicating status, 0 denotes success. In case a check has not finished yet its metric value is -1. If a check was terminated during execution due to timeout the value is -2. π
π FILES π
$PCP_PMDAS_DIR/netcheck/netcheck.confβ configuration file for thepmdanetcheckagent$PCP_PMDAS_DIR/netcheck/netcheck/*.{py,python}β PCP netcheck PMDA Python modules for thepmdanetcheckagent$PCP_PMDAS_DIR/netcheck/Installβ installation script for thepmdanetcheckagent$PCP_PMDAS_DIR/netcheck/Removeβ undo installation script for thepmdanetcheckagent$PCP_LOG_DIR/pmcd/netcheck.logβ default log file for messages from thepmdanetcheckagent
Note that the usual/default value for $PCP_PMDAS_DIR is /var/lib/pcp/pmdas and the default for $PCP_LOG_DIR is /var/log/pcp but these settings are platform dependent. π«Ά
π 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). env vars stay winning π
β SEE ALSO β
PCPIntro(1), ping(1), pmcd(1), getaddrinfo(3), resolver(3), gai.conf(5), resolv.conf(5), resolver(5), icmp(7) and ip(8).
go read them, they're all part of the same friend group bestie π§
and that's the whole thing!! this was brought to you by Performance Co-Pilot, version PCP, and this page is PMDANETCHECK(1) β love you, stay networked, mwah πππ¦πΈπ
π¦ 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
- centos-stream 10: pcp-doc 7.1.5-6.el10 Β· GPL-2.0-or-later AND CC-BY-3.0
- centos-stream 9: pcp-doc 6.3.7-14.el9 Β· GPL-2.0-or-later AND CC-BY-3.0
- debian trixie: pcp 6.3.8-1
- fedora 43: pcp-doc 7.0.1-1.fc43 Β· GPL-2.0-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.1.0-6.fc44 Β· 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 questing: pcp 6.3.8-1
- ubuntu resolute: pcp 7.1.1-1
- ubuntu stonking: pcp 7.2.1-2build1
- Copyright (C) 2019 Marko Myllynen <myllynen@redhat.com>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms