Skip to content

carverauto/serviceradar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Website Demo Apache 2.0 License

ServiceRadar

Screenshot 2025-08-03 at 12 15 47 AM

CI Go Linter Web Linter Go Tests Rust Tests

CNCF Landscape FOSSA Status OpenSSF Best Practices CLA assistant Ask DeepWiki

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 capabilities to ensure you stay informed even during network or power outages.

Features

  • Real-time Monitoring: Monitor services and infrastructure in hard-to-reach places
  • Distributed Architecture: Components can be installed across different hosts to suit your needs
  • SRQL: ServiceRadar Query Language -- intuitive key:value syntax for querying data
  • Unified Data Layer: Powered by CloudNativePG, TimescaleDB, and Apache AGE for relational, time-series, and graph data
  • Observability: Collect metrics, logs and traces (OTEL, GELF, Syslog), SNMP (polling or traps), NetFlow (coming soon), RPerf (iperf3-clone), BGP (BMP collector planned), gNMI (planned)
  • Graph Network Mapper: Advanced discovery engine using Apache AGE to map devices, interfaces, and topology relationships via SNMP/LLDP/CDP
  • Security: Components secured with mTLS via SPIFFE. RBAC for services (cert-based) and UI, and SSO integration
  • Rule Engine: Blazing fast rust-based rule processing engine
  • Specialized Monitoring: Support for specific node types like Dusk Network nodes

Quick Installation

Docker Compose (Recommended)

Get ServiceRadar running in under 5 minutes with Docker Compose:

# Clone and start
git clone https://github.com/carverauto/serviceradar.git
cd serviceradar
cp .env.example .env
docker compose up -d

# Get your admin password
docker compose logs config-updater | grep "Password:"

Access ServiceRadar: http://localhost (login: admin / password from above)

Prerequisites: Docker Engine 20.10+, Docker Compose 2.0+, 8GB+ RAM

For OS-specific setup instructions (AlmaLinux, Ubuntu, macOS), see README-Docker.md.

For detailed installation options and component-specific deployments, see INSTALL.md.

Architecture Overview

ServiceRadar (SR) uses a distributed architecture with four main components:

  1. Agent - Runs on monitored hosts, provides service status through gRPC
  2. Poller - Coordinates monitoring activities, can run anywhere in your network
  3. Core Service - Receives reports from pollers, provides API, and sends alerts
  4. Web UI - Provides a modern dashboard interface with Nginx as a reverse proxy

Docker Deployment

ServiceRadar provides a complete Docker Compose stack with mTLS security, automatic certificate generation, and all components pre-configured.

Services Included

  • Database - PostgreSQL with TimescaleDB (metrics) and Apache AGE (graph topology)
  • Core API - Main ServiceRadar API and business logic
  • Web UI - Modern React-based dashboard with Nginx reverse proxy
  • Agent & Poller - Distributed monitoring services
  • Observability - OTEL collector, syslog (flowgger), SNMP traps
  • Network Discovery - SNMP/LLDP network mapping
  • Kong Gateway - API gateway with JWT authentication

Common Commands

docker compose ps                    # View service status
docker compose logs -f core          # Follow logs for a service
docker compose restart core          # Restart a service
docker compose down                  # Stop all services

Custom Configuration

# Create an override file for customizations
cp docker-compose.yml docker-compose.override.yml
vim docker-compose.override.yml
docker compose -f docker-compose.yml -f docker-compose.override.yml up -d

See README-Docker.md for detailed Docker setup and troubleshooting.

Performance

ServiceRadar utilizes a modern PostgreSQL ecosystem to deliver robust performance across different data types. By leveraging TimescaleDB for high-cardinality time-series ingestion and Apache AGE for complex graph traversals, ServiceRadar efficiently correlates network topology with performance metrics in real-time. This architecture ensures scalable storage and fast query execution for both historical analysis and live network mapping.

Documentation

For detailed information on installation, configuration, and usage, please visit our documentation site:

https://docs.serviceradar.cloud

Documentation topics include:

  • Detailed installation instructions
  • Configuration guides
  • Security setup (mTLS)
  • SNMP polling configuration
  • Network scanning
  • Dusk node monitoring
  • And more...

Try it

Connect to our live-system. This instance is part of our continuous-deployment system and may contain previews of upcoming builds or features, or may not work at all.

https://demo.serviceradar.cloud (admin:rb8pDYNLRDeT)

Contributing

Contributions are welcome! Please feel free to submit a Pull Request. Join our Discord!

License

This project is licensed under the Apache 2.0 License - see the LICENSE file for details.