Skip to content

BNLNPPS/swf-monitor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,064 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

swf-monitor

The common monitor, web, and database services of the swf platform.

swf-monitor serves every workflow domain of the swf platform — the streaming workflow testbed and the epicprod production system today — with browser pages, REST APIs, MCP tools, and the database-backed state beneath them. Production applications ship from the swf-epicprod repository and run installed within this application's runtime. The swf platform implements the ePIC Workflow Management System (WFMS); the official system-level documentation is at https://epic-wfms-docs.readthedocs.io; this repository's docs/ carry the platform implementation detail beneath it, and swf-epicprod/docs/ carry the production-domain documentation.

System Overview

The application is built on Django with a PostgreSQL backend and real-time messaging.

Core Components

  1. Monitor App (monitor_app): The platform services

    • Browser UI: Server-side rendered pages with Django session authentication
    • REST API: Programmatic interface with token-based authentication and OpenAPI schema
    • MCP Server: Model Context Protocol tools for LLM interaction
    • Platform machinery: the action stream (structured action logging with a live view), SysConfig, the alarms engine, and cached system status
  2. Installed production applications: the production domain (PCS and successors) ships from swf-epicprod as installable Django applications listed in this project's INSTALLED_APPS

  3. ActiveMQ Integration: Built-in message queue connectivity

    • Automatic Listening: Connects to ActiveMQ automatically when Django starts
    • SSE Forwarding: Server-Sent Events streaming of ActiveMQ messages via HTTPS (Django Channels with a Redis layer)
  4. PostgreSQL Database: Data store for all persistent system information including agents, logs, runs, STF files, FastMon files, workflows, configuration tags, and application state

Key Features

  • 🖥️ Real-time Dashboard - Agent status monitoring with live updates
  • 🔗 REST API - Complete CRUD operations with OpenAPI documentation
  • 🤖 MCP Integration - Model Context Protocol for natural language interaction via LLM
  • 📡 SSE Message Streaming - Real-time ActiveMQ message forwarding via HTTPS with Django Channels and Redis
  • 📊 Centralized Logging - Agent log collection with swf-common-lib integration
  • 🔐 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

Documentation

📚 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 Integration Model Context Protocol server overview and links to client, tool, and bot docs Natural language queries
MCP Tool Reference Full MCP tool catalog, parameters, returns, and example prompts Tool integration
MCP Client Setup Claude Code and Claude Desktop MCP configuration Local MCP clients
PanDA Mattermost Bot PanDA bot MCP-client architecture and runtime configuration Production monitoring chat
Action Stream Structured action logging: sublevel/live axes, live policy, live view Operational record
AI Proposals LLM proposes, human approves, deterministic execution AI-assisted operations
External Access The swf-remote proxy contract, including write-action triggers External face
System Status Cached production/system health, ops-agent refresh, and red nav indicator Operations monitoring
Test System Testing approach, structure, and best practices Quality assurance

The production-domain documentation — PCS, the task catalog, production operations, campaigns, assessments — is in swf-epicprod/docs.

Quick Links

Quick Examples

Basic Setup

# See docs/SETUP_GUIDE.md for complete installation
python manage.py runserver          # Start web interface (includes ActiveMQ integration)

Testing

See Test System documentation for comprehensive testing guide.

Development

Requirements

  • Python 3.9+
  • PostgreSQL for data persistence
  • ActiveMQ for agent messaging (optional)

Architecture Notes

  • Django web framework with Channels for WebSocket support
  • Model Context Protocol (MCP) for LLM-based system interaction
  • Token-based REST API with comprehensive OpenAPI documentation

See Setup Guide for detailed development environment configuration.


For complete technical documentation and implementation details, see the docs/ directory.

About

Monitoring and information service for the ePIC streaming workflow testbed

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages