Log in Database di Azure per PostgreSQL - Server singolo
SI APPLICA A: Database di Azure per PostgreSQL - Server singolo
Importante
Database di Azure per PostgreSQL - Il server singolo è in fase di ritiro. È consigliabile eseguire l'aggiornamento a Database di Azure per PostgreSQL - Server flessibile. Per altre informazioni sulla migrazione a Database di Azure per PostgreSQL - Server flessibile, vedere Cosa succede a Database di Azure per PostgreSQL - Server singolo?.
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 a cui è possibile 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 PostgreSQL, 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. In ogni server di Database di Azure per PostgreSQL, log_checkpoints
e log_connections
sono attivati per impostazione predefinita. Esistono anche parametri aggiuntivi che è possibile modificare in base alle esigenze 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 sul portale o la documentazione sull'interfaccia della riga di comando.
Nota
La configurazione di un volume elevato di log, ad esempio la registrazione delle istruzioni, può comportare un sovraccarico significativo delle prestazioni.
Accedei ai file di log.
Il formato di log predefinito in Database di Azure per PostgreSQL è .log. Una riga di esempio di questo log è simile alla seguente:
2019-10-14 17:00:03 UTC-5d773cc3.3c-LOG: connection received: host=101.0.0.6 port=34331 pid=16216
Database di Azure per PostgreSQL offre un percorso di archiviazione a breve termine per i file di .log. Un nuovo file inizia ogni 1 ora o 100 MB, a ogni volta che viene prima. I log vengono aggiunti al file corrente man mano che vengono generati da Postgres.
È possibile impostare il periodo di conservazione per questa risorsa di archiviazione dei log a breve termine usando il parametro log_retention_period
. Il valore predefinito è 3 giorni e il valore massimo è 7 giorni. Il percorso di archiviazione a breve termine può contenere fino a 1 GB di file di log. Dopo 1 GB, i file meno recenti, indipendentemente dal periodo di conservazione, verranno eliminati per liberare spazio per i nuovi log.
Per la conservazione a lungo termine dei log e dell'analisi dei log, è possibile scaricare i file .log e spostarli in un servizio di terze parti. È possibile scaricare i file usando il portale di Azure, l'interfaccia della riga di comando di Azure. In alternativa, è possibile configurare le impostazioni di diagnostica di Monitoraggio di Azure che generano automaticamente i log (in formato JSON) in posizioni a lungo termine. Altre informazioni su questa opzione sono disponibili nella sezione seguente.
È possibile interrompere la generazione di file .log impostando il parametro logging_collector
su OFF. Se si usano le impostazioni di diagnostica di Monitoraggio di Azure, è consigliabile disattivare .log generazione di file. Questa configurazione ridurrà l'impatto sulle prestazioni della registrazione aggiuntiva.
Nota
Riavviare il server per applicare la modifica.
Log risorse
Database di Azure per PostgreSQL è integrato con le impostazioni di diagnostica di Monitoraggio di Azure. Le impostazioni di diagnostica consentono di inviare i log Postgres in formato JSON ai log di Monitoraggio di Azure per l'analisi e gli avvisi, Hub eventi per lo streaming e Archiviazione di Azure per l'archiviazione.
Importante
Questa funzionalità di diagnostica per i log del server è disponibile solo nei piani tariffari Per utilizzo generico e Ottimizzato per la memoria.
Configurare le impostazioni di diagnostica
È possibile abilitare le impostazioni di diagnostica per il server Postgres usando il portale di Azure, l'interfaccia della riga di comando, l'API REST e PowerShell. La categoria di log da selezionare è PostgreSQLLogs. Sono disponibili altri log che è possibile configurare se si usa Query Store.
Per abilitare i log delle risorse tramite il portale di Azure:
- Nel portale passare a Impostazioni di diagnostica nel menu di spostamento del server Postgres.
- Selezionare Aggiungi impostazione di diagnostica.
- Denominare questa impostazione.
- Selezionare l'endpoint preferito (account di archiviazione, hub eventi, Log Analytics).
- Selezionare il tipo di Log del server PostgreSQL.
- Salvare l’impostazione.
Per abilitare i log delle risorse usando PowerShell, l'interfaccia della riga di comando o l'API REST, vedere l'articolo sulle impostazioni di diagnostica.
Accedere ai log delle risorse
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.
Di seguito sono riportate le query che è possibile provare a iniziare. È possibile configurare gli avvisi in base alle query.
Cercare tutti i log postgres per un determinato server nell'ultimo giorno
AzureDiagnostics
| where LogicalServerName_s == "myservername"
| where Category == "PostgreSQLLogs"
| where TimeGenerated > ago(1d)
Cercare tutti i tentativi di connessione non localhost
AzureDiagnostics
| where Message contains "connection received" and Message !contains "host=127.0.0.1"
| where Category == "PostgreSQLLogs" and TimeGenerated > ago(6h)
La query precedente mostrerà i risultati nelle ultime 6 ore per qualsiasi registrazione del server Postgres in questa area di lavoro.
Formato del log
La tabella seguente descrive i campi per il tipo PostgreSQLLogs. A seconda dell'endpoint di output scelto è possibile che i campi inclusi e il relativo ordine di visualizzazione siano differenti.
Campo | Descrizione |
---|---|
TenantId | ID del tenant. |
SourceSystem | Azure |
TimeGenerated [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 | Servers |
ResourceId | URI risorsa |
Conto risorse | Nome del server |
Categoria | PostgreSQLLogs |
OperationName | LogEvent |
errorLevel | Livello di registrazione, ad esempio: LOG, ERROR, NOTICE |
Message | Messaggio di log primario |
Dominio | Versione del server, ad esempio: postgres-10 |
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) |
LogicalServerName | Nome del server |
_ResourceId | URI risorsa |
Prefisso | Prefisso della riga di log |
Passaggi successivi
- Altre informazioni sull'accesso ai log dal portale di Azure oppure dall'interfaccia della riga di comando di Azure.
- Altre informazioni sui prezzi di Monitoraggio di Azure.
- Altre informazioni sui log di controllo