Skip to content

nerovalerius/multi-agent-showcase

Repository files navigation

Multi-Agent Dynatrace Observability Showcase

LLM-driven multi-agent system for Telemetry, Problems, Security, and DevOps. Orchestrated with LangGraph. Data via the Dynatrace MCP server. UI with Gradio, optional CLI.

Architecture

The system is organized into three layers: a top-level supervisor and domain-specific teams.

Architecture

1. Teams Supervisor

  • Routes user requests to one or more domain teams: Telemetry, Problems, Security, DevOps.
  • Ensures each team is called at most once.
  • Always ends with FINISH after at least one team responded.

2. Domain Teams

Each domain team has its own supervisor and two workers: a Fetcher and an Analyst.
Workflow: Fetcher → Analyst → FINISH

Telemetry Team

  • Fetcher: retrieves logs, metrics, spans via Dynatrace MCP tools.
  • Analyst: analyzes anomalies, correlates signals, suggests mitigation.

Problems Team

  • Fetcher: fetches active problems (list_problems).
  • Analyst: identifies root causes, impact, prioritizes issues.

Security Team

  • Fetcher: fetches vulnerabilities (list_vulnerabilities).
  • Analyst: ranks risks, groups CVEs, highlights exposure, proposes mitigations.

DevOps Team

  • Fetcher: retrieves deployment events, SLO/SLI data, error budgets.
  • Analyst: evaluates health gates, canary rollbacks, error budget status, suggests remediation.

3. Tools

  • MCP Tools: Dynatrace MCP
  • Retrievers
  • FAISS index from dynatrace LLM rules

4. Guardrails

  • Active on all user input.
  • Blocks toxic language, profanity, banned terms.
  • On violation, returns safe response instead of executing requests.

5. Execution Flow

  1. User input → Teams Supervisor decides which team to call.
  2. Domain Supervisor runs: Fetcher → Analyst.
  3. Analyst output → back to Teams Supervisor.
  4. Teams Supervisor may call another team or route to FINISH.
  5. Final combined response returned to user.

Requirements

  • uv package manager (pipx install uv or pip install uv)
  • OpenAI API key
  • Dynatrace environment URL and platform token

Quickstart

  1. Initialize project

    uv init
    
  2. Install Guardrails

    scripts\install_guardrails.bat
    
  3. Create .env in repo root and fill values Create a file named .env at the repository root with:

    env

    OpenAI

    OPENAI_API_KEY=sk-...
    

    Dynatrace

    DT_ENVIRONMENT=https://<env>.apps.dynatrace.com
    DT_PLATFORM_TOKEN=dtp_...
    DT_ACCOUNT_PW=
    

    Tracing / Observability

    TRACELOOP_BASE_URL=https://<tenant>.live.dynatrace.com/api/v2/otlp
    TRACELOOP_HEADERS=Authorization=Api-Token <YOUR_TOKEN>
    OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE=delta
    

    LangSmith

    LANGSMITH_TRACING=
    LANGSMITH_ENDPOINT=
    LANGSMITH_API_KEY=
    LANGSMITH_PROJECT=
    

    Guardrails

    GUARDRAILS_API_KEY=
    
  4. Start Gradio showcase

    scripts\start_gradio_showcase.bat
    

    Open the printed local URL, default http://127.0.0.1:7860.

Optional: start CLI

scripts\start_cli_showcase.bat

Scripts

  • scripts/install_guardrails.bat — install Guardrails and hub deps
  • scripts/start_gradio_showcase.bat — launch the Gradio UI
  • scripts/start_cli_showcase.bat — launch the CLI
  • scripts/start_dynatrace_mcp.bat — helper to run the Dynatrace MCP server

About

A showcase of my work in LLM-based systems, agentic AI, RAG, LangGraph flows, and scalable deployment.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors