Discovery/Mapping (SNMP/CDP/LLDP) #287
Labels
No labels
1week
2weeks
Failed compliance check
IP cameras
NATS
Possible security concern
Review effort 1/5
Review effort 2/5
Review effort 3/5
Review effort 4/5
Review effort 5/5
UI
aardvark
accessibility
amd64
api
arm64
auth
back-end
bgp
blog
bug
build
checkers
ci-cd
cleanup
cnpg
codex
core
dependencies
device-management
documentation
duplicate
dusk
ebpf
enhancement
eta 1d
eta 1hr
eta 3d
eta 3hr
feature
fieldsurvey
github_actions
go
good first issue
help wanted
invalid
javascript
k8s
log-collector
mapper
mtr
needs-triage
netflow
network-sweep
observability
oracle
otel
plug-in
proton
python
question
reddit
redhat
research
rperf
rperf-checker
rust
sdk
security
serviceradar-agent
serviceradar-agent-gateway
serviceradar-web
serviceradar-web-ng
siem
snmp
sysmon
topology
ubiquiti
wasm
wontfix
zen-engine
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
carverauto/serviceradar#287
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Imported from GitHub.
Original GitHub issue: #792
Original author: @mfreeman451
Original URL: https://github.com/carverauto/serviceradar/issues/792
Original created: 2025-05-16T03:31:04Z
Implement Discovery Engine for ServiceRadar
Overview
Implement an discovery engine that probes network devices using SNMP to gather detailed information about devices, interfaces, and interconnections. This component will publish discovered data to Timeplus Proton streams for eventual ingestion into ArangoDB's network knowledge graph.
Requirements
Core Functionality
Implement SNMP communication module using
gosnmplibrary:Create seeding mechanism:
Build data collection core:
#802
sweep_resultsstream withdiscovery_source='snmp_discovery'discovered_interfacesstreamtopology_discovery_eventsstreamConfiguration Management
Engine Operation
Error Handling and Logging
Technical Details
Project Structure
Data Models
Implement structures that match these Proton stream schemas:
sweep_resultsstream:discovered_interfacesstream:topology_discovery_eventsstream:SNMP OIDs to Query
System Information:
sysDescr: '1.3.6.1.2.1.1.1.0'sysObjectID: '1.3.6.1.2.1.1.2.0'sysName: '1.3.6.1.2.1.1.5.0'sysUpTime: '1.3.6.1.2.1.1.3.0'sysContact: '1.3.6.1.2.1.1.4.0'sysLocation: '1.3.6.1.2.1.1.6.0'Interface Information:
ifIndex: '1.3.6.1.2.1.2.2.1.1'ifDescr: '1.3.6.1.2.1.2.2.1.2'ifName: '1.3.6.1.2.1.31.1.1.1.1'ifAlias: '1.3.6.1.2.1.31.1.1.1.18'ifType: '1.3.6.1.2.1.2.2.1.3'ifSpeed: '1.3.6.1.2.1.2.2.1.5'ifPhysAddress: '1.3.6.1.2.1.2.2.1.6'ifAdminStatus: '1.3.6.1.2.1.2.2.1.7'ifOperStatus: '1.3.6.1.2.1.2.2.1.8'IP Address Information:
ipAdEntAddr: '1.3.6.1.2.1.4.20.1.1'ipAdEntIfIndex: '1.3.6.1.2.1.4.20.1.2'ipAdEntNetMask: '1.3.6.1.2.1.4.20.1.3'LLDP Information:
lldpLocPortId: '1.0.8802.1.1.2.1.3.7.1.3'lldpLocSysName: '1.0.8802.1.1.2.1.3.3.0'lldpRemChassisId: '1.0.8802.1.1.2.1.4.1.1.5'lldpRemPortId: '1.0.8802.1.1.2.1.4.1.1.7'lldpRemPortDesc: '1.0.8802.1.1.2.1.4.1.1.8'lldpRemSysName: '1.0.8802.1.1.2.1.4.1.1.9'lldpRemSysDesc: '1.0.8802.1.1.2.1.4.1.1.10'lldpRemManAddr: '1.0.8802.1.1.2.1.4.2.1.3'CDP Information:
cdpCacheAddress: '1.3.6.1.4.1.9.9.23.1.2.1.1.4'cdpCacheVersion: '1.3.6.1.4.1.9.9.23.1.2.1.1.5'cdpCacheDeviceId: '1.3.6.1.4.1.9.9.23.1.2.1.1.6'cdpCacheDevicePort: '1.3.6.1.4.1.9.9.23.1.2.1.1.7'cdpCachePlatform: '1.3.6.1.4.1.9.9.23.1.2.1.1.8'Implementation Details
Configuration:
Engine Operation Workflow:
Concurrency Model:
Error Handling:
Testing Strategy
Dependencies
Acceptance Criteria
Related Documentation
Next Steps
After completion, consider these enhancements:
Imported GitHub comment.
Original author: @mfreeman451
Original URL: https://github.com/carverauto/serviceradar/issues/792#issuecomment-2919682807
Original created: 2025-05-29T15:02:46Z
closing this out as completed will address the snmpv3 stuff later