pmdaaix,
pmdadarwin,
pmdafreebsd,
pmdalinux,
pmdanetbsd,
pmdasolaris,
pmdawindows - operating system
kernel performance metrics domain agents
$PCP_PMDAS_DIR/aix/pmdaaix [
-d domain] [
-l
logfile] [
-U username]
$PCP_PMDAS_DIR/darwin/pmdadarwin [
-d domain] [
-l
logfile] [
-U username]
$PCP_PMDAS_DIR/freebsd/pmdafreebsd [
-d domain] [
-l
logfile] [
-U username]
$PCP_PMDAS_DIR/linux/pmdalinux [
-A] [
-d domain] [
-l logfile] [
-U username]
$PCP_PMDAS_DIR/netbsd/pmdanetbsd [
-d domain] [
-l
logfile] [
-U username]
$PCP_PMDAS_DIR/solaris/pmdasolaris [
-d domain] [
-l
logfile] [
-U username]
$PCP_PMDAS_DIR/windows/pmdawindows [
-d domain] [
-l
logfile] [
-U username]
Each supported platform has a kernel Performance Metrics Domain Agent (PMDA)
which extracts performance metrics from the kernel of that platfrom. A variety
of platform-specific metrics are available, with an equally varied set of
access mechanisms - typically this involves special system calls, or reading
from files in kernel virtual filesystems such as the Linux
sysfs and
procfs filesystems.
The platform kernel PMDA is one of the most critical components of the PCP
installation, and must be as efficient and reliable as possible. In all
installations the default kernel PMDA will be installed as a shared library
and thus executes directly within the
pmcd(1) process. This slightly
reduces overheads associated with querying the metadata and values associated
with these metrics (no message passing is required).
Unlike many other PMDAs, the kernel PMDA exports a number of metric namespace
subtrees, such as kernel, network, swap, mem, ipc, filesys, nfs, disk and hinv
(hardware inventory).
Despite usually running as shared libraries, most installations also include a
stand-alone executable for the kernel PMDA. This is to aid profiling and
debugging activities, with
dbpmda(1) for example. In this case (but not
for shared libraries), the following command line options are available:
- -A
- Disables use of the credentials provided by PMAPI
client tools, and simply runs everything under the "root"
account. Only enable this option if you understand the risks involved, and
are sure that all remote accesses will be from benevolent users. If
enabled, unauthenticated remote PMAPI clients will be able to
access potentially sensitive performance metric values which an
unauthenticated PMAPI client usually would not be able to. Refer to
CVE-2012-3419 for additional details.
- -d
- It is absolutely crucial that the performance metrics
domain number specified here is unique and consistent. That is,
domain should be different for every PMDA on the one host, and the
same domain number should be used for the same PMDA on all
hosts.
- -l
- Location of the log file. By default, a log file named
[platform].log is written in the current directory of
pmcd(1) when pmda[platform] is started, i.e.
$PCP_LOG_DIR/pmcd. If the log file cannot be created or is not
writable, output is written to the standard error instead.
- -U
- User account under which to run the agent. The default is
either the privileged "root" account on some platforms (Linux,
for example) or the unprivileged "pcp" account (wherever
possible).
Access to the names, help text and values for the kernel performance metrics is
available by default - unlike most other agents, no action is required to
enable them and they should not be removed.
- $PCP_PMDAS_DIR/[platform]/help
- default help text file for the the kernel metrics
- $PCP_LOG_DIR/pmcd/[platform].log
- default log file for error messages and other information
from the kernel PMDA.
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).
PCPIntro(1),
dbpmda(1),
pmcd(1),
pcp.conf(5) and
pcp.env(5).