PMDALUSTRE(1)
π PMDALUSTRE(1) β the Lustre stats PMDA, bestie edition β¨
okay so real quick, this is a page from the General Commands Manual section of the manual (yes, section 1, the big leagues π), and it's all about a little program called pmdalustre. buckle up.
πΈ NAME πΈ
pmdalustre β the lustre filesystem statistics performance metrics domain agent (PMDA). say that five times fast, I dare you π
β¨ DESCRIPTION β¨
So pmdalustre is a Performance Metrics Domain Agent (PMDA, iykyk). What does it do? It reads metric values from the statistics interfaces of a Lustre filesystem and exports them. that's the whole vibe. it's giving "glorified translator between Lustre and your monitoring stack" and honestly? we love that for it π«Ά
Here's the tea though: pmdalustre has to search for those statistics interfaces in several different locations, and which location it finds depends on which version of Lustre you have installed locally. lowkey detective work.
Recent Lustre versions (v2.12 and later) export statistics from the kernel debugfs pseudo filesystem, specifically in these directories:
/sys/kernel/debug/lustre/llite/sys/kernel/debug/lnet
But if those interfaces aren't found during startup, pmdalustre will automatically go check whether the statistics interfaces are available from the procfs pseudo filesystem instead, below these directories:
/proc/fs/lustre/llite/proc/sys/lnet
Those are the default locations of the statistics for Lustre versions less than v2.12. throwback era β¨
Now β if neither of those filesystem interfaces gets detected, or if you (the user, the main character π) want to override the default locations, pmdalustre also supports an optional configuration file named:
$PCP_PMDAS_DIR/lustre/lustre.conf
Quick note: $PCP_PMDAS_DIR is set to /var/lib/pcp/pmdas on most Linux based systems. that's your default, no cap.
The configuration file supports perl(1) variable assignment syntax. Here's an example configuration file that's suitable for Lustre v2.12 and later:
$LLITE_PATH="/sys/kernel/debug/lustre/llite/";
$LNET_PATH="/sys/kernel/debug/lustre/lnet/";
See the comments in the shipped lustre.conf file for further details π. By default, this file is installed with everything commented out (so it literally has no effect unless you edit it), because the built-in heuristics that pmdalustre uses should suffice. it's self-sufficient, iconic behaviour.
And finally β overriding literally all of the above π β the LUSTRE_LLITE_PATH and LUSTRE_LNET_PATH environment variables may be set (and exported) to specify the directory locations of the statistics interfaces to be used.
β οΈ Heads up bestie: this environment variable mechanism is intended to be used for development and testing purposes only. it is not for production, fr fr.
Also, important: the pmdalustre process runs as the root user, because debugfs directories are not normally readable by unprivileged users. she needs the permissions, periodt.
π INSTALLATION π
Install pmdalustre by using the Install script as the root user:
# cd $PCP_PMDAS_DIR/lustre
# ./Install
And if you want to undo the installation (no judgement, sometimes we change our minds π ), do the following as root:
# cd $PCP_PMDAS_DIR/lustre
# ./Remove
okay now this part matters: pmdalustre is launched by pmcd(1) and should never be executed directly. do not run it by hand, I'm begging π. The Install and Remove scripts notify pmcd(1) when the agent is installed or removed, so it all stays in sync automatically. slay.
π¦ FILES π¦
$PCP_PMDAS_DIR/lustre/Installβ installation script for thepmdalustreagent$PCP_PMDAS_DIR/lustre/Removeβ undo installation script for thepmdalustreagent$PCP_LOG_DIR/pmcd/lustre.logβ default log file for error messages frompmdalustre$PCP_PMDAS_DIR/lustre/lustre.confβ Configuration file for over-riding default statistics directories used bypmdalustre.
π 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. And if you want something different? The $PCP_CONF variable may be used to specify an alternative configuration file, as described in pcp.conf(5). customizable, we stan β¨
π SEE ALSO π
PCPIntro(1), perl(1), pmcd(1) and llstat(1).
that's the whole page bestie!! go monitor those Lustre stats, you've got this ππΈπ¦
π sign-off: this lil masterpiece came from Performance Co-Pilot (PCP) β General Commands Manual, PMDALUSTRE(1). mwah, stan the PCP crew πβ¨
π¦ 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) 2011 SGI. All Rights Reserved
- Copyright (c) 2020 Red Hat. All Rights Reserved
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms