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.
- 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
The fastest way to get ServiceRadar running is with Docker Compose. This deploys the complete stack including the database, web UI, and all monitoring services.
Prerequisites:
- Docker and Docker Compose installed
- 8GB+ available RAM
- Ports 80, 8090, 5423 available
# Clone the repository
git clone https://github.com/carverauto/serviceradar.git
cd serviceradar
# Start all services
docker-compose up -d
# Check status
docker-compose ps
# Bring up Kong API Gateway + NGINX
docker compose up -d nginx kong
# View logs
docker-compose logs -f web
# Get Random Generated Admin Password
docker-compose logs config-updaterAccess ServiceRadar:
- Web UI: http://localhost (login: admin / randomPW)
Stop Services:
docker-compose downFor detailed installation options including component-specific deployments and optional checkers, see INSTALL.md.
ServiceRadar (SR) uses a distributed architecture with four main components:
- Agent - Runs on monitored hosts, provides service status through gRPC
- Poller - Coordinates monitoring activities, can run anywhere in your network
- Core Service - Receives reports from pollers, provides API, and sends alerts
- Web UI - Provides a modern dashboard interface with Nginx as a reverse proxy
ServiceRadar provides a complete Docker Compose stack with all components pre-configured and ready to run.
The Docker Compose deployment includes:
- Unified Database - PostgreSQL managed by CloudNativePG with TimescaleDB (metrics) and Apache AGE (graph topology) extensions
- Core API - Main ServiceRadar API and business logic
- API Gateway - Polyglot APIs or Bring Your Own API, easily extend SR
- Web UI - Modern React-based dashboard
- Nginx - Reverse proxy and load balancer
- Agent - Host monitoring service
- Poller - Network and service polling coordinator
- Sync Service - Data synchronization between integrations (Armis, NetBox, etc.)
- Data Svc (Messaging, KV, and Object Store) - Configuration and state management
- Observability Stack - OTEL, logging, and telemetry collection
- Network Discovery - SNMP/LLDP network mapping
- Performance Testing - Built-in network performance monitoring
To customize the deployment:
# Copy and modify configuration files
cp docker-compose.yml docker-compose.override.yml
# Edit configuration as needed
vim docker-compose.override.yml
# Deploy with custom config
docker-compose -f docker-compose.yml -f docker-compose.override.yml up -dServiceRadar 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.
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...
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)
Contributions are welcome! Please feel free to submit a Pull Request. Join our Discord!
This project is licensed under the Apache 2.0 License - see the LICENSE file for details.