Skip to content

Add monitoring stack with Grafana/Prometheus/OTel and control endpoints - #5

Open
Uvais81 wants to merge 4 commits into
routerarchitects:release/v1.0.0from
Uvais81:grafana-integration
Open

Add monitoring stack with Grafana/Prometheus/OTel and control endpoints#5
Uvais81 wants to merge 4 commits into
routerarchitects:release/v1.0.0from
Uvais81:grafana-integration

Conversation

@Uvais81

@Uvais81 Uvais81 commented Mar 27, 2026

Copy link
Copy Markdown

Summary

This PR adds an optional observability stack and introduces service-control APIs so the UI can manage monitoring and AI-agent services through same-origin endpoints.

Changes

  • Added monitoring profile services in docker-compose.yml:
    • prometheus, grafana, cadvisor, node-exporter, postgres-exporter, kafka-exporter, otel-collector
  • Added grafana-controller (FastAPI) to control containers and expose health/status endpoints.
  • Added Grafana provisioning:
    • datasource (prometheus.yaml)
    • dashboard provider (dashboards.yaml)
    • dashboards for node/cadvisor/kafka/postgresql
  • Added telemetry config:
    • prometheus.yml
    • otel-config.yaml
  • Updated owgw-ui/default.conf with reverse proxies for:
    • /grafana/
    • /ai/chat
    • /api/v1/grafana/control
    • /api/v1/monitoring/control
    • /api/v1/ai-agent/control
    • /api/v1/service-control/healthz
  • Updated env files:
    • .env (HOST_PROJECT_PATH)
    • owgw-ui.env (Grafana + control path variables)
    • grafana.env
    • postgres-exporter.env

Validation

  1. Start base stack: docker compose up -d
  2. Start monitoring profile:
    docker compose --profile monitoring up -d prometheus grafana cadvisor node-exporter postgres-exporter kafka-exporter otel-collector
  3. Verify:
    • https://<host>/grafana/ loads.
    • GET https://<host>/api/v1/service-control/healthz returns service states.
    • POST https://<host>/api/v1/monitoring/control toggles monitoring services.
    • POST https://<host>/api/v1/ai-agent/control toggles AI-agent container.

Impact

  • No breaking change to default deployment path.
  • Monitoring components are opt-in via compose profile.

Uvais81 added 4 commits March 27, 2026 14:58
…el and control endpoints

  - add optional monitoring profile services (prometheus, grafana, cadvisor, node-exporter, postgres-exporter, kafka-exporter, otel-collector)
  - add grafana-controller service for monitoring/AI-agent control
  - add Grafana provisioning and dashboard assets
  - add otel collector and prometheus scrape configs
  - update owgw-ui nginx and env for grafana/ai-agent/control API proxy paths
…pose to avoid mount/path failures.

Add ai-agent control env wiring and mcp-server/mcp-client services in compose.
Switch Grafana datasource to internal Prometheus URL (http://prometheus:9090).
Update .env note to reflect new controller compose path behavior.

Signed-off-by: Uvais <mohammad12.uvais@routerarchitects.com>
  - switch mcp-server URL to HTTPS
  - mount shared certs into mcp-server and mcp-client
  - update owgw-ui AI proxy to use HTTPS
  - add SSL cert env vars for the AI agent
  - add alerting and SMTP placeholder settings
  - update default OpenAI model to gpt-4o-mini
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant