Storage esterno
Le registrazioni delle sessioni di OpenReplay sono salvate per impostazione predefinita sulla tua istanza, ma la destinazione può essere cambiata con qualsiasi servizio di object storage compatibile con S3, il che garantisce maggiore scalabilità e costi di deployment inferiori.
Cambiare la destinazione di storage delle registrazioni
Section titled Cambiare la destinazione di storage delle registrazioniLe registrazioni possono essere salvate in qualsiasi destinazione di object storage, purché sia compatibile con S3: questo rende OpenReplay compatibile con tutti i principali servizi di public cloud. Di seguito trovi i passaggi per configurare una destinazione diversa per le tue registrazioni:
Creare i bucket necessari
Section titled Creare i bucket necessariDevi creare i bucket indicati di seguito nel tuo servizio di object storage. I nomi possono essere diversi, ma nel resto di questa sezione useremo i riferimenti seguenti:
openreplay-recordings: dove verranno salvate le registrazioniopenreplay-assets: dove verranno copiati gli asset (come css e font)openreplay-sourcemaps: per salvare le source map (vedi come caricarle)openreplay-spots: per salvare le registrazioni degli spot
Una volta creati i bucket:
- Abilita CORS per ciascuno dei bucket indicati sopra. Se usi AWS, lo trovi in ‘Permissions > Cross-origin resource sharing (CORS)’, con la seguente configurazione:
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"GET"
],
"AllowedOrigins": [
"*"
],
"ExposeHeaders": []
}
]
- Abilita l’accesso pubblico solo al bucket
openreplay-assets. Quest’ultimo contiene soltanto fogli di stile, icone e font necessari per il corretto funzionamento del session replay. Se usi AWS, vai prima su ‘Permissions > Block public access (bucket settings)’ e disattiva l’opzione, poi vai su ‘Permissions > Bucket policy’ e usa la seguente configurazione:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AddPerm",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::openreplay-assets/*"
}
]
}
- Infine, genera le chiavi di accesso appropriate per questi 4 bucket soltanto, in modo che il backend di OpenReplay possa accedervi in modo programmatico per caricare i file. I permessi S3 necessari sono:
"s3:PutObject",
"s3:GetObjectAcl",
"s3:GetObject",
"s3:GetObjectTagging",
"s3:ListBucket",
"s3:PutObjectTagging",
"s3:GetBucketLocation"
Aggiornare i servizi di backend
Section titled Aggiornare i servizi di backend- Accedi alla tua istanza di OpenReplay ed esegui
openreplay -eper aggiornare le seguenti variabili d’ambiente nella seziones3:
| Variabile | Descrizione |
|---|---|
| accessKey | La chiave di accesso del tuo object storage (il tuo IAM access key ID se usi AWS; su Google Cloud sarebbe la tua chiave HMAC per l’account di servizio) |
| secretKey | Il secret del tuo object storage |
| endpoint | L’URL (che inizia con https) del tuo servizio di object storage (ad es. consulta l’elenco degli endpoint S3 se usi AWS; su Google Cloud Storage sarebbe https://storage.googleapis.com) |
| region | La regione (se applicabile) dei tuoi bucket (ad es. se usi AWS S3, sarà qualcosa come us-east-1) |
| assetsBucket | Il nome del bucket degli asset (ad es. openreplay-assets) |
| recordingsBucket | Il nome del bucket delle registrazioni (ad es. openreplay-recordings) |
| sourcemapsBucket | Il nome del bucket delle source map (ad es. openreplay-sourcemaps) |
| spotsBucket | Il nome del bucket degli spot (ad es. openreplay-spots) |
- Salva ed esci con
:wqaffinché le modifiche abbiano effetto
Le sessioni registrate da questo momento in poi dovrebbero essere salvate e recuperate (durante la riproduzione) dalla tua nuova destinazione/servizio di object storage.
Hai domande?
Section titled Hai domande?In caso di problemi, unisciti al nostro Slack e chiedi aiuto alla nostra community.