ArangoDB - MVP #284

Closed
opened 2026-03-28 04:23:05 +00:00 by mfreeman451 · 1 comment
Owner

Imported from GitHub.

Original GitHub issue: #787
Original author: @mfreeman451
Original URL: https://github.com/carverauto/serviceradar/issues/787
Original created: 2025-05-16T02:39:12Z


Implementation: ServiceRadar Hybrid Data Organization and Relationship Modeling

Overview

This issue tracks the implementation of the ServiceRadar hybrid data organization and relationship modeling feature, as outlined in the ADR dated 2025-05-15.

Background

ServiceRadar currently lacks sophisticated mechanisms to express rich relationships between devices and enable advanced data correlation. The proposed solution is a hybrid architecture using Timeplus Proton for real-time data ingestion/streaming and ArangoDB for graph-based relationship modeling, following a phased implementation approach over 14 weeks.

Implementation Schedule

Phase 1: Data Foundation (4 weeks)

  • #789
  • Modify SNMP checkers/pollers to populate these new streams
  • Implement metadata enrichment (target_device_ip, ifIndex) in timeseries_metrics
  • #849
  • Create tests for data flow into Proton streams

Phase 2: ArangoDB Integration (3 weeks)

  • Set up ArangoDB instance(s) with security configurations
  • Define schemas for all vertex and edge collections:
    • Vertices: Devices, Interfaces, Collections
    • Edges: DeviceHasInterface, DeviceToDevice, DeviceToCollection, InterfaceToCollection
  • Develop serviceradar-arangodb-sync service with synchronization for:
    • devices (Proton) → Devices (ArangoDB)
    • discovered_interfaces (Proton) → Interfaces & DeviceHasInterface (ArangoDB)
    • topology_discovery_events (Proton) → DeviceToDevice (ArangoDB)
  • Test synchronization between Proton and ArangoDB

Phase 3: Correlation API and SRQL v1 (3 weeks)

  • Develop API endpoints for device details with interfaces from ArangoDB
  • Implement initial SRQL support for querying devices and interfaces
  • Build NetFlow-SNMP correlation logic
  • Create new API endpoints for correlation data
  • Test correlation queries with sample data

Phase 4: Advanced SRQL and UI (2 weeks)

  • Extend SRQL for topology queries and advanced correlations
  • Develop API endpoints for topology visualization
  • Build UI components with vis.js for topology maps
  • Implement dashboards for correlated NetFlow-SNMP data
  • Test end-to-end functionality

Phase 5: Optimization and Hardening (2 weeks)

  • Performance testing with 10,000+ devices and relationships
  • Optimize ArangoDB sync service
  • Optimize ArangoDB queries with appropriate indexes
  • Optimize Proton streams and query performance
  • Conduct security review and hardening
  • Update documentation

Technical Requirements

Proton Stream Schemas

  • New discovered_interfaces stream to track device interfaces
  • New topology_discovery_events stream for network topology data
  • Enhanced metadata for existing streams

ArangoDB Collections

  • Vertex collections for devices, interfaces, and data collections
  • Edge collections for modeling relationships between entities
  • Synchronization service to populate from Proton streams

SRQL Enhancements

  • Support for contextual, correlation, and topology queries
  • New JOIN and PATH clauses for advanced correlations

API and UI

  • New endpoints for topology and correlation data
  • Topology visualization using vis.js
  • Dashboards for correlated metrics

Documentation Deliverables

  • Update docs/docs/architecture.md with hybrid model
  • Add docs/docs/topology.md for topology-aware monitoring
  • Add docs/docs/correlation.md for correlation examples
  • Update docs/docs/srql.md with new syntax
  • Create deployment guides for ArangoDB and sync service
  • PRD-02: Topology-Aware Monitoring
  • PRD-03: Real-Time Monitoring with Proton
  • PRD-04: Device Management System
  • PRD-05: Agent Device Caching & Reporting
  • PRD-01: NetFlow Integration

Resources

  • ArangoDB documentation: [link]
  • Timeplus Proton documentation: [link]
  • ServiceRadar architecture diagrams: [link]

Assignees

@mfreeman (lead)
[Add additional team members]

Labels

feature, enhancement, serviceradar, topology, correlation, graphdb, arangodb, proton

Estimated Completion

Target completion date: [Current date + 14 weeks]

Imported from GitHub. Original GitHub issue: #787 Original author: @mfreeman451 Original URL: https://github.com/carverauto/serviceradar/issues/787 Original created: 2025-05-16T02:39:12Z --- # Implementation: ServiceRadar Hybrid Data Organization and Relationship Modeling ## Overview This issue tracks the implementation of the ServiceRadar hybrid data organization and relationship modeling feature, as outlined in the ADR dated 2025-05-15. ## Background ServiceRadar currently lacks sophisticated mechanisms to express rich relationships between devices and enable advanced data correlation. The proposed solution is a hybrid architecture using Timeplus Proton for real-time data ingestion/streaming and ArangoDB for graph-based relationship modeling, following a phased implementation approach over 14 weeks. ## Implementation Schedule ### Phase 1: Data Foundation (4 weeks) - [x] #789 - [x] Modify SNMP checkers/pollers to populate these new streams - [x] Implement metadata enrichment (`target_device_ip`, `ifIndex`) in `timeseries_metrics` - [x] #849 - [ ] Create tests for data flow into Proton streams ### Phase 2: ArangoDB Integration (3 weeks) - [ ] Set up ArangoDB instance(s) with security configurations - [ ] Define schemas for all vertex and edge collections: - [ ] Vertices: `Devices`, `Interfaces`, `Collections` - [ ] Edges: `DeviceHasInterface`, `DeviceToDevice`, `DeviceToCollection`, `InterfaceToCollection` - [ ] Develop `serviceradar-arangodb-sync` service with synchronization for: - [ ] `devices` (Proton) → `Devices` (ArangoDB) - [ ] `discovered_interfaces` (Proton) → `Interfaces` & `DeviceHasInterface` (ArangoDB) - [ ] `topology_discovery_events` (Proton) → `DeviceToDevice` (ArangoDB) - [ ] Test synchronization between Proton and ArangoDB ### Phase 3: Correlation API and SRQL v1 (3 weeks) - [ ] Develop API endpoints for device details with interfaces from ArangoDB - [ ] Implement initial SRQL support for querying devices and interfaces - [ ] Build NetFlow-SNMP correlation logic - [ ] Create new API endpoints for correlation data - [ ] Test correlation queries with sample data ### Phase 4: Advanced SRQL and UI (2 weeks) - [ ] Extend SRQL for topology queries and advanced correlations - [ ] Develop API endpoints for topology visualization - [ ] Build UI components with vis.js for topology maps - [ ] Implement dashboards for correlated NetFlow-SNMP data - [ ] Test end-to-end functionality ### Phase 5: Optimization and Hardening (2 weeks) - [ ] Performance testing with 10,000+ devices and relationships - [ ] Optimize ArangoDB sync service - [ ] Optimize ArangoDB queries with appropriate indexes - [ ] Optimize Proton streams and query performance - [ ] Conduct security review and hardening - [ ] Update documentation ## Technical Requirements ### Proton Stream Schemas - New `discovered_interfaces` stream to track device interfaces - New `topology_discovery_events` stream for network topology data - Enhanced metadata for existing streams ### ArangoDB Collections - Vertex collections for devices, interfaces, and data collections - Edge collections for modeling relationships between entities - Synchronization service to populate from Proton streams ### SRQL Enhancements - Support for contextual, correlation, and topology queries - New JOIN and PATH clauses for advanced correlations ### API and UI - New endpoints for topology and correlation data - Topology visualization using vis.js - Dashboards for correlated metrics ## Documentation Deliverables - [ ] Update `docs/docs/architecture.md` with hybrid model - [ ] Add `docs/docs/topology.md` for topology-aware monitoring - [ ] Add `docs/docs/correlation.md` for correlation examples - [ ] Update `docs/docs/srql.md` with new syntax - [ ] Create deployment guides for ArangoDB and sync service ## Related Documents - PRD-02: Topology-Aware Monitoring - PRD-03: Real-Time Monitoring with Proton - PRD-04: Device Management System - PRD-05: Agent Device Caching & Reporting - PRD-01: NetFlow Integration ## Resources - ArangoDB documentation: [link] - Timeplus Proton documentation: [link] - ServiceRadar architecture diagrams: [link] ## Assignees @mfreeman (lead) [Add additional team members] ## Labels `feature`, `enhancement`, `serviceradar`, `topology`, `correlation`, `graphdb`, `arangodb`, `proton` ## Estimated Completion Target completion date: [Current date + 14 weeks]
Author
Owner

Imported GitHub comment.

Original author: @mfreeman451
Original URL: https://github.com/carverauto/serviceradar/issues/787#issuecomment-3056142338
Original created: 2025-07-10T07:52:36Z


closing, not planned anymore, arangodb is under BSL

Imported GitHub comment. Original author: @mfreeman451 Original URL: https://github.com/carverauto/serviceradar/issues/787#issuecomment-3056142338 Original created: 2025-07-10T07:52:36Z --- closing, not planned anymore, arangodb is under BSL
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
carverauto/serviceradar#284
No description provided.