Externer Speicher
OpenReplay-Sitzungsaufzeichnungen werden standardmäßig auf Ihrer Instanz gespeichert. Das Ziel lässt sich jedoch auf jeden S3-kompatiblen Objektspeicherdienst ändern, was eine bessere Skalierbarkeit und niedrigere Bereitstellungskosten ermöglicht.
Speicherziel der Aufzeichnungen ändern
Section titled Speicherziel der Aufzeichnungen ändernAufzeichnungen können in jedem Objektspeicher abgelegt werden, solange dieser S3-kompatibel ist. Dadurch ist OpenReplay mit allen großen Public-Cloud-Diensten kompatibel. Im Folgenden finden Sie die Schritte, um ein anderes Ziel für Ihre Aufzeichnungen zu konfigurieren:
Erforderliche Buckets erstellen
Section titled Erforderliche Buckets erstellenSie müssen in Ihrem Objektspeicherdienst die folgenden Buckets erstellen. Ihre Namen können abweichen, im weiteren Verlauf dieses Abschnitts verwenden wir jedoch die folgenden Bezeichnungen:
openreplay-recordings: hier werden die Aufzeichnungen gespeichertopenreplay-assets: hierhin werden Assets (wie CSS und Schriftarten) kopiertopenreplay-sourcemaps: zum Speichern von Source Maps (siehe so laden Sie sie hoch)openreplay-spots: zum Speichern von Spot-Aufzeichnungen
Sobald die Buckets erstellt sind:
- Aktivieren Sie CORS für jeden der oben genannten Buckets. Bei AWS finden Sie die Einstellung unter ‘Permissions > Cross-origin resource sharing (CORS)’; verwenden Sie dort die folgende Konfiguration:
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"GET"
],
"AllowedOrigins": [
"*"
],
"ExposeHeaders": []
}
]
- Aktivieren Sie den öffentlichen Zugriff ausschließlich für den Bucket
openreplay-assets. Dieser enthält nur Stylesheets, Symbole und Schriftarten, die für ein korrektes Session Replay erforderlich sind. Bei AWS navigieren Sie zunächst zu ‘Permissions > Block public access (bucket settings)’ und deaktivieren die Sperre, wechseln dann zu ‘Permissions > Bucket policy’ und verwenden die folgende Konfiguration:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AddPerm",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::openreplay-assets/*"
}
]
}
- Erzeugen Sie schließlich die passenden Zugriffsschlüssel nur für diese 4 Buckets, damit das OpenReplay-Backend programmgesteuert darauf zugreifen und Dateien hochladen kann. Die erforderlichen S3-Berechtigungen sind:
"s3:PutObject",
"s3:GetObjectAcl",
"s3:GetObject",
"s3:GetObjectTagging",
"s3:ListBucket",
"s3:PutObjectTagging",
"s3:GetBucketLocation"
Backend-Dienste aktualisieren
Section titled Backend-Dienste aktualisieren- Melden Sie sich bei Ihrer OpenReplay-Instanz an und führen Sie
openreplay -eaus, um die folgenden Umgebungsvariablen im Abschnitts3anzupassen:
| Variable | Beschreibung |
|---|---|
| accessKey | Der Zugriffsschlüssel Ihres Objektspeichers (bei AWS Ihre IAM-Zugriffsschlüssel-ID, bei Google Cloud Ihr HMAC-Schlüssel für das Dienstkonto) |
| secretKey | Das Secret Ihres Objektspeichers |
| endpoint | Die URL (beginnend mit https) Ihres Objektspeicherdienstes (z. B. finden Sie bei AWS die Liste der S3-Endpunkte; bei Google Cloud Storage wäre dies https://storage.googleapis.com) |
| region | Die Region (falls zutreffend) Ihrer Buckets (z. B. wäre dies bei AWS S3 etwas wie us-east-1) |
| assetsBucket | Der Name des Assets-Buckets (z. B. openreplay-assets) |
| recordingsBucket | Der Name des Aufzeichnungs-Buckets (z. B. openreplay-recordings) |
| sourcemapsBucket | Der Name des Source-Maps-Buckets (z. B. openreplay-sourcemaps) |
| spotsBucket | Der Name des Spot-Buckets (z. B. openreplay-spots) |
- Speichern Sie und beenden Sie den Editor mit
:wq, damit die Änderungen wirksam werden
Neu aufgezeichnete Sitzungen sollten nun in Ihrem neuen Ziel bzw. Objektspeicherdienst gespeichert und von dort (bei der Wiedergabe) abgerufen werden.
Haben Sie Fragen?
Section titled Haben Sie Fragen?Falls Probleme auftreten, melden Sie sich in unserem Slack und holen Sie sich Hilfe von unserer Community.