Monitoring and information service for the ePIC streaming workflow testbed.
The application is built on Django infrastructure and comprises two main web apps, real-time messaging, and PostgreSQL backend.
-
Monitor App (
monitor_app): Primary user-facing component- Browser UI: Server-side rendered dashboard for viewing agent statuses with Django session authentication
- REST API: Programmatic interface with token-based authentication and OpenAPI schema
-
MCP App (
mcp_app): Real-time communication layer- REST Endpoints: HTTP alternative to WebSocket for MCP commands
-
ActiveMQ Integration: Built-in message queue connectivity
- Automatic Listening: Connects to ActiveMQ automatically when Django starts
- SSE REST Forwarding: Server-Sent Events streaming of ActiveMQ messages via HTTPS
-
PostgreSQL Database: Data store for all persistent system information including agents, logs, runs, STF files, FastMon files, workflows, and application state
- 🖥️ Real-time Dashboard - Agent status monitoring with live updates
- 🔗 REST API - Complete CRUD operations with OpenAPI documentation
- 🔄 MCP REST API - Model Control Protocol endpoints for agent communication
- 📡 SSE Message Streaming - Real-time ActiveMQ message forwarding via HTTPS with Django Channels and Redis
- 📊 Centralized Logging - Agent log collection with
swf-common-libintegration - 🔐 Authentication - Token-based API access and web session management
- 📈 ActiveMQ Integration - Automatic message queue connectivity and monitoring
- 🧪 Comprehensive Testing - 88+ tests across API, UI, and integration scenarios
📚 Complete technical documentation in docs/ directory:
| Guide | Description | Use Case |
|---|---|---|
| Setup Guide | Installation, configuration, and development setup | Getting started |
| Production Deployment | Complete Apache production deployment guide | Production operations |
| API Reference | REST API, WebSocket, database schema, authentication | Integration |
| MCP Implementation | Model Control Protocol REST API details | Agent communication |
| Test System | Testing approach, structure, and best practices | Quality assurance |
- Production Monitor: https://pandaserver02.sdcc.bnl.gov/swf-monitor/
- Interactive API Docs: Swagger UI | ReDoc
- Database Schema: testbed-schema.dbml (auto-generated)
- Parent Project: swf-testbed documentation
# See docs/SETUP_GUIDE.md for complete installation
python manage.py runserver # Start web interface (includes ActiveMQ integration)See Test System documentation for comprehensive testing guide.
- Python 3.9+
- PostgreSQL for data persistence
- ActiveMQ for agent messaging (optional)
- Django web framework with Channels for WebSocket support
- Model Control Protocol (MCP) for standardized agent communication
- Token-based REST API with comprehensive OpenAPI documentation
- Shared service architecture between WebSocket and REST implementations
See Setup Guide for detailed development environment configuration.
For complete technical documentation and implementation details, see the docs/ directory.