About this project

ServiceRadar is a distributed network monitoring system designed for infrastructure and services in hard-to-reach places or constrained environments. It provides real-time monitoring of internal services with cloud-based alerting to ensure you stay informed even during network or power outages. ## Features - **Distributed Architecture**: Multi-component design (Agent, Gateway, Core) for flexible edge deployments. - **WASM Plugin System**: Securely extend monitoring with custom checks in Go or Rust. Runs in a hardware-level sandbox with zero local dependencies and proxied networking. - **Topology**: GPU-native topology engine capable of rendering millions of interactive nodes and edges at 60fps via deck.gl, Apache Arrow for zero-copy streaming, and WASM-native logic layer. - **Custom React Dashboards**: Build powerful, data-driven dashboards with the Dashboard SDK, supporting SRQL-backed data frames and hot module reloading. - **Causal Engine**: Real-time triage and isolation via DeepCausality (Rust) to identify root causes and visually isolate an event's blast radius in microseconds. - **Anomaly Engine**: Scores numeric time series at the edge and in core, providing durable alerts instead of noisy per-sample alarms. - **SRQL**: Intuitive key:value syntax for querying time-series and relational data. - **Unified Data Layer**: Powered by CloudNativePG, TimescaleDB, PGVector, and Dgraph. - **Monitoring & Observability**: Support for ICMP/TCP checks, OTEL, GELF, Syslog, SNMP, BGP, and NetFlow. - **Notifications**: Alerts via routes, escalation policies, and channels (Slack, Discord, email, webhooks). - **Ansible Automation**: Run AWX/AAP playbooks against inventory devices with live per-host run telemetry. - **Security**: Hardened with mTLS, RBAC, SSO integration, signed binaries and WASM plugins, and included SBOMs. ## Architecture 1. **Agent**: Lightweight Go service on monitored hosts; manages WASM execution and local collection. 2. **Agent-Gateway**: Ingestion point that receives gRPC streams from edge agents. 3. **Core (core-elx)**: Control plane (Elixir/Phoenix/Ash) for orchestration, ERTS, and job scheduling. 4. **Web UI (web-ng)**: Real-time LiveView dashboard and APIs for configuration and visualization. 5. **NATS**: NATS JetStream message broker for bulk ingestion streams. 6. **Collectors**: Collect bulk data such as netflow, logs, and SNMP.