- Amazon Aurora

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

È possibile raccogliere informazioni più approfondite sulle attività dei database, tra cui query, query in attesa di blocchi, checkpoint e molti altri dettagli impostando alcuni parametri elencati nella tabella seguente. Questo argomento illustra la registrazione delle query.

Parametro Predefinito Descrizione

log_connections

Registra ogni connessione riuscita. Per informazioni su come utilizzare questo parametro con log_disconnections per rilevare l'abbandono della connessione, consulta Gestione del tasso di abbandono della connessione Aurora Postgre SQL RDS con pooling .

log_disconnections

Registra il momento in cui termina ciascuna sessione e la relativa durata. Per informazioni su come utilizzare questo parametro con log_connections per rilevare l'abbandono della connessione, consulta Gestione del tasso di abbandono della connessione Aurora Postgre SQL RDS con pooling .

log_checkpoints

1

Registra ogni checkpoint.

log_lock_waits

Registra lunghe attese di lock. Per impostazione predefinita, questo parametro non è impostato.

log_min_duration_sample

Imposta il tempo (ms) minimo di esecuzione oltre il quale viene registrato un campione di istruzioni. La dimensione del campione viene impostata utilizzando il parametro log_statement_sample_rate.

log_min_duration_statement

Qualsiasi SQL istruzione eseguita almeno per il periodo di tempo specificato o più a lungo viene registrata. Per impostazione predefinita, questo parametro non è impostato. L'attivazione di questo parametro può aiutarti a trovare query non ottimizzate.

log_statement

Imposta il tipo di istruzioni registrate. Per impostazione predefinita, questo parametro non è impostato, ma è possibile modificarlo all in o specificare mod i tipi di SQL istruzioni che si desidera registrare. ddl Se specifichi un valore diverso da none per questo parametro, dovrai adottare ulteriori misure per evitare l'esposizione delle password nei file di log. Per ulteriori informazioni, consulta Riduzione del rischio di esposizione delle password quando si utilizza la registrazione delle query.

log_statement_sample_rate

La percentuale di istruzioni che superano il tempo specificato in log_min_duration_sample da registrare, espressa come valore in virgola mobile compreso tra 0,0 e 1,0.

log_statement_stats

Scrive le statistiche cumulative sulla prestazione nel registro del server.

Utilizzo della registrazione per trovare query lente

È possibile registrare SQL istruzioni e interrogazioni per individuare le query con prestazioni lente. Puoi attivare questa funzionalità modificando le impostazioni nei parametri log_statement e log_min_duration come descritto in questa sezione. Prima di attivare la registrazione delle query per il cluster Aurora SQL Postgre DB RDS è necessario essere consapevoli della possibile esposizione delle password nei log e di come mitigare i rischi. Per ulteriori informazioni, consulta Riduzione del rischio di esposizione delle password quando si utilizza la registrazione delle query.

Di seguito sono disponibili informazioni di riferimento sui parametri log_statement e log_min_duration.

log_statement

Questo parametro specifica il tipo di istruzioni che devono essere inviate al registroSQL. Il valore predefinito è none. Se modifichi questo parametro in all, ddl o mod, esegui le azioni consigliate per ridurre il rischio di esporre le password nei log. Per ulteriori informazioni, consulta Riduzione del rischio di esposizione delle password quando si utilizza la registrazione delle query.

tutto

Registra tutte le istruzioni. Questa impostazione è consigliata per il debug.

ddl

Registra tutte le istruzioni del linguaggio di definizione dei dati (DDL), ad esempioCREATE, ALTERDROP, e così via.

mod

Registra tutte le DDL istruzioni e le istruzioni del linguaggio di manipolazione dei dati (DML), ad esempio, e INSERT UPDATEDELETE, che modificano i dati.

nessuno

Nessuna istruzione SQL viene registrata. Consigliamo questa impostazione per evitare il rischio di esporre le password nei registri.

log_min_duration_statement

Qualsiasi SQL istruzione eseguita almeno per il periodo di tempo specificato o più a lungo viene registrata. Per impostazione predefinita, questo parametro non è impostato. L'attivazione di questo parametro può aiutarti a trovare query non ottimizzate.

–1–2147483647

Il numero di millisecondi (ms) di runtime durante il quale un'istruzione viene registrata.

Per configurare la registrazione delle query

Questi passaggi presuppongono che il cluster Aurora Postgre SQL DB utilizzi un gruppo di parametri del cluster DB personalizzato.

  1. Imposta il parametro log_statement su all. L'esempio seguente mostra le informazioni scritte nel file postgresql.log con questa impostazione del parametro.

    2022-10-05 22:05:52 UTC:52.95.4.1(11335):postgres@labdb:[3639]:LOG: statement: SELECT feedback, s.sentiment,s.confidence FROM support,aws_comprehend.detect_sentiment(feedback, 'en') s ORDER BY s.confidence DESC; 2022-10-05 22:05:52 UTC:52.95.4.1(11335):postgres@labdb:[3639]:LOG: QUERY STATISTICS 2022-10-05 22:05:52 UTC:52.95.4.1(11335):postgres@labdb:[3639]:DETAIL: ! system usage stats: ! 0.017355 s user, 0.000000 s system, 0.168593 s elapsed ! [0.025146 s user, 0.000000 s system total] ! 36644 kB max resident size ! 0/8 [0/8] filesystem blocks in/out ! 0/733 [0/1364] page faults/reclaims, 0 [0] swaps ! 0 [0] signals rcvd, 0/0 [0/0] messages rcvd/sent ! 19/0 [27/0] voluntary/involuntary context switches 2022-10-05 22:05:52 UTC:52.95.4.1(11335):postgres@labdb:[3639]:STATEMENT: SELECT feedback, s.sentiment,s.confidence FROM support,aws_comprehend.detect_sentiment(feedback, 'en') s ORDER BY s.confidence DESC; 2022-10-05 22:05:56 UTC:52.95.4.1(11335):postgres@labdb:[3639]:ERROR: syntax error at or near "ORDER" at character 1 2022-10-05 22:05:56 UTC:52.95.4.1(11335):postgres@labdb:[3639]:STATEMENT: ORDER BY s.confidence DESC; ----------------------- END OF LOG ----------------------
  2. Impostare il parametro log_min_duration_statement. L'esempio seguente mostra le informazioni scritte nel file postgresql.log quando il parametro è impostato su 1.

    Le query che superano la durata specificata nel parametro log_min_duration_statement vengono registrate. Di seguito viene riportato un esempio. Puoi visualizzare il file di registro per il tuo cluster Aurora Postgre SQL DB RDS nella console Amazon. RDS

    2022-10-05 19:05:19 UTC:52.95.4.1(6461):postgres@labdb:[6144]:LOG: statement: DROP table comments; 2022-10-05 19:05:19 UTC:52.95.4.1(6461):postgres@labdb:[6144]:LOG: duration: 167.754 ms 2022-10-05 19:08:07 UTC::@:[355]:LOG: checkpoint starting: time 2022-10-05 19:08:08 UTC::@:[355]:LOG: checkpoint complete: wrote 11 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=1.013 s, sync=0.006 s, total=1.033 s; sync files=8, longest=0.004 s, average=0.001 s; distance=131028 kB, estimate=131028 kB ----------------------- END OF LOG ----------------------

Riduzione del rischio di esposizione delle password quando si utilizza la registrazione delle query

Ti consigliamo di mantenere log_statement impostato su none per evitare di esporre le password. Se imposti log_statement su all, ddl o mod, ti consigliamo di eseguire una o più delle seguenti operazioni.

  • Per il client, applica la crittografia delle informazioni sensibili. Per ulteriori informazioni, consulta Opzioni di crittografia nella documentazione di Postgre. SQL Usa le opzioni ENCRYPTED (e UNENCRYPTED) delle istruzioni CREATE e ALTER. Per ulteriori informazioni, consulta la documentazione CREATEUSERdi SQL Postgre.

  • Per il cluster Aurora Postgre SQL DB RDS per l'istanza Postgre DB usa l'estensione Postgre Auditing (). SQL pgAudit Questa estensione cancella le informazioni sensibili e le istruzioni inviate al registro. CREATE ALTER Per ulteriori informazioni, consulta Utilizzo pgAudit per registrare l'attività del database.

  • Limita l'accesso ai CloudWatch log.

  • Utilizza meccanismi di autenticazione più solidi comeIAM.