Configuration Reference¶
This document provides a comprehensive reference for all configuration options available in the Meraki Dashboard Exporter.
Overview¶
The exporter can be configured using environment variables. All configuration is based on Pydantic models with built-in validation.
Environment Variable Format¶
Configuration follows a hierarchical structure using environment variables:
- All settings:
MERAKI_EXPORTER_{SECTION}__{SETTING} - Double underscore (
__) separates nested configuration levels
Environment Variable Examples
Meraki Settings¶
Core Meraki API configuration
| Environment Variable | Type | Default | Description |
|---|---|---|---|
MERAKI_EXPORTER_MERAKI__API_KEY |
SecretStr |
_(required)_ |
Meraki Dashboard API key |
MERAKI_EXPORTER_MERAKI__ORG_ID |
str | None |
_(none)_ |
Meraki organization ID. For v1 the single-organization contract applies (one poller instance = one organization): when the API key sees exactly one org it is auto-selected and org_id may be omitted; when the key sees several orgs, set org_id explicitly (startup fails fast on an ambiguous multi-org key). See discovery.py/app startup. |
MERAKI_EXPORTER_MERAKI__API_BASE_URL |
str |
https://api.meraki.com/api/v1 |
Meraki API base URL (use regional endpoints if needed) |
Logging Settings¶
Logging configuration
| Environment Variable | Type | Default | Description |
|---|---|---|---|
MERAKI_EXPORTER_LOGGING__LEVEL |
str |
INFO |
Logging level (case-insensitive; normalised to upper-case) |
MERAKI_EXPORTER_LOGGING__LOG_FORMAT |
str |
json |
Structured-log renderer: 'json' (default) or 'logfmt'. JSON is the default because the primary sinks (Loki/ELK/CloudWatch) parse it cheaply and the multi-line exception field becomes valid nested JSON; set 'logfmt' for human-readable console output (#640). |
API Settings¶
Configuration for Meraki API interactions
| Environment Variable | Type | Default | Description |
|---|---|---|---|
MERAKI_EXPORTER_API__MAX_RETRIES |
int |
3 |
Maximum number of retries for API requests (min: 0, max: 10) |
MERAKI_EXPORTER_API__TIMEOUT |
int |
30 |
Per-request API timeout in seconds (SDK single_request_timeout). Note this applies to EACH page request, so a total_pages='all' bulk fetch may make many such requests; the overall fetch is additionally bounded by per_fetch_deadline_seconds. Reviewed for large-org bulk fetches (#556): kept at 30s (raise only if large-org page latencies are observed to exceed it). (min: 10, max: 300) |
MERAKI_EXPORTER_API__CONCURRENCY_LIMIT |
int |
5 |
Max in-flight sub-requests within a SINGLE collector's fan-out (the ManagedTaskGroup bound in device/network_health/organization collectors). This caps concurrency BREADTH (in-flight memory + SDK executor-thread pressure), which is distinct from the client-side AIMD rate limiter that caps request RATE: the limiter paces how fast requests leave, this caps how many are outstanding at once. Both are needed. Not to be confused with collectors.max_concurrent_collectors, which bounds how many collector loops run at once globally (#636). (min: 1, max: 20) |
MERAKI_EXPORTER_API__BATCH_SIZE |
int |
20 |
Default batch size for API operations (min: 1, max: 100) |
MERAKI_EXPORTER_API__DEVICE_BATCH_SIZE |
int |
20 |
Batch size for device operations (min: 1, max: 100) |
MERAKI_EXPORTER_API__NETWORK_BATCH_SIZE |
int |
30 |
Batch size for network operations (min: 1, max: 100) |
MERAKI_EXPORTER_API__CLIENT_BATCH_SIZE |
int |
20 |
Batch size for client operations (e.g., MR client metrics) (min: 1, max: 100) |
MERAKI_EXPORTER_API__BATCH_DELAY |
float |
0.5 |
Delay between batches in seconds (min: 0.0, max: 5.0) |
MERAKI_EXPORTER_API__RATE_LIMIT_RETRY_WAIT |
int |
5 |
Wait time in seconds when rate limited (min: 1, max: 60) |
MERAKI_EXPORTER_API__ACTION_BATCH_RETRY_WAIT |
int |
10 |
Wait time for action batch retries (min: 1, max: 60) |
MERAKI_EXPORTER_API__VALIDATE_KWARGS |
bool |
False |
When True, the Meraki SDK logs warnings if API methods are called with unrecognized kwargs. Recommended for dev/CI; off by default in production. |
MERAKI_EXPORTER_API__REQUESTS_PROXY |
str | None |
_(none)_ |
HTTPS proxy URL for Meraki API requests (SDK requests_proxy); when unset the requests HTTPS_PROXY/NO_PROXY env vars still apply. |
MERAKI_EXPORTER_API__CERTIFICATE_PATH |
str | None |
_(none)_ |
Path to a custom CA bundle for verifying the Meraki API TLS cert (SDK certificate_path); mount into read-only containers as a volume. |
MERAKI_EXPORTER_API__RATE_LIMIT_ENABLED |
bool |
True |
Enable client-side rate limiting to smooth API calls |
MERAKI_EXPORTER_API__RATE_LIMIT_REQUESTS_PER_SECOND |
float |
10.0 |
Target requests per second per organization (min: 1.0, max: 50.0) |
MERAKI_EXPORTER_API__RATE_LIMIT_BURST |
int |
20 |
Token bucket burst capacity per organization (min: 1, max: 100) |
MERAKI_EXPORTER_API__RATE_LIMIT_SHARED_FRACTION |
float |
0.8 |
Fraction of the org API call budget this exporter is allowed to consume. Defaults to 0.8 so ~20% headroom is left for other consumers of the same org budget (dashboards, other tools, humans); set to 1.0 to claim the whole budget (#550). (min: 0.1, max: 1.0) |
MERAKI_EXPORTER_API__RATE_LIMIT_JITTER_RATIO |
float |
0.1 |
Jitter ratio applied to client-side rate limiter waits (min: 0.0, max: 0.5) |
MERAKI_EXPORTER_API__SMOOTHING_ENABLED |
bool |
True |
Spread batch work across the collection interval |
MERAKI_EXPORTER_API__SMOOTHING_WINDOW_RATIO |
float |
0.8 |
Fraction of the collection interval used for smoothing (min: 0.1, max: 1.0) |
MERAKI_EXPORTER_API__SMOOTHING_MIN_BATCH_DELAY |
float |
1.0 |
Minimum delay between batches when smoothing (min: 0.0, max: 60.0) |
MERAKI_EXPORTER_API__SMOOTHING_MAX_BATCH_DELAY |
float |
15.0 |
Maximum delay between batches when smoothing (min: 0.0, max: 300.0) |
MERAKI_EXPORTER_API__MS_PORT_STATUS_USE_ORG_ENDPOINT |
bool |
True |
Use org-level switch port status endpoint for MS status metrics |
MERAKI_EXPORTER_API__MS_PORT_USAGE_INTERVAL |
int |
600 |
Minimum seconds between per-switch port usage/POE refreshes (min: 0, max: 3600) |
MERAKI_EXPORTER_API__MS_PACKET_STATS_INTERVAL |
int |
600 |
Minimum seconds between per-switch packet stats refreshes (min: 0, max: 3600) |
MERAKI_EXPORTER_API__CLIENT_APP_USAGE_INTERVAL |
int |
600 |
Minimum seconds between client application usage refreshes (min: 0, max: 3600) |
MERAKI_EXPORTER_API__CLIENT_SIGNAL_QUALITY_INTERVAL |
int |
600 |
Minimum seconds between per-client wireless signal-quality refreshes (min: 0, max: 3600) |
MERAKI_EXPORTER_API__CLIENT_SIGNAL_QUALITY_MAX_CLIENTS |
int |
200 |
Maximum wireless clients queried for signal quality per network per cycle (0 disables the cap). Bounds the sequential per-client API fan-out. (min: 0, max: 5000) |
MERAKI_EXPORTER_API__RETRY_AFTER_MAX_SECONDS |
int |
60 |
Upper bound (seconds) honoured for a server-sent Retry-After header when backing off a throttled (429/503) request. Caps pathological Retry-After values so a single throttled request cannot stall a collection cycle indefinitely. (min: 1, max: 3600) |
MERAKI_EXPORTER_API__EXECUTOR_WORKERS |
int |
10 |
Size of the thread pool used to run the synchronous Meraki SDK off the event loop (the asyncio.to_thread executor). Bounds the number of concurrent blocking SDK calls independently of the per-collector API concurrency limit. (min: 1, max: 100) |
MERAKI_EXPORTER_API__PER_FETCH_DEADLINE_SECONDS |
int |
120 |
Wall-clock deadline (seconds) for a single logical fetch, including all paginated page requests made under total_pages='all'. Sits between the SDK per-request timeout (see 'timeout') and the per-collector timeout so a slow bulk fetch fails fast instead of consuming the whole collector budget. (min: 1, max: 600) |
Server Settings¶
HTTP server configuration for the metrics endpoint
| Environment Variable | Type | Default | Description |
|---|---|---|---|
MERAKI_EXPORTER_SERVER__HOST |
str |
0.0.0.0 |
Host to bind the exporter to |
MERAKI_EXPORTER_SERVER__PORT |
int |
9099 |
Port to bind the exporter to (min: 1, max: 65535) |
MERAKI_EXPORTER_SERVER__API_TOKEN |
SecretStr | None |
_(none)_ |
Optional bearer token required for state-changing POST control endpoints (/api/collectors/trigger, /api/clients/clear-dns-cache). When unset (default) these endpoints are unauthenticated - bind the exporter to a trusted interface. When set, requests must present 'Authorization: Bearer |
MERAKI_EXPORTER_SERVER__UI_ENABLED |
bool |
True |
When false, sensitive GET UI/status endpoints return 404 (metrics/health/ready stay open). |
Webhook Settings¶
Webhook receiver configuration
| Environment Variable | Type | Default | Description |
|---|---|---|---|
MERAKI_EXPORTER_WEBHOOKS__ENABLED |
bool |
False |
Enable webhook receiver endpoint |
MERAKI_EXPORTER_WEBHOOKS__SHARED_SECRET |
SecretStr | None |
_(none)_ |
Shared secret for webhook validation (recommended) |
MERAKI_EXPORTER_WEBHOOKS__REQUIRE_SECRET |
bool |
True |
Require shared secret validation (disable for testing only) |
MERAKI_EXPORTER_WEBHOOKS__ALLOW_INSECURE |
bool |
False |
Explicit opt-in to run the webhook receiver enabled without require_secret; startup refuses the insecure combo unless this is true. |
MERAKI_EXPORTER_WEBHOOKS__MAX_PAYLOAD_SIZE |
int |
1048576 |
Maximum webhook payload size in bytes (min: 1024, max: 10485760) |
Webhooks are received on POST /api/webhooks/meraki when enabled.
OpenTelemetry Settings¶
OpenTelemetry observability configuration
| Environment Variable | Type | Default | Description |
|---|---|---|---|
MERAKI_EXPORTER_OTEL__ENABLED |
bool |
False |
Enable OpenTelemetry tracing |
MERAKI_EXPORTER_OTEL__ENDPOINT |
str | None |
_(none)_ |
OpenTelemetry collector endpoint (OTLP gRPC) |
MERAKI_EXPORTER_OTEL__INSECURE |
bool |
True |
Send OTLP traces over an insecure (non-TLS) channel. Set False to use TLS/system-trust-store transport to the collector endpoint. |
MERAKI_EXPORTER_OTEL__SERVICE_NAME |
str |
meraki-dashboard-exporter |
Service name for OpenTelemetry tracing |
MERAKI_EXPORTER_OTEL__SAMPLING_RATE |
float |
0.1 |
Trace sampling rate (0.0-1.0). 0 disables sampling, 1 samples every trace, values in between use ratio-based parent sampling. (min: 0.0, max: 1.0) |
MERAKI_EXPORTER_OTEL__RESOURCE_ATTRIBUTES |
dict[str, str] |
{} |
Additional resource attributes for OpenTelemetry |
MERAKI_EXPORTER_OTEL__LOGS |
OTelLogsSettings |
enabled=False endpoint=None insecure=None include_identifiers=False events=None |
OTLP data-log emitter settings (#622); independent of tracing. |
MERAKI_EXPORTER_OTEL__LOGS__ENABLED |
bool |
False |
Enable the OTLP data-log emitter for high-cardinality per-entity product data. Independent of otel.enabled (tracing). Off by default. |
MERAKI_EXPORTER_OTEL__LOGS__ENDPOINT |
str | None |
_(none)_ |
OTLP gRPC endpoint for data logs. When None, falls back to otel.endpoint. An endpoint must resolve (own or inherited) when logs.enabled is True. |
MERAKI_EXPORTER_OTEL__LOGS__INSECURE |
bool | None |
_(none)_ |
Send OTLP data logs over an insecure (non-TLS) channel. When None, inherits otel.insecure. |
MERAKI_EXPORTER_OTEL__LOGS__INCLUDE_IDENTIFIERS |
bool |
False |
PII opt-in. When False (default), the emitter drops identifier attributes (client.mac / client.hostname / client.description) from every record; only stable IDs (client.id) are emitted. Set True to include the human-readable identifiers. |
MERAKI_EXPORTER_OTEL__LOGS__EVENTS |
list[str] | None |
_(none)_ |
Per-data-class allowlist of built-in data-log event names (see DataLogEvent in core/otel_data_logs.py, e.g. "meraki.wireless.client.packet_loss"). None (default) enables all built-in events; an explicit list enables only the named events. Env: JSON array. |
MERAKI_EXPORTER_OTEL__METRICS |
OTelMetricsSettings |
enabled=False endpoint=None insecure=None export_interval_seconds=60 include='all' temporality='cumulative' |
OTLP metrics bridge settings (#313/#339); independent of tracing. |
MERAKI_EXPORTER_OTEL__METRICS__ENABLED |
bool |
False |
Enable the OTLP metrics bridge (push a periodic snapshot of the Prometheus registry via OTLP gRPC). Independent of otel.enabled (tracing) and otel.logs.enabled. Off by default; the /metrics scrape is unchanged either way. |
MERAKI_EXPORTER_OTEL__METRICS__ENDPOINT |
str | None |
_(none)_ |
OTLP gRPC endpoint for metrics. When None, falls back to otel.endpoint. Must resolve (own or inherited) when metrics.enabled is True. |
MERAKI_EXPORTER_OTEL__METRICS__INSECURE |
bool | None |
_(none)_ |
Send OTLP metrics over an insecure (non-TLS) channel. When None, inherits otel.insecure. |
MERAKI_EXPORTER_OTEL__METRICS__EXPORT_INTERVAL_SECONDS |
int |
60 |
Seconds between registry snapshots pushed via OTLP. (min: 10, max: 3600) |
MERAKI_EXPORTER_OTEL__METRICS__INCLUDE |
product | self | all |
all |
Which telemetry plane to push, keyed on the metric-name prefix split: "product" = meraki_* excluding meraki_exporter_; "self" = everything else (meraki_exporter_ plus the process/python runtime families); "all" = both. |
MERAKI_EXPORTER_OTEL__METRICS__TEMPORALITY |
cumulative |
cumulative |
Counter/histogram temporality. v1 accepts only 'cumulative' (Grafana Cloud expects cumulative; prometheus_client counters are cumulative-since-start, so this is the only faithful translation). |
MERAKI_EXPORTER_OTEL__CA_CERT_PATH |
str | None |
_(none)_ |
Path to a CA certificate (PEM) used to verify the OTLP collector's TLS certificate, shared by all three OTLP channels (traces, data logs, metrics). Paths only - no inline PEM material (#314). |
MERAKI_EXPORTER_OTEL__CLIENT_CERT_PATH |
str | None |
_(none)_ |
Path to a client certificate (PEM) for mTLS to the OTLP collector, shared by all three OTLP channels. Must be set together with client_key_path (#314). |
MERAKI_EXPORTER_OTEL__CLIENT_KEY_PATH |
str | None |
_(none)_ |
Path to a client private key (PEM) for mTLS to the OTLP collector, shared by all three OTLP channels. Must be set together with client_cert_path (#314). |
Monitoring Settings¶
Internal monitoring and alerting configuration
| Environment Variable | Type | Default | Description |
|---|---|---|---|
MERAKI_EXPORTER_MONITORING__MAX_CONSECUTIVE_FAILURES |
int |
10 |
Maximum consecutive failures before alerting (min: 1, max: 100) |
MERAKI_EXPORTER_MONITORING__HISTOGRAM_BUCKETS |
list[float] |
[0.1, 0.5, 1.0, 2.5, 5.0, 10.0, 30.0, 60.0, 120.0, 300.0] |
Histogram buckets for collector duration metrics |
MERAKI_EXPORTER_MONITORING__LICENSE_EXPIRATION_WARNING_DAYS |
int |
30 |
Days before license expiration to start warning (min: 7, max: 90) |
MERAKI_EXPORTER_MONITORING__METRIC_TTL_MULTIPLIER |
float |
2.0 |
Multiplier for metric TTL (collection_interval * multiplier) (min: 1.0, max: 10.0) |
MERAKI_EXPORTER_MONITORING__MAX_CARDINALITY_PER_COLLECTOR |
int |
10000 |
Maximum number of tracked label sets per collector before shedding oldest (min: 100, max: 1000000) |
MERAKI_EXPORTER_MONITORING__LIVENESS_MAX_STALE_SECONDS |
int |
0 |
Dead-man switch threshold. /health returns 503 once no collector has completed a successful run within this many seconds, so Kubernetes/Docker restart a wedged exporter instead of leaving it serving stale metrics. 0 (default) auto-derives the threshold as 3x the fastest solved endpoint-group interval, so a stalled fast poll trips liveness promptly while slower groups never cause false positives (the threshold widens automatically as the scheduler stretches intervals). Set a large value to effectively disable. (min: 0, max: 86400) |
Collector Settings¶
Enable/disable specific metric collectors
| Environment Variable | Type | Default | Description |
|---|---|---|---|
MERAKI_EXPORTER_COLLECTORS__ENABLED_COLLECTORS |
set[str] |
["alerts", "clients", "config", "device", "insight", "mtsensor", "mtsensoralerts", "networkhealth", "organization"] |
Enabled collector names |
MERAKI_EXPORTER_COLLECTORS__DISABLE_COLLECTORS |
set[str] |
[] |
Explicitly disabled collectors (overrides enabled) |
MERAKI_EXPORTER_COLLECTORS__COLLECTOR_TIMEOUT |
int |
240 |
Timeout for individual collector runs in seconds (min: 30, max: 600) |
MERAKI_EXPORTER_COLLECTORS__MAX_CONCURRENT_COLLECTORS |
int |
5 |
Max number of collectors whose group-clocked loops may be executing a run concurrently, GLOBALLY (single shared semaphore; replaces the old per-tier concurrency knobs). This bounds how many collectors run at once; it is distinct from api.concurrency_limit, which bounds the fan-out breadth INSIDE one collector. The two compose: up to max_concurrent_collectors collectors run, each fanning out up to api.concurrency_limit sub-requests (#636). (min: 1, max: 50) |
MERAKI_EXPORTER_COLLECTORS__COLLECT_AP_SIGNAL_QUALITY |
bool |
True |
Collect per-AP wireless signal quality (RSSI/SNR). Costs ONE API call per selected AP per cycle (hourly cadence; no bulk endpoint exists). Scope the fan-out with ap_signal_quality_tags, or disable entirely. |
MERAKI_EXPORTER_COLLECTORS__AP_SIGNAL_QUALITY_TAGS |
list[str] |
[] |
Meraki device tags scoping AP signal-quality collection. Empty = all APs; non-empty = only APs carrying at least one of these tags (CSV or JSON array). |
MERAKI_EXPORTER_COLLECTORS__COLLECT_INSIGHT |
bool |
False |
Enable the Meraki Insight collector (license-gated WAN/application health). Off by default; degrades to a debug-level skip when the org lacks Insight. |
MERAKI_EXPORTER_COLLECTORS__INSIGHT_APP_HEALTH_ENABLED |
bool |
True |
When collect_insight is on, also fan out per-network application health (one call per network x monitored application per cycle). |
Client Settings¶
Client data collection and DNS resolution settings
| Environment Variable | Type | Default | Description |
|---|---|---|---|
MERAKI_EXPORTER_CLIENTS__ENABLED |
bool |
False |
Enable client data collection |
MERAKI_EXPORTER_CLIENTS__DNS_TIMEOUT |
float |
5.0 |
DNS lookup timeout in seconds (min: 0.5, max: 10.0) |
MERAKI_EXPORTER_CLIENTS__DNS_CACHE_TTL |
int |
21600 |
DNS cache TTL in seconds (default: 6 hours) (min: 300, max: 86400) |
MERAKI_EXPORTER_CLIENTS__DNS_CACHE_MAX_ENTRIES |
int |
100000 |
Maximum number of reverse-DNS cache entries (and per-client IP-tracking entries) held in memory. When exceeded, expired entries are pruned first, then the oldest entries are evicted so RSS stays bounded under sustained client churn (#543). (min: 1000, max: 5000000) |
MERAKI_EXPORTER_CLIENTS__CACHE_TTL |
int |
3600 |
Client cache TTL in seconds (for ID/hostname mappings, not metrics) (min: 300, max: 86400) |
MERAKI_EXPORTER_CLIENTS__MAX_CLIENTS_PER_NETWORK |
int |
10000 |
Maximum clients to track per network (min: 100, max: 50000) |
MERAKI_EXPORTER_CLIENTS__MAX_CLIENTS_TOTAL |
int |
25000 |
Global cap on clients emitted as metric series across ALL networks per collection cycle. Clients beyond the cap are dropped from metric emission with a warning and counted in meraki_exporter_clients_over_cap. (min: 100, max: 1000000) |
MERAKI_EXPORTER_CLIENTS__SIGNAL_QUALITY_ENABLED |
bool |
False |
Enable per-client wireless signal quality (RSSI/SNR) collection. Costs one API call per wireless client per cycle (interval-gated); prohibitively expensive at scale, so disabled by default. |
Cardinality Settings¶
Metric cardinality guard (series-per-family caps and shedding)
| Environment Variable | Type | Default | Description |
|---|---|---|---|
MERAKI_EXPORTER_CARDINALITY__MAX_SERIES_PER_FAMILY |
int |
50000 |
Maximum number of active time series permitted per metric family (metric name). When a family exceeds this, action decides what happens. (min: 100, max: 10000000) |
MERAKI_EXPORTER_CARDINALITY__ACTION |
warn | drop |
warn |
What to do when a metric family exceeds max_series_per_family: 'warn' logs and keeps emitting; 'drop' stops emitting new series for that family. |
MERAKI_EXPORTER_CARDINALITY__DISABLED_METRICS |
set[str] |
[] |
Metric family names to disable entirely (never emitted). Accepts a comma-separated string or a JSON array via env (MERAKI_EXPORTER_CARDINALITY__DISABLED_METRICS=a,b,c). |
MERAKI_EXPORTER_CARDINALITY__MONITOR_INTERVAL_SECONDS |
int |
300 |
How often (seconds) the cardinality monitor samples the registry. (min: 10, max: 3600) |
MERAKI_EXPORTER_CARDINALITY__MONITOR_MAX_LABEL_VALUES |
int |
100 |
Maximum distinct values retained per label when the cardinality monitor tracks label-value breakdowns, bounding the monitor's own memory. (min: 1, max: 100000) |
Scheduler Settings¶
Adaptive budget-aware endpoint scheduler (AIMD, stretch, resolve cadence)
| Environment Variable | Type | Default | Description |
|---|---|---|---|
MERAKI_EXPORTER_SCHEDULER__MODE |
adaptive | fixed |
adaptive |
'adaptive' (default): solver stretches endpoint-group intervals to fit the API budget. 'fixed': floors/pins only, no stretching, no AIMD (transition fallback). |
MERAKI_EXPORTER_SCHEDULER__TARGET_UTILIZATION |
float |
0.7 |
Fraction of the effective budget the solver plans to; headroom absorbs bursts. (min: 0.1, max: 1.0) |
MERAKI_EXPORTER_SCHEDULER__MAX_STRETCH_FACTOR |
float |
4.0 |
Per-group interval cap as a multiple of its volatility floor. (min: 1.0, max: 16.0) |
MERAKI_EXPORTER_SCHEDULER__MAX_INTERVAL_SECONDS |
int |
3600 |
Absolute per-group interval cap. (min: 300, max: 86400) |
MERAKI_EXPORTER_SCHEDULER__RESOLVE_INTERVAL_SECONDS |
int |
900 |
How often the solver recomputes from org shape (matches inventory TTL). (min: 60, max: 86400) |
MERAKI_EXPORTER_SCHEDULER__FAILURE_RETRY_SECONDS |
int |
300 |
After a group's fetch fails (its gate is left open), wait at least this long before re-attempting it, instead of hot-looping. Reproduces the old ~300s failed-fetch retry cadence for every group regardless of floor. (min: 30, max: 3600) |
MERAKI_EXPORTER_SCHEDULER__AIMD_ENABLED |
bool |
True |
429/Retry-After budget feedback (adaptive mode only). |
MERAKI_EXPORTER_SCHEDULER__AIMD_BACKOFF_MULTIPLIER |
float |
0.5 |
(min: 0.1, max: 0.9) |
MERAKI_EXPORTER_SCHEDULER__AIMD_RECOVERY_RPS_PER_MINUTE |
float |
0.1 |
(min: 0.01, max: 5.0) |
MERAKI_EXPORTER_SCHEDULER__AIMD_RESOLVE_HYSTERESIS |
float |
0.2 |
(min: 0.05, max: 1.0) |
MERAKI_EXPORTER_SCHEDULER__GROUP_INTERVAL_OVERRIDES |
dict[str, int] |
{} |
Per-group interval pins, e.g. {"nh_connection_stats": 900}. Pinned groups are excluded from solver stretching. Env: JSON object. |
Network Filter Settings¶
Restrict which networks are scraped by name glob, ID, or tag
| Environment Variable | Type | Default | Description |
|---|---|---|---|
MERAKI_EXPORTER_NETWORK_FILTER__INCLUDE_NAMES |
list[str] |
[] |
Network name globs to include. Supports * and ? wildcards. |
MERAKI_EXPORTER_NETWORK_FILTER__INCLUDE_IDS |
list[str] |
[] |
Exact network IDs (e.g. L_xxx) to include. |
MERAKI_EXPORTER_NETWORK_FILTER__INCLUDE_TAGS |
list[str] |
[] |
Network tags to include. A network matches if it carries any of these tags. |
MERAKI_EXPORTER_NETWORK_FILTER__EXCLUDE_NAMES |
list[str] |
[] |
Network name globs to exclude. Applied AFTER includes. |
MERAKI_EXPORTER_NETWORK_FILTER__EXCLUDE_IDS |
list[str] |
[] |
Exact network IDs to exclude. |
MERAKI_EXPORTER_NETWORK_FILTER__EXCLUDE_TAGS |
list[str] |
[] |
Network tags to exclude. |
All fields default to empty, which leaves the filter inactive (every network in every configured org is scraped). If any INCLUDE_* field is set, a network must match at least one include rule (by name, ID, or tag) to be considered; exclude rules are applied afterward and always win. Name fields (INCLUDE_NAMES/EXCLUDE_NAMES) are case-sensitive glob patterns (*/?). Values are comma-separated lists (or a JSON array string).