Getting Started

MPD Stream Monitor continuously monitors one or more MPEG-DASH live streams for manifest errors and inconsistencies. It exposes a REST API for adding and removing streams, and a Prometheus-compatible metrics endpoint for integration with Grafana dashboards.

Checks performed on each stream include: MPD fetch success, XML validity, period continuity, publish time progression, staleness detection, segment timeline gaps, codec and bitrate validity, and time shift buffer depth.

If you need to monitor HLS streams instead, see Service: HLS Stream Monitor.

Prerequisites

Step 1: Create an instance

Navigate to MPD Stream Monitor in the OSC console, click Create dash-monitor, and enter a name.

Or use the CLI:

export OSC_ACCESS_TOKEN=<your-personal-access-token>
npx -y @osaas/cli create eyevinn-dash-monitor mymonitor

Wait for the instance to reach Running state. From the instance menu, click Open API Docs to access the Swagger UI.

Step 2: Add a stream to monitor

Use the REST API to register a DASH stream. The stale_limit (milliseconds) controls how long a manifest can go without updating before the monitor reports a staleness error.

curl -X POST https://mymonitor.eyevinn-dash-monitor.auto.prod.osaas.io/monitor \
  -H "Content-Type: application/json" \
  -d '{
    "streams": ["https://example.com/live/stream.mpd"],
    "stale_limit": 8000,
    "monitor_interval": 3000
  }'

You can register multiple streams in a single request by listing them in the streams array.

Step 3: Check metrics

Poll the metrics endpoint to see current stream health in OpenMetrics format:

curl https://mymonitor.eyevinn-dash-monitor.auto.prod.osaas.io/metrics

The response includes per-stream error counts and status indicators suitable for scraping with Prometheus.

Integrate with Prometheus and Grafana

The metrics endpoint is compatible with Prometheus. Add a scrape config pointing at your instance:

scrape_configs:
  - job_name: 'dash-monitor'
    static_configs:
      - targets: ['mymonitor.eyevinn-dash-monitor.auto.prod.osaas.io']

See the HLS Stream Monitor guide for a complete Prometheus and Grafana setup walkthrough — the process is identical for DASH streams.

Resources