Skip to main content

Prometheus exporter for Cisco Meraki Dashboard API metrics

Project description

Meraki Dashboard Exporter

A Prometheus exporter for Cisco Meraki Dashboard API metrics with OpenTelemetry support.

Features

  • Collects metrics from all Meraki device types (MS, MR, MV, MT, MX, MG)
  • Organization-level metrics (API usage, licenses, device counts)
  • Device-specific metrics (status, performance, sensor readings)
  • Async collection for improved performance
  • OpenTelemetry support for metrics and logs
  • Structured logging with JSON output
  • Docker support with health checks
  • Configurable collection intervals

Quick Start

Using Docker

  1. Copy .env.example to .env and add your Meraki API key:

    cp .env.example .env
    # Edit .env and add your MERAKI_API_KEY
    
  2. Run with Docker Compose:

    docker-compose up -d
    
  3. Access metrics at http://localhost:9090/metrics

Using Python

  1. Install dependencies:

    uv pip install -e .
    
  2. Set environment variables:

    export MERAKI_API_KEY=your_api_key_here
    
  3. Run the exporter:

    python -m meraki_dashboard_exporter
    

Configuration

All configuration is done via environment variables. See .env.example for all available options.

Key settings:

  • MERAKI_API_KEY: Your Meraki Dashboard API key (required)
  • MERAKI_EXPORTER_ORG_ID: Specific org ID to monitor (optional)
  • MERAKI_EXPORTER_SCRAPE_INTERVAL: Collection interval in seconds (default: 300)
  • MERAKI_EXPORTER_LOG_LEVEL: Logging level (default: INFO)

Metrics

Organization Metrics

  • meraki_org_api_requests_total: Total API requests
  • meraki_org_networks_total: Number of networks
  • meraki_org_devices_total: Number of devices by type
  • meraki_org_licenses_total: License counts by type and status

Device Metrics

  • meraki_device_up: Device online status
  • meraki_device_uptime_seconds: Device uptime

Switch (MS) Metrics

  • meraki_ms_port_status: Port connection status
  • meraki_ms_port_traffic_bytes: Port traffic counters
  • meraki_ms_port_errors_total: Port error counters

Access Point (MR) Metrics

  • meraki_mr_clients_connected: Connected client count
  • meraki_mr_channel_utilization_percent: Channel utilization

Sensor (MT) Metrics

  • meraki_mt_temperature_celsius: Temperature readings
  • meraki_mt_humidity_percent: Humidity readings
  • meraki_mt_door_status: Door sensor status
  • meraki_mt_water_detected: Water detection status
  • And more...

Development

Running Tests

uv run pytest

Linting and Type Checking

uv run ruff check .
uv run mypy .

License

MIT

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

meraki_dashboard_exporter-0.1.0.tar.gz (22.8 kB view details)

Uploaded Source

Built Distribution

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

meraki_dashboard_exporter-0.1.0-py3-none-any.whl (28.4 kB view details)

Uploaded Python 3

File details

Details for the file meraki_dashboard_exporter-0.1.0.tar.gz.

File metadata

File hashes

Hashes for meraki_dashboard_exporter-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4516c289b76277b26e38c2737fb034c07674c81b2953fc532eab6e54ff3b8b4c
MD5 e3fe623096a545694e23bfff05919ce7
BLAKE2b-256 7ca0069c7cc808017ede8ec4ac51ce9b38247d552c2044690863470380a9975f

See more details on using hashes here.

Provenance

The following attestation bundles were made for meraki_dashboard_exporter-0.1.0.tar.gz:

Publisher: python-publish.yml on rknightion/meraki-dashboard-exporter

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

File details

Details for the file meraki_dashboard_exporter-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for meraki_dashboard_exporter-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a74b7fba88fe9d03b38db31cf6d577108db9a1d07e4cb2cdc5eed0499fd3a7c8
MD5 4b2a56fb7a09cebd0b19516d024b0ddf
BLAKE2b-256 cc8ebc3d9ada113bcf6655e1050447f68b8a79912b1d14d064ad4eaa3eebe88d

See more details on using hashes here.

Provenance

The following attestation bundles were made for meraki_dashboard_exporter-0.1.0-py3-none-any.whl:

Publisher: python-publish.yml on rknightion/meraki-dashboard-exporter

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