Condividi tramite


I log nel database di Azure per PostgreSQL

Database di Azure per PostgreSQL consente di configurare e accedere ai log standard di Postgres. I log possono essere usati per individuare e risolvere i problemi e correggere errori di configurazione e prestazioni non ottimali. Le informazioni di registrazione che è possibile configurare e accedere includono errori, informazioni sulle query, record autovacuum, connessioni e checkpoint. L'accesso ai log delle transazioni non è disponibile.

La registrazione di controllo viene resa disponibile tramite un'estensione Postgres, pgaudit. Per altre informazioni, vedere l'articolo sui concetti relativi al controllo.

Configurare la registrazione

È possibile configurare la registrazione standard di Postgres nel server usando i parametri del server di registrazione. Per altre informazioni sui parametri di log di Postgres, vedere le sezioni Quando registrare e Cosa registrare della documentazione di Postgres. La maggior parte, ma non tutte, i parametri di registrazione di Postgres sono disponibili per la configurazione in Database di Azure per PostgreSQL.

Per informazioni su come configurare i parametri in Database di Azure per PostgreSQL, vedere la documentazione del portale o la documentazione dell'interfaccia della riga di comando.

Note

Per configurare un volume elevato di log, è possibile aggiungere un sovraccarico significativo delle prestazioni. Ad esempio, la registrazione delle istruzioni può influire sulle prestazioni.

Registri di accesso

Database di Azure per PostgreSQL è integrato con le impostazioni di diagnostica di Azure Monitor. Le impostazioni di diagnostica consentono di inviare log PostgreSQL in formato JSON ai log di Monitoraggio di Azure per l'analisi e l'invio di avvisi. È anche possibile trasmetterli a Hub eventi o archiviarli in Archiviazione di Azure.

Controllo di accesso per i log

L'accesso ai log del server è controllato tramite il controllo degli accessi in base al ruolo di Azure (RBAC). Qualsiasi ruolo che fornisce l'accesso in lettura al server consente anche di scaricare i log. Sono inclusi ruoli predefiniti, ad esempio:

  • Lettore
  • Lettore di dati di monitoraggio
  • Lettore di Log Analytics
  • Oppure ruoli personalizzati equivalenti

Avvertimento

I log possono contenere informazioni riservate, ad esempio le credenziali, a seconda della configurazione della registrazione.

Criteri di conservazione dei dati e prezzi

Per i log inviati a Hub eventi o a un account di archiviazione, è possibile configurare un criterio di conservazione per eliminare automaticamente i dati dopo un determinato periodo. I costi di Log Analytics dipendono da due fattori:

  • Inserimento dati: gli addebiti si basano sul volume di dati inseriti nell'area di lavoro.
  • Conservazione dei dati: i log archiviati nell'area di lavoro Log Analytics vengono mantenuti gratuiti per i primi 31 giorni. Oltre questo periodo di conservazione gratuito, è prevista una tariffa per l'archiviazione dei dati, calcolata su base giornaliera proporzionale, in base alla quantità di dati (in GB) conservata ogni mese.

Per una suddivisione dei costi associati all'inserimento e alla conservazione dei dati, visitare la pagina dei prezzi di Monitoraggio di Azure.

Formato del log

La tabella seguente descrive i campi per il tipo PostgreSQLLogs. A seconda dell'endpoint di output scelto, i campi inclusi e l'ordine in cui vengono visualizzati possono variare.

Campo Descrizione
TenantId ID del tenant.
SourceSystem Azure
OraGenerata [UTC] Timestamp in cui il log è stato registrato in formato UTC.
Type Tipo di log. Sempre AzureDiagnostics
SubscriptionId GUID per la sottoscrizione a cui appartiene il server.
ResourceGroup Nome del gruppo di risorse a cui appartiene il server.
ResourceProvider Nome del provider di risorse. Sempre MICROSOFT.DBFORPOSTGRESQL
ResourceType FlexibleServers
ResourceId URI della risorsa
Risorsa Nome del server
Category PostgreSQLLogs
OperationName LogEvent
errorLevel_s Livello di registrazione, ad esempio: LOG, ERROR, NOTICE
processId_d ID processo del back-end PostgreSQL
sqlerrcode_s Codice di errore PostgreSQL che segue le convenzioni dello standard SQL per i codici SQLSTATE
Message Messaggio di log primario
Dettagli Messaggio di log secondario (se applicabile)
ColumnName Nome della colonna (se applicabile)
SchemaName Nome dello schema (se applicabile)
DatatypeName Nome del tipo di dati (se applicabile)
_ResourceId URI della risorsa

Limitazioni note

  • Dimensioni eventi di log: i piani di query o i messaggi di log di dimensioni superiori a 65 KB non verranno acquisiti nei log di Monitoraggio di Azure. Si tratta di un limite di Monitoraggio di Azure a livello di piattaforma. Di conseguenza, query molto complesse, ad esempio quelle che coinvolgono visualizzazioni nidificate, possono generare output del piano di query incompleto o non presente nei log del server.
  • Altri vincoli: altri limiti a livello di piattaforma si applicano ai log di Monitoraggio di Azure, ad esempio le quote delle regole di avviso e le dimensioni dei risultati delle query. Per l'elenco completo, vedere la documentazione relativa ai limiti del servizio Monitoraggio di Azure per informazioni dettagliate.