✨ New: Try our AI‑powered Search (Ctrl + K) — Read more

Mobility Collector Observability Installation

Prev Next

To deploy the Mobility Collector Observability alongside existing application services (FM, PM, infra workloads), use the dedicated monitoring-only profile.

Prerequisites

  • Longhorn must be pre-installed (same as full-stack, required for PVC persistence).

  • Kubernetes secrets for TimescaleDB and Redis should be deployed and available on the matrix-pm-analytics namespace

Step 1: Load Docker Images

For your Mobility Collector Observability version, you must download the new docker images and copy them to your local registry. The docker images you need for your upgrade are listed in the Release Notes.

Follow these steps to download your images. Once downloaded, load them into your local registry.

docker load -i <docker-image-name>.tar.gz

Step 2: Create Kubernetes namespace and secrets:

# Create 'monitoring' namespace
kubectl create namespace monitoring
# Create Redis secret from matrix-pm-analytics
kubectl get secret matrix-redis-cluster -n matrix-pm-analytics -o json | jq 'del(.metadata.uid,.metadata.resourceVersion,.metadata.creationTimestamp,.metadata.managedFields,.metadata.annotations,.metadata.ownerReferences) | .metadata.namespace = "monitoring"' | kubectl -n monitoring apply -f -
# Create TimescaleDB secret from matrix-pm-analytics
kubectl get secret matrix-timescaledb-credentials -n matrix-pm-analytics -o json | jq 'del(.metadata.uid,.metadata.resourceVersion,.metadata.creationTimestamp,.metadata.managedFields,.metadata.annotations,.metadata.ownerReferences) | .metadata.namespace = "monitoring"' | kubectl -n monitoring apply -f -

Step 3: Install from the archive on the target control-plane node (Docker runtime):

./scripts/install-monitoring-bundle.sh \\
  --bundle dist/mobility-monitoring-airgap-<chartVersion>-<gitSha>.zip \\
  --release mobility-collector \\
  --namespace monitoring

The installer will:

  • unpack the bundle

  • apply kube-prometheus CRDs

  • docker load bundled images

  • run helm upgrade --install with values.yaml + values-monitoring-only.yaml

helm upgrade --install mobility-collector helm \\
  -f helm/values.yaml \\
  -f helm/values-monitoring-only.yaml \\
  --namespace monitoring \\
  --create-namespace

What's deployed

  • Prometheus Operator + Prometheus (metrics scraping and retention)

  • Grafana (dashboards and visualization)

Verify monitoring-only deployment

# Check Prometheus Operator and stack resources
kubectl get pods -n monitoring
kubectl get svc -n monitoring
# Port-forward to access Grafana and Prometheus (optional)
kubectl port-forward -n monitoring svc/mobility-collector-grafana 3000:80 &
kubectl port-forward -n monitoring svc/mobility-collector-kube-pr-prometheus 9090:9090 &
# Then open in browser:
# - Grafana: <http://localhost:3000> (default creds: admin/admin123)
# - Prometheus: <http://localhost:9090>