- SNMPCollector implements poller.Collector interface - Profile-driven OID collection: scalars via Get, tables via Walk/BulkWalk - BulkWalk wrapped in withTimeout to prevent indefinite hangs - SNMPv1 uses Walk, v2c/v3 uses BulkWalk (MaxRepetitions=10) - Safety valve: walkTable aborts at 10,000 PDUs per walk - Counter delta computation via CounterCache for rate metrics - Standard metrics routed to DeviceMetricsEvent (interfaces, health) - Custom metrics routed to SNMPMetricsEvent (snmp_custom) - DeviceStatusEvent published with online/offline status - Each poll group collects independently (partial failure tolerant) - Credential resolution via GetRawCredentials + ParseSNMPCredentials - ifXTable Counter64 data supersedes ifTable Counter32 via PreferOver - ssCpuIdle invert_percent transform for CPU load fallback Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
14 KiB
14 KiB