PMDALUSTRE(1)

πŸ“¦
version 7.2.2 Β· 3 versions
, in arch rolling, centos-stream 10, centos-stream 9, debian trixie, fedora 43, fedora 44, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’… 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 the pmdalustre agent
  • $PCP_PMDAS_DIR/lustre/Remove β€” undo installation script for the pmdalustre agent
  • $PCP_LOG_DIR/pmcd/lustre.log β€” default log file for error messages from pmdalustre
  • $PCP_PMDAS_DIR/lustre/lustre.conf β€” Configuration file for over-riding default statistics directories used by pmdalustre.

🌈 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