snmp-exporterlisted
Install: claude install-skill air-gapped/skills
# snmp_exporter best practices
snmp_exporter is a **multi-target proxy**: one central instance walks SNMP on
many devices; Prometheus tells it what to scrape per request via URL params
(`/snmp?target=<ip>&module=<m1,m2>&auth=<name>`). Everything below assumes
v0.30.x. The generator and exporter versions **must match** — a config generated
by a different version can fail to load. Pin both in CI.
This skill ends where the metrics land in Prometheus. Querying them, writing
the PromQL, and building the dashboards or alerts on top belong to the
**`prometheus-mimir-grafana`** skill (same `observability` plugin); shipping
them to long-term storage is **`mimir-upgrade`** territory.
## Golden rules
1. **Never walk a whole vendor enterprise subtree.** Full-tree walks are the #1
cause of multi-minute scrapes, device-CPU exhaustion, and even crashed SNMP
agents (Cisco documents this for CBS; iDRAC full walks take 2–5 min;
Onyx serves all management through one easily-overloaded daemon). Walk the
specific tables worth alerting on — a curated module is typically 10–100×
smaller. Measured here: Cisco CBS full-tree = 4034 metrics vs curated = 63.
2. **Compose modules per scrape instead of duplicating walks.** Since v0.24 one
scrape can request `module=if_mib,vendor_health`. Keep vendor modules
health-only and reuse the stock `if_mib`, `system`, `hrDevice`, `hrStorage`
modules for interfaces/uptime/CPU/memory. `sysUpTime` lives in `system`
(moved out of `if_mib`