Skip to content

docs: production operations — observability to Azure Monitor, state backend selection, and troubleshooting runbook #1568

Closed

Description

@bradygaster

Problem

Three operational gaps exist where current docs tell only the local-dev half of the story:

  1. Observability: scenarios/aspire-dashboard.md stops at local dev. Production deployments need OTel → Azure Monitor / Application Insights, Prometheus/Grafana, or structured log shipping. No guidance exists.
  2. State backend selection: features/state-backends.md is thorough for developer machines but gives no guidance for containerized deployments (PVCs, multi-pod write conflicts, external state for horizontal scale).
  3. Troubleshooting: scenarios/troubleshooting.md covers CLI install errors. No Kubernetes/container ops runbook exists.

Parent issue: #1564

Scope

Three new or extended pages:

Page A — Production observability: docs/src/content/docs/scenarios/production-observability.md

  • OTel → Azure Monitor: OTEL_EXPORTER_OTLP_ENDPOINT + App Insights connection string example
  • OpenTelemetry Collector sidecar config routing spans to Aspire (dev) and Azure Monitor (prod) simultaneously
  • Prometheus scrape config + starter Grafana panel query (squad.agent.duration)
  • Structured stdout JSON → Log Analytics
  • "No traces appear" troubleshooting checklist (firewall, OTLP protocol, auth headers)
  • Cross-link to scenarios/aspire-dashboard.md and Squad telemetry from embedded host processes (Agent Framework wrappers, no REPL): how should it reach Aspire? #1144 (embedded host telemetry — track together)

Page B — State backend selection: Extension of features/state-backends.md or new reference page

Page C — Production troubleshooting runbook: docs/src/content/docs/scenarios/production-troubleshooting.md

  • Decision tree: "agent not picking up issues" — ≥5 root causes: KEDA not scaling, wrong env vars, state backend inaccessible, GitHub API 401, no qualifying labels
  • kubectl logs, kubectl describe, kubectl get events command examples per failure mode
  • KEDA scaler not triggering — debug steps (check ScaledObject status, external scaler service health)
  • State backend contention in containers
  • GitHub API rate limiting across pod fleet — budgeting guidance
  • Graceful shutdown and SIGTERM handling

Acceptance Criteria

Non-Goals

Source / Inspiration

Tamir Dresher published posts on Squad observability and ops at scale. These are inspiration and citation sources — content must be written in Squad voice, not copied.

Source URL
Tamir's scaling/ops post https://www.tamirdresher.com/blog/2026/03/26/scaling-ai-part8-pathfinder
OTEL wiring reference repo https://github.com/tamirdresher/squad-otel-poc
Azure Monitor + OTel https://learn.microsoft.com/azure/azure-monitor/app/opentelemetry-enable

Relation to Existing Issues

Priority

P1 — High operator value; relatively self-contained authoring scope.

Activity

  1. added
    squadSquad triage inbox — Lead will assign to a member
    on Aug 3, 2026
  2. github-actions commented on Aug 3, 2026

    @github-actions
    Contributor

    📋 Assigned to Handbook (SDK Usability)

    Issue: #1568 — docs: production operations — observability to Azure Monitor, state backend selection, and troubleshooting runbook

    Handbook will pick this up in the next Copilot session.

    For Copilot coding agent: If enabled, this issue will be worked automatically.
    Otherwise, start a Copilot session and say:
    Handbook, work on issue #1568

  3. bradygaster commented on Aug 3, 2026

    @bradygaster
    CollaboratorAuthor

    Issue #1568 — Reopening: implementation PR #1579 is still open

    This issue was prematurely closed before PR #1579 merged. The implementation PR is open and undergoing conflict resolution.

    Status as of 2026-08-02:

    This issue will auto-close on PR #1579 merge (Closes #1568 in PR body).

    — GNC (Node.js Runtime), revision owner

  4. added a commit that references this issue on Aug 3, 2026
    094cef9
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority:p1This sprintsquadSquad triage inbox — Lead will assign to a membertype:docsDocumentation work

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions