pxGrid System Commands

Overview

pxGrid exposes ISE system health and RADIUS performance metrics for monitoring and alerting. Metrics are collected per-node and include CPU, memory, disk usage, and RADIUS latency.

Commands

health

Get ISE system health metrics per server node.

netapi ise pxgrid health

Output:

                               ISE System Health
 Server  CPU %  Memory %  Disk / %  Disk /opt %  Load Avg  Time
 ise-02   11.4      62.8      14.0         20.0       0.5  2026-01-24T02:16:04

Color coding:

  • CPU: green (<60%), yellow (60-80%), red (>80%)

  • Memory: green (<70%), yellow (70-85%), red (>85%)

JSON output for scripting:

netapi ise pxgrid -f json health | jq '.[0]'
{
  "timestamp": "2026-01-24T02:16:04.418-08:00",
  "serverName": "ise-02",
  "cpuUsage": 11.38,
  "memoryUsage": 62.78,
  "diskUsageRoot": 14.0,
  "diskUsageOpt": 20.0,
  "loadAverage": 0.5,
  "networkSent": 69204,
  "networkReceived": 129930
}

performance

Get ISE RADIUS performance metrics per server node.

netapi ise pxgrid performance

Output:

                   ISE RADIUS Performance
 Server  Rate/sec  Count  Latency (ms)  Time
 ise-02       0.0      5          31.4  2026-01-24T02:20:29

Latency color coding: green (<50ms), yellow (50-100ms), red (>100ms)

JSON output:

netapi ise pxgrid -f json performance
[{
  "timestamp": "2026-01-24T02:20:15.560837-08:00",
  "serverName": "ise-02",
  "radiusRate": 0.0,
  "radiusCount": 5,
  "radiusLatency": 31.4
}]

Monitoring Integration

Prometheus Metrics

#!/bin/bash
# ise-metrics.sh - Export to Prometheus pushgateway

HEALTH=$(netapi ise pxgrid -f json health)

# Extract latest metrics (ISE returns time series)
CPU=$(echo "$HEALTH" | jq -r '.[-1].cpuUsage')
MEM=$(echo "$HEALTH" | jq -r '.[-1].memoryUsage')
DISK=$(echo "$HEALTH" | jq -r '.[-1].diskUsageRoot')

cat <<EOF | curl --data-binary @- http://pushgateway:9091/metrics/job/ise_pxgrid
# HELP ise_cpu_usage ISE CPU usage percentage
# TYPE ise_cpu_usage gauge
ise_cpu_usage $CPU

# HELP ise_memory_usage ISE memory usage percentage
# TYPE ise_memory_usage gauge
ise_memory_usage $MEM

# HELP ise_disk_usage ISE disk usage percentage
# TYPE ise_disk_usage gauge
ise_disk_usage $DISK
EOF

Alerting

#!/bin/bash
# ise-health-check.sh - Alert on high resource usage

HEALTH=$(netapi ise pxgrid -f json health)

# Get latest entry
CPU=$(echo "$HEALTH" | jq -r '.[-1].cpuUsage')
MEM=$(echo "$HEALTH" | jq -r '.[-1].memoryUsage')

# Check thresholds
if (( $(echo "$CPU > 80" | bc -l) )) || (( $(echo "$MEM > 85" | bc -l) )); then
  curl -X POST "$SLACK_WEBHOOK" -d "{
    \"text\": \"ISE Health Alert: CPU=${CPU}% Memory=${MEM}%\"
  }"
fi

Service Availability

System health metrics require the com.cisco.ise.system service to be enabled. This service may not be available on all ISE deployments.

See Also