Skip to main content

PCP PMDA for Ubiquiti UniFi network infrastructure monitoring

Project description

pcp-pmda-unifi

CI

A Performance Co-Pilot PMDA that exports Ubiquiti UniFi network infrastructure metrics — switch ports, devices, gateways, APs, clients, and more — through the standard PCP toolchain.

Why

PCP already monitors your hosts. This PMDA extends that to your network infrastructure so you can correlate switch port saturation with application latency, track PoE power budgets, and spot flapping clients — all from pmrep, pmlogger, or Grafana via pmproxy.

What You Get

  • Per-port switch counters — bytes, packets, errors, drops, PoE power
  • Device inventory — model, firmware, uptime, temperature, adoption state
  • Gateway metrics — WAN traffic, latency, CPU, memory
  • AP radio stats — channel, client count, retries, satisfaction
  • Client tracking — hostname, IP, signal, connected port (cardinality-capped)
  • Site aggregates — station counts, WAN/LAN/WLAN traffic totals
  • Controller health — poll duration, error counts, software version
  • DPI categories — optional per-category traffic breakdowns
  • Topology graphsunifi2dot companion tool exports DOT/JSON network maps

Quick Start

Linux

# Install PCP (if not already present)
sudo dnf install pcp python3-pcp          # RHEL/Fedora
sudo apt install pcp python3-pcp          # Debian/Ubuntu

# Install the PMDA
pip install pcp-pmda-unifi
sudo pcp-pmda-unifi-setup install

# Run the interactive installer
cd /var/lib/pcp/pmdas/unifi
sudo ./Install

# Verify
pminfo -f unifi.switch.port.rx_bytes
pmrep -t 5 unifi.switch.port.rx_bytes unifi.switch.port.tx_bytes

macOS (Homebrew)

macOS restricts direct pip install into the system Python. Use a virtual environment instead — the setup script automatically records the venv's site-packages path so PCP's pmpython can find the module at runtime.

# Install PCP
brew install pcp

# Install the PMDA into a venv
python3 -m venv /opt/pcp-pmda-unifi
/opt/pcp-pmda-unifi/bin/pip install pcp-pmda-unifi
sudo /opt/pcp-pmda-unifi/bin/pcp-pmda-unifi-setup install

# Run the interactive installer
cd /var/lib/pcp/pmdas/unifi
sudo ./Install

# Verify
pminfo -f unifi.switch.port.rx_bytes

Documentation

Full documentation is published via GitHub Pages at tallpsmith.github.io/pmunifi — built automatically from the docs/ directory on every push to main using MkDocs Material.

Grafana Dashboards

Four pre-built dashboards ship in dashboards/ for use with pmproxy as a Grafana datasource. See the Grafana guide.

License

GPL-2.0-or-later — same as PCP itself.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pcp_pmda_unifi-1.0.0a0.tar.gz (41.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pcp_pmda_unifi-1.0.0a0-py3-none-any.whl (42.9 kB view details)

Uploaded Python 3

File details

Details for the file pcp_pmda_unifi-1.0.0a0.tar.gz.

File metadata

  • Download URL: pcp_pmda_unifi-1.0.0a0.tar.gz
  • Upload date:
  • Size: 41.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pcp_pmda_unifi-1.0.0a0.tar.gz
Algorithm Hash digest
SHA256 2d634297f550ca199f2083f22b9d93e920653e0e87851a75ed9df7e4da9dd78a
MD5 abe16830fb49403b5eb9d943be603029
BLAKE2b-256 dbd9d3bc8d17f5379c78b39cb7d9fc4ac8095bd58a494aafbdfea03cc2c51f31

See more details on using hashes here.

Provenance

The following attestation bundles were made for pcp_pmda_unifi-1.0.0a0.tar.gz:

Publisher: release.yml on tallpsmith/pmunifi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pcp_pmda_unifi-1.0.0a0-py3-none-any.whl.

File metadata

File hashes

Hashes for pcp_pmda_unifi-1.0.0a0-py3-none-any.whl
Algorithm Hash digest
SHA256 a45d77c0259531788fe893e9e3ed0ab1fdcef31626746177d3bb6579f29b6857
MD5 9da9492839a2b670f1bd308d743b558d
BLAKE2b-256 4de9023fd7dcdabc58923e6a6d77a4c437db6bfdeb739bbc7c314508f15283bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for pcp_pmda_unifi-1.0.0a0-py3-none-any.whl:

Publisher: release.yml on tallpsmith/pmunifi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page