Exports fleet observability to Prometheus/Grafana (previously JSON-only). - GET /api/fleet/metrics/prom: global, product-labelled Prometheus exposition (queue depth, blocked/active, per-stage histogram, factory health/seats/ utilization, active alerts, budget spent/ceiling/projected) plus process-wide reaper/GC counters and engine circuit-breaker state. Pure renderer (renderFleetMetricsProm) is unit-tested; route auth accepts a FLEET_METRICS_TOKEN bearer (scrape path) or an admin JWT — never world-readable by default. - Infra: add a prometheus container to docker-compose + a platform-service-fleet scrape job; pin the Prometheus Grafana datasource uid; add a provisioned "Fleet Overview" dashboard (breakers, dead-letter, stale factories, alerts, queue depth, utilization, budget burn, reaper rate) with a product template var. - Document FLEET_METRICS_TOKEN + the fleet feature flags in .env.example. No default behavior change: the endpoint is additive and the new container is opt-in via the compose stack. Generated with [Devin](https://cli.devin.ai/docs) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
35 lines
954 B
YAML
35 lines
954 B
YAML
global:
|
|
scrape_interval: 15s
|
|
evaluation_interval: 15s
|
|
|
|
scrape_configs:
|
|
- job_name: prometheus
|
|
static_configs:
|
|
- targets:
|
|
- prometheus:9090
|
|
|
|
# Fleet coordinator metrics (queue depth, factory health, reaper, breakers,
|
|
# budgets). The endpoint requires a bearer token — set `credentials` below to
|
|
# the same value as platform-service's FLEET_METRICS_TOKEN (.env). The default
|
|
# here is a non-secret placeholder for the local prototype; change it for any
|
|
# shared/remote deployment.
|
|
- job_name: platform-service-fleet
|
|
metrics_path: /api/fleet/metrics/prom
|
|
scheme: http
|
|
authorization:
|
|
type: Bearer
|
|
credentials: changeme-fleet-metrics-token
|
|
static_configs:
|
|
- targets:
|
|
- platform-service:4003
|
|
|
|
- job_name: node-exporter
|
|
static_configs:
|
|
- targets:
|
|
- node-exporter:9100
|
|
|
|
- job_name: cadvisor
|
|
static_configs:
|
|
- targets:
|
|
- cadvisor:8080
|