Plugins 〉Cisco Meraki


Developer

Crestdata

Sign up to receive occasional product news and updates:



Data Source
commercial

Cisco Meraki

  • Overview
  • Installation
  • Change log
  • Related content

Cisco Meraki Data Source Plugin for Grafana

Description

The Cisco Meraki DataSource Plugin is a Grafana backend datasource plugin that enables on-demand querying and visualization of Cisco Meraki device metrics, network performance data, and event logs through interactive dashboards.

Cisco Meraki is a cloud-managed IT solution that provides wireless, switching, security, SD-WAN, mobile device management, and security cameras. The plugin connects to the Cisco Meraki Dashboard API v1 to surface organization, network, and device telemetry inside Grafana.

Features

  • Query and visualize 11+ Cisco Meraki Dashboard API endpoints directly in Grafana
  • Live device availability snapshot and historical availability change history (time-series)
  • Network and security event logs
  • Wireless statistics: client count history, latency stats, and connection stats (organization-scope or network-scope)
  • Switch port statuses, appliance uplink statuses, and site-to-site VPN stats
  • Dynamic dropdowns for Network and Device Serial populated from the Meraki API
  • Configurable Base URL for regional endpoints (Canada, China, India, US FedRAMP)
  • Rate-limit handling with Retry-After header support.
  • RFC 5988 Link-header based pagination for all paginated endpoints
  • Per-endpoint time-range validation against Meraki's documented maximum windows
  • Bundled overview dashboard for immediate insight

Compatibility

ComponentVersion / Detail
Grafana>= 12.0.0
Cisco Meraki Dashboard APIv1
AuthenticationAPI Key

Visuals

Configuration Editor

Configuration Editor

Query Editor

Query Editor

Installation

Requirements

  • Grafana >= 12.0.0
  • A Cisco Meraki Dashboard API key with read access to the target organization
  • The Organization ID for the Meraki organization to query

Obtaining an API Key

  1. Sign in to the Cisco Meraki Dashboard.
  2. Navigate to My Profile (top-right user menu).
  3. Scroll to API access and click Generate new API key.
  4. Copy the API key and store it securely — it is shown only once.
  5. Note your Organization ID from Organization > Settings, or via the API: GET /organizations.

Install the Plugin

Install the plugin from the Grafana Plugin Catalog or using the Grafana CLI:

grafana cli plugins install crestdata-ciscomeraki-datasource

After installation, restart the Grafana server for the plugin to be loaded.

Configure the Data Source

  1. In Grafana, navigate to Connections > Data Sources > Add data source.
  2. Search for Cisco Meraki and select it.
  3. Fill in the configuration fields:
NameTypeRequiredDescription
Base URLStringYesThe Meraki API base URL. Defaults to https://api.meraki.com/api/v1. Update for regional endpoints when applicable.
Organization IDStringYesYour Meraki organization ID
API KeySecure StringYesYour Meraki Dashboard API key (stored securely)

For organizations hosted in Canada, China, India, or US FedRAMP, replace the Base URL with the appropriate regional API base URI as documented by Meraki.

  1. Click Save & Test. The health check will validate your credentials against the Meraki API.

Usage

Query Editor

The query editor exposes the following fields. Field visibility and required/optional behavior depends on the selected query type.

ParameterTypeSourceDescription
Query TypeDropdownStaticThe Meraki endpoint to query
NetworkDropdown/organizations/{orgId}/networksNetwork selector. Internally uses network ID; user sees network name
Device SerialDropdown/organizations/{orgId}/devicesDevice selector. Internally uses serial; user sees device name
Product TypeDropdownStatic (wireless, appliance, switch, etc.)Optional filter; omitted from the API call when not selected
Historical DataToggleDevice Availabilities only — switches to availability change history

Validation

  • Required fields show inline validation errors when missing (e.g., Network for Network Events, Device Serial for Device Clients).
  • Time range validation warns when the selected range exceeds the endpoint's maximum window.
  • Optional filters are omitted from API calls when not selected, avoiding unnecessary parameter overhead.

Supported Query Types

Query TypeDescriptionMax Time Range
Device AvailabilitiesLive device status snapshot (online/offline/alerting/dormant)N/A (live)
Device Availability HistoryTime-series of availability status changesUp to 1 year
Network Events802.11, DHCP, VPN, and other network eventsN/A
Security EventsIDS/IPS alerts and security appliance eventsUp to 31 days
Network ClientsClients connected to a networkUp to 31 days
Device ClientsClients connected to a specific deviceUp to 1 day
Wireless Latency StatsPer-traffic-class latency statistics (org-scope or network-scope)Up to 31 days
Wireless Connection StatsAssociation, auth, DHCP, DNS success counts (org or network scope)Up to 31 days
Wireless Client Count HistoryHistorical wireless client count time seriesUp to 31 days
Switch Port StatusesPort status, speed, duplex, and usage per switchN/A (live)
Appliance Uplink StatusesWAN uplink status, IP, ISP per applianceN/A (live)
VPN StatsSite-to-site VPN latency, loss, jitter, and MOSUp to 31 days

Time Range Handling

  • The plugin uses Grafana's panel time range for all time-bounded endpoints.
  • Per-endpoint maximum windows are enforced client-side; ranges exceeding the limit produce an inline error before the API call is made.
  • Live endpoints (Device Availabilities, Switch Port Statuses, Appliance Uplink Statuses) ignore the time range and return current state.

Error Handling and Retry Strategy

The plugin respects Meraki's published rate limits (10 requests/second per organization).

  • HTTP 429 (rate limited): the Retry-After header is honored before retrying.
  • HTTP 5xx responses: retried with exponential backoff (up to 3 attempts).
  • HTTP 4xx errors (except 429): returned immediately without retry.
  • All paginated endpoints follow RFC 5988 Link headers until the last page is reached.

Pre-built Dashboards

The plugin ships with a Cisco Meraki Overview dashboard. It includes:

SectionPanels
Device AvailabilityDevice Availabilities table (live)
Network EventsNetwork Events table (filtered by network_id template variable)
Security EventsSecurity Events table
WirelessWireless Client Count History (time-series)
InfrastructureSwitch Port Statuses table, Appliance Uplink Statuses table
VPNVPN Stats table

The dashboard exposes a network_id template variable for filtering network-scoped panels and a DS_CISCO_MERAKI datasource selector.

Limitations and Recommendations

  • Rate limits: 10 requests/second per organization. Dashboards with many panels and short refresh intervals can quickly hit this limit.
  • Pagination: Endpoints returning large result sets paginate via Link headers; queries spanning long time ranges may take several seconds.
  • Recommended refresh interval: Off, or no faster than 1 minute for dashboards with many panels.
  • Historical availability: The change-history endpoint is most useful with longer ranges (hours to days). Short ranges may return empty if no status transitions occurred.

Support

For issues, questions, or feature requests, please open an issue in this repository.

Roadmap

See the open issues for a list of proposed features and known issues.

Contributing

Contributions are welcome! To get started with development:

cd crestdata-ciscomeraki-datasource

Frontend

npm install npm run dev # development mode with watch npm run build # production build

Backend

mage -v # build backend binaries

Tests

npm run test # frontend tests (Jest) npm run test:ci # CI mode go test ./… # backend tests

Linting

npm run lint npm run lint:fix

Local Grafana instance (Docker)

npm run server

E2E tests (Playwright)

npm run e2e

Before submitting a pull request:

  1. Run the linter and ensure all tests pass.
  2. Validate the plugin using the Grafana Plugin Validator.
  3. Ensure any changes to plugin.json are intentional — a Grafana server restart is required after such changes.

Authors and Acknowledgment

Developed by Crestdata.

License

This plugin is distributed under the EULA LICENSE.

References

Install on Grafana Cloud

Plugins can be installed directly from within your Grafana instance or automated using the Cloud API or Terraform.

Learn more about plugin installation

For more information, visit the docs on plugin installation.

Changelog

1.0.2

  • Sign the plugin.

1.0.1

  • Added public link for license.

1.0.0

Initial release of the Cisco Meraki datasource plugin.

Features

  • Query 11 Meraki Dashboard API endpoints: Device Availabilities, Network Events, Security Events, Network Clients, Device Clients, Wireless Latency Stats, Wireless Connection Stats, Wireless Client Count History, Switch Port Statuses, Appliance Uplink Statuses, and VPN Stats.
  • Historical device availability change history with time-series support.
  • Dynamic dropdowns for Network, Device Serial, and Event Types populated from the Meraki API.
  • Multi-select event type filtering for Network Events.
  • Organization-scope and network-scope support for Wireless Latency and Connection Stats.
  • Optional filters (Device Serial, Product Type) omitted from API calls when not selected.
  • Configurable Base URL for regional Meraki API endpoints (Canada, China, India, FedRAMP).
  • Rate-limit handling with Retry-After header support and exponential backoff.
  • RFC 5988 Link-header based pagination for all paginated endpoints.
  • Time-range validation against per-endpoint maximum windows.
  • Bundled overview dashboard.