Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
Azure Cosmos DB per PostgreSQL non è più supportato per i nuovi progetti. Non usare questo servizio per i nuovi progetti. Usare invece uno dei due servizi seguenti:
Usare Azure Cosmos DB per NoSQL per una soluzione di database distribuita progettata per scenari su alta scala con un accordo sul livello di servizio (SLA) di disponibilità del 99.999%, scalabilità automatica istantanea e failover automatico in più regioni.
Usare la funzionalità cluster elastici di Database di Azure for PostgreSQL per PostgreSQL partizionato usando l'estensione Citus open source.
La registrazione di controllo delle attività del database in Azure Cosmos DB for PostgreSQL è disponibile tramite l'estensione pgAudit di PostgreSQL Audit. pgAudit fornisce la registrazione dettagliata del controllo delle sessioni o degli oggetti.
Per i log a livello di risorsa di Azure per operazioni come il ridimensionamento delle risorse di calcolo e archiviazione, vedere Log attività di Azure.
Considerazioni sull'utilizzo
Per impostazione predefinita, le istruzioni di log di pgAudit vengono emesse insieme alle istruzioni di log regolari usando la funzionalità di registrazione standard di Postgres. In Azure Cosmos DB for PostgreSQL è possibile configurare tutti i log da inviare all'archivio log di Monitoraggio di Azure per analisi successive in Log Analytics.
Installazione di pgAudit
Per installare pgAudit, è necessario includerlo nelle librerie di precaricamento condivise del server. Per rendere effettiva una modifica al parametro shared_preload_libraries è necessario riavviare il cluster. Inoltre, le impostazioni di pgAudit vengono specificate per nodo in un cluster. Per abilitare il controllo in tutti i nodi, è necessario applicare le impostazioni di controllo alle impostazioni del coordinatore e dei nodi di lavoro.
Utilizzo del portale di Azure:
Seleziona il cluster di Azure Cosmos DB for PostgreSQL.
Nella barra laterale selezionare Parametri Coordinatore (o Nodo di Lavoro).
Cercare il
shared_preload_librariesparametro.Selezionare pgaudit e salvare le modifiche. Il cluster Azure Cosmos DB for PostgreSQL verrà riavviato.
È possibile verificare che pgaudit sia caricato in shared_preload_libraries eseguendo la query seguente in psql:
show shared_preload_libraries;Nel risultato della query dovrebbe essere visualizzato pgaudit.
Connettersi a psql e alla query seguente per le versioni citus uguali o successive a 11.0
BEGIN; SET LOCAL citus.enable_metadata_sync = false; SELECT create_extension('pgaudit'); COMMIT;Per le versioni precedenti di citus 11.0:
BEGIN; SET LOCAL citus.enable_object_propagation= false; SELECT create_extension('pgaudit'); COMMIT;
Impostazioni pgAudit
pgAudit consente di configurare l'audit log per sessioni e oggetti. La registrazione di controllo della sessione emette log dettagliati delle istruzioni eseguite. La registrazione di controllo degli oggetti ha come ambito il controllo delle relazioni specifiche. È possibile scegliere di configurare uno o entrambi i tipi di registrazione.
Dopo aver abilitato pgAudit, è possibile configurarne i parametri per avviare la registrazione. Per configurare pgAudit, è possibile seguire le istruzioni di seguito. Utilizzo del portale di Azure:
Seleziona il cluster di Azure Cosmos DB for PostgreSQL.
Nella barra laterale selezionare Parametri del server.
Cercare i parametri
pgaudit.Selezionare il parametro di impostazioni appropriato da modificare. Ad esempio, per avviare la registrazione impostare
pgaudit.logsuWRITE
Selezionare il pulsante Salva per salvare le modifiche
La documentazione pgAudit fornisce la definizione di ogni parametro. Testare prima i parametri e verificare di ottenere il comportamento previsto.
Nota
Se si imposta pgaudit.log_client su ON, i log vengono reindirizzati a un processo client (quale psql), anziché essere scritti nel file. Questa impostazione viene in genere disabilitata.
pgaudit.log_level viene abilitato solo quando pgaudit.log_client è attivo.
Nota
In Azure Cosmos DB per PostgreSQL non è possibile impostare pgaudit.log usando una scorciatoia con segno - (meno), come descritto nella documentazione di pgAudit. Tutte le classi di istruzioni obbligatorie (READ, WRITE e così via) devono essere specificate singolarmente.
Formato del log di controllo
Ogni voce di controllo è indicata da AUDIT: vicino all'inizio della riga di log. Il formato del resto della voce è dettagliato nella documentazione di pgAudit.
Visualizzazione dei log di controllo
Il modo in cui si accede ai log dipende dall'endpoint scelto. Per Archiviazione di Azure, vedere l'articolo sull'account di archiviazione dei log. Per Hub eventi, vedere l'articolo Trasmettere i log di Azure.
Per Log di Monitoraggio di Azure, i log vengono inviati all'area di lavoro selezionata. I log di Postgres usano la modalità di raccolta AzureDiagnostics, in modo che possano essere sottoposte a query dalla tabella AzureDiagnostics. I campi nella tabella sono descritti di seguito. Altre informazioni sull'esecuzione di query e avvisi sono disponibili nella panoramica Query sui log di Monitoraggio di Azure.
Per iniziare, è possibile usare questa query. È possibile configurare gli avvisi in base alle query.
Cercare tutte le voci pgAudit nei log di Postgres per un determinato server nell'ultimo giorno
AzureDiagnostics
| where Resource == "myservername"
| where Category == "PostgreSQLlogs"
| where TimeGenerated > ago(1d)
| where Message contains "AUDIT:"