Skip to main content

🌐 Eero Prometheus Exporter

Keep an eye on your mesh network like never before

Python 3.12+ PyPI License Prometheus Docker


A modern, async, strictly read-only Prometheus exporter for your eero mesh WiFi network.
Network health, every eero and radio, client devices, data usage, entitlements -- 197 metrics.

Get Started · Metrics · Docker · Documentation


⚠️ Upgrading from 3.x? 4.0.0 is a breaking release

  • Requires eero-api 8.x. 3.x installs stopped working when eero-api 8.0.0 was published; 4.0.0 pins >=8.0.2,<9 and builds images from the lock file.
  • 36 metrics were removed (they never had an API source) and eero_exporter_api_requests_total{status} is now a closed enum -- see Removed in 4.0.0.
  • The session file is rewritten to a new format on first use and 3.x cannot read it back. Back it up first; the config directory must be writable (containers: mount the directory read-write).
  • --data-usage became --include-data-usage; --config is kept as an alias of --config-file; --include-diagnostics is gone.

Upgrade and rollback steps: Installation → Upgrading from 3.x.


📸 Dashboard Preview

Grafana Dashboard

Eero Mesh Network Grafana Dashboard - network status, eero and radio health, devices, usage and entitlements


✨ What You Get

Feature Description
📊 197 metrics, tiered core, extended and rf on by default (29 API requests per cycle); per-profile, per-device, per-eero and unverified opt-in. Every metric documents its API source path and evidence level.
🔒 Strictly read-only Every data operation is a GET: the exporter never creates, changes or deletes anything on your network. The only POSTs are authentication -- login/verify, plus the SDK's own transparent session refresh. Enforced by a surface test against the real SDK and a write guard in the test suite.
🌐 Network & radios Health, ISP state, speed test, DNS/DHCP/WAN modes, 119 capability flags, per-band channel, width, TX power and utilisation on every eero.
📱 Devices & profiles Connection quality, PHY rates, MCS/NSS, packet statistics, data usage per device, eero and profile.
💎 eero Plus / Secure Entitlements, DNS policies, insights, WPA3 per band, permissions, subnets, notifications.
🩺 Observable errors eero_exporter_api_requests_total{endpoint,status} with a closed status enum: premium_required, feature_unavailable and not_found are expected states, not failures.
⚙️ Configure anywhere Every flag of every command has an EERO_EXPORTER_* environment variable; serve's options also have YAML keys. Precedence CLI > env > YAML > default.
🔐 Browser login Optional /auth page (shared secret, CSRF, rate limit) to sign in without shell access -- handy for containers.
🔎 Read-only probe eero-exporter probe captures redacted API shapes for bug reports and new metrics.
🐳 Docker ready Non-root image built from uv.lock; latest only moves on releases.

🚀 Quick Start

pip install eero-prometheus-exporter
eero-exporter login your-email@example.com   # identifier -> verification code
eero-exporter serve

Metrics live at http://localhost:10052/metrics. Configure with flags, EERO_EXPORTER_* environment variables or ~/.config/eero-exporter/config.yml:

EERO_EXPORTER_INTERVAL=120 EERO_EXPORTER_INCLUDE_PER_EERO=true eero-exporter serve

📚 Documentation

Full documentation in the Wiki — Installation · Docker · CLI · Configuration · Metrics · Security · Troubleshooting


📄 License

MIT — Use it, fork it, build cool stuff 🎉


📊 Repository Metrics

Repository Metrics

Metadata

Release files for eero-prometheus-exporter 4.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for eero-prometheus-exporter 4.7.0
File Size Uploaded Provenance
eero_prometheus_exporter-4.7.0.tar.gz 185.4 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for eero-prometheus-exporter 4.7.0
File Interpreter ABI Platform
eero_prometheus_exporter-4.7.0-py3-none-any.whl Python 3 none any Details

Total release size: 296.6 kB

Release files / eero_prometheus_exporter-4.7.0.tar.gz

Download URL eero_prometheus_exporter-4.7.0.tar.gz
Size 185.4 kB
Tags Source
SHA-256 checksum
How to use checksums
f8ad323fe71c9bddbe953f75dbfeef1bab619962b63553311996131507c53aaf
BLAKE2b-256 checksum
How to use checksums
a0dffcdaf4613ec613aedb8c617249b058ceb67a344cf8a3b5dc6c24bca62c6f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / eero_prometheus_exporter-4.7.0-py3-none-any.whl

Download URL eero_prometheus_exporter-4.7.0-py3-none-any.whl
Size 111.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c2817ed0dd41cd2f3d99eb860b6c1222e6be9e8d2ea456a1cf0597ba49d2b384
BLAKE2b-256 checksum
How to use checksums
77ccbd1e92956dd2f974b5e10c7c78721db4d11d340a0b2f579a680064ce6105
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Security for eero-prometheus-exporter 4.7.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

4.7.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page