In che modo posso utilizzare i log per tenere traccia delle attività nel mio cluster di database Amazon Redshift?

5 minuti di lettura
0

Desidero controllare il database sul mio cluster Amazon Redshift.

Breve descrizione

Amazon Redshift offre tre opzioni di registrazione:

La registrazione di controllo e le tabelle STL/SYS registrano le attività a livello di database, ad esempio gli utenti che hanno effettuato l'accesso e la data di accesso. Le tabelle registrano anche le attività SQL eseguite dagli utenti e quando le hanno eseguite. CloudTrail traccia l'attività degli utenti a livello di servizio.

Nota: Per visualizzare i log utilizzando tabelle esterne, è necessario utilizzare Amazon Redshift Spectrum. Per ulteriori informazioni, consulta Analizzare i log di audit del database per sicurezza e conformità utilizzando Amazon Redshift Spectrum.

Risoluzione

Registrazione di controllo e tabelle STL/SYS

La tabella seguente confronta la registrazione di controllo e le tabelle STL/SYS. Scegli l'opzione di registrazione più adatta al tuo caso.

Registrazione di auditTabelle STL/SYS
Utilizza la console Amazon Redshift per attivare la registrazione di audit oppure l'interfaccia della linea di comando di AWS (AWS CLI) e l'API Amazon Redshift.Le tabelle STL/SYS sono disponibili automaticamente in ciascun nodo del cluster data warehouse.
I file log di audit vengono archiviati a tempo indeterminato, a meno che non si definiscano le regole del ciclo di vita Amazon S3 per l'archiviazione o l'eliminazione automatica dei file. Per ulteriori informazioni, consulta Gestire il ciclo di vita dello storage.La cronologia dei log viene archiviata da due a cinque giorni, a seconda dell'utilizzo del log e dello spazio disponibile su disco. Per prolungare il periodo di conservazione, è possibile utilizzare l'utilità di persistenza degli oggetti di sistema Amazon Redshift sul sito di GitHub.
L'accesso ai file log di audit non richiede l'accesso al database Amazon Redshift.L'accesso alle tabelle STL/SYS richiede invece l'accesso al database Amazon Redshift.
Le risorse di elaborazione del database non sono necessarie per esaminare i log archiviati in Amazon S3.Analogamente a quando si eseguono altre query, sono necessarie risorse di elaborazione del database per eseguire query su tabelle STL/SYS.
Utilizzando i timestamp, è possibile correlare gli ID di processi alle attività del database. I riavvii del cluster non influiscono sui log di audit in Amazon S3.Non è sempre possibile correlare gli ID di processo alle attività del database, poiché gli ID di processo potrebbero essere riciclati al riavvio del cluster.
Le informazioni vengono memorizzate nei seguenti file log: Registro delle connessioni, registro utente e registro delle attività dell'utente. Nota: Per il log attività utente, è necessario abilitare il parametro del database enable_user_activity_logging. Per ulteriori informazioni, consulta Attivazione della registrazione.È possibile utilizzare SVL_STATEMENTTEXT, STL_CONNECTION_LOG e SYS_CONNECTION_LOG per visualizzare informazioni dettagliate.
La registrazione di controllo registra tutte le istruzioni SQL nei registri delle attività degli utenti.Le query eseguite vengono registrate in STL_QUERY. Le istruzioni DDL vengono registrate in STL_DDLTEXT. Il testo dei comandi non-SELECT SQL viene registrato in STL_UTILITYTEXT. Su Amazon Redshift Serverless, utilizza SYS_QUERY_HISTORY e SYS_QUERY_DETAIL per controllare tutti i comandi SQL.
Le istruzioni vengono registrate non appena Amazon Redshift le riceve. I file su Amazon S3 vengono aggiornati in batch e la visualizzazione può richiedere alcune ore.I log vengono generati dopo l'esecuzione di ogni istruzione SQL.
La registrazione di audit registra chi ha eseguito l'azione e quando è avvenuta, ma non il tempo impiegato per eseguirla.Utilizza le colonne STARTTIME e ENDTIME per determinare il tempo impiegato per completare un'attività. Per determinare quale utente ha eseguito un'azione, è necessario combinare SVL_STATEMENTTEXT (userid) con PG_USER (usesysid). Usa SYS\ _QUERY\ _HISTORY e SYS\ _QUERY\ _DETAIL per determinare il tempo impiegato per completare un'attività su Amazon Redshift Serverless.
Ti viene addebitato lo storage utilizzato dai tuoi log in Amazon S3.Non ci sono costi aggiuntivi per l'archiviazione delle tabelle STL/SYS.
Le interrogazioni eseguite solo sul nodo leader vengono registrate.Le interrogazioni eseguite solo sul nodo leader non vengono registrate.

CloudTrail

Utilizzando le informazioni raccolte da CloudTrail, è possibile determinare quali richieste sono state inoltrate correttamente ai servizi AWS, chi ha effettuato la richiesta e quando è stata effettuata. Per ulteriori informazioni, consulta Registrazione delle chiamate API di Amazon Redshift con AWS CloudTrail.

I file di log di CloudTrail vengono archiviati a tempo indeterminato in Amazon S3, a meno che non si definiscano regole del ciclo di vita per l'archiviazione o l'eliminazione automatica dei file. Per ulteriori informazioni, consulta Gestire il ciclo di vita dello storage.

Informazioni correlate

Ottimizzazione delle prestazioni delle query

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa