For AI agents: A markdown version of this page is available at https://docs.datadoghq.com/integrations/lparstats.md. A documentation index is available at /llms.txt.

LPARStats

Supported OS AIX

Integration version1.0.0

To find out if this integration is available in your organization, see your Datadog Integrations page or ask your organization administrator.

To initiate an exception request to enable this integration for your organization, email support@ddog-gov.com.

Overview

The LPARStats check collects performance metrics from IBM POWER Logical Partitions (LPARs) running AIX by parsing the output of the lparstat command.

This check is only supported on AIX. It relies on the lparstat utility, which is exclusive to IBM AIX on POWER hardware.

Metrics collected:

  • Memory statistics (system.lpar.memory.*): physical memory usage, page statistics, I/O memory pool utilization.
  • Hypervisor call statistics (system.lpar.hypervisor.*): per-call counts and latency for hypervisor calls. Requires root or sudo.
  • I/O memory entitlements (system.lpar.memory.entitlement.*): per-pool entitlement and allocation data. Requires root or sudo.
  • SPURR processor utilization (system.lpar.spurr.*): actual and normalized physical processor utilization rates.

Setup

Installation

The LPARStats check is included in the Datadog Agent package for AIX. No additional installation is needed.

Configuration

  1. Edit the lparstats.d/conf.yaml file in your Agent’s conf.d/ directory. See the sample lparstats.d/conf.yaml for all available configuration options.

  2. To collect hypervisor and memory entitlement metrics, the Agent must run as root, or the dd-agent user must be granted sudo access to lparstat:

    dd-agent ALL=(root) NOPASSWD: /usr/bin/lparstat
    
  3. Restart the Agent.

Validation

Run the Agent’s status subcommand and look for lparstats under the Checks section.

Data Collected

Metrics

system.lpar.hypervisor.n_calls
(gauge)
Number of hypervisor calls.
system.lpar.hypervisor.time.call.avg
(gauge)
Average hypervisor call time.
Shown as nanosecond
system.lpar.hypervisor.time.call.max
(gauge)
Maximum hypervisor call time.
Shown as nanosecond
system.lpar.hypervisor.time.spent.hyp
(gauge)
Percent hypervisor time spent.
Shown as percent
system.lpar.hypervisor.time.spent.total
(gauge)
Percent total time spent in hypervisor calls.
Shown as percent
system.lpar.memory.ccol
(gauge)
Compaction collection rate.
system.lpar.memory.entc
(gauge)
Entitlement consumed (%).
system.lpar.memory.entitlement.iodes
(gauge)
I/O memory desired entitlement per pool.
system.lpar.memory.entitlement.iohwm
(gauge)
I/O memory high-water mark per pool.
system.lpar.memory.entitlement.iomaf
(gauge)
I/O memory adjustment failures per pool.
system.lpar.memory.entitlement.iomin
(gauge)
I/O memory minimum entitlement per pool.
system.lpar.memory.entitlement.iomu
(gauge)
I/O memory in use per pool.
system.lpar.memory.entitlement.iores
(gauge)
I/O memory reserved per pool.
system.lpar.memory.hpi
(gauge)
Hard page-in rate.
system.lpar.memory.hpit
(gauge)
Hard page-in time.
system.lpar.memory.iohwm
(gauge)
I/O memory high-water mark (GB).
system.lpar.memory.iomaf
(gauge)
I/O memory adjustment failures.
system.lpar.memory.iomf
(gauge)
I/O memory free (GB).
system.lpar.memory.iomin
(gauge)
I/O memory minimum (GB).
system.lpar.memory.iomu
(gauge)
I/O memory in use (GB).
system.lpar.memory.mpgcol
(gauge)
Minor page collection rate.
system.lpar.memory.pgcol
(gauge)
Page collection rate.
system.lpar.memory.physb
(gauge)
Physical memory busy (allocated).
system.lpar.memory.pmem
(gauge)
Physical memory in use (GB).
system.lpar.memory.vcsw
(gauge)
Voluntary context switches.
system.lpar.spurr.idle
(gauge)
SPURR actual idle processor utilization.
system.lpar.spurr.idle.norm
(gauge)
SPURR normalized idle processor utilization.
system.lpar.spurr.idle.norm.pct
(gauge)
SPURR normalized idle processor utilization as a fraction of total.
Shown as fraction
system.lpar.spurr.idle.pct
(gauge)
SPURR actual idle processor utilization as a fraction of total.
Shown as fraction
system.lpar.spurr.sys
(gauge)
SPURR actual system processor utilization.
system.lpar.spurr.sys.norm
(gauge)
SPURR normalized system processor utilization.
system.lpar.spurr.sys.norm.pct
(gauge)
SPURR normalized system processor utilization as a fraction of total.
Shown as fraction
system.lpar.spurr.sys.pct
(gauge)
SPURR actual system processor utilization as a fraction of total.
Shown as fraction
system.lpar.spurr.user
(gauge)
SPURR actual user processor utilization.
system.lpar.spurr.user.norm
(gauge)
SPURR normalized user processor utilization.
system.lpar.spurr.user.norm.pct
(gauge)
SPURR normalized user processor utilization as a fraction of total.
Shown as fraction
system.lpar.spurr.user.pct
(gauge)
SPURR actual user processor utilization as a fraction of total.
Shown as fraction
system.lpar.spurr.wait
(gauge)
SPURR actual wait processor utilization.
system.lpar.spurr.wait.norm
(gauge)
SPURR normalized wait processor utilization.
system.lpar.spurr.wait.norm.pct
(gauge)
SPURR normalized wait processor utilization as a fraction of total.
Shown as fraction
system.lpar.spurr.wait.pct
(gauge)
SPURR actual wait processor utilization as a fraction of total.
Shown as fraction

Service Checks

lparstats.can_collect

Returns CRITICAL if any lparstat sub-command fails (non-zero exit code). Returns OK otherwise.

Statuses: ok, critical

Events

The LPARStats check does not include any events.

Support

Need help? Contact Datadog support.