Dela via


Konfigurera och komma åt loggar i Azure Database for PostgreSQL

Loggar för Azure Database for PostgreSQL flexibla serverinstanser är tillgängliga på varje nod av en server. Du kan skicka loggar till en lagringsserver eller till en analystjänst. Loggarna kan användas till att identifiera, felsöka och reparera konfigurationsfel och icke optimala prestanda.

Konfigurera diagnostikinställningar

Du kan aktivera diagnostikinställningar för din flexibla Azure Database for PostgreSQL-serverinstans med hjälp av Azure Portal, CLI, REST API och PowerShell. Loggkategorin som ska väljas är PostgreSQLLogs.

Så här aktiverar du resursloggar med hjälp av Azure Portal:

  1. I portalen går du till Diagnostikinställningar i navigeringsmenyn för din flexibla Serverinstans för Azure Database for PostgreSQL.

  2. Välj Lägg till diagnostikinställning. Knappen Lägg till diagnostikinställningar

  3. Namnge den här inställningen.

  4. Välj önskad slutpunkt (Log Analytics-arbetsyta, lagringskonto, händelsehubb).

  5. Välj loggtyp i listan över kategorier (serverloggar, sessionsdata, Query Store Runtime/Wait Statistics osv.) Skärmbild av att välja loggkategorier.

  6. Spara inställningen.

Om du vill aktivera resursloggar med hjälp av PowerShell, CLI eller REST API går du till artikeln diagnostikinställningar .

Komma åt resursloggar

Hur du kommer åt loggarna beror på vilken slutpunkt du väljer. Information om Azure Storage finns i artikeln om logglagringskonto . Information om Event Hubs finns i artikeln strömma Azure-loggar .

För Azure Monitor-loggar skickas loggar till den arbetsyta som du har valt. Azure Database för PostgreSQL-loggarna använder samlingsläget AzureDiagnostics, vilket gör att de kan hämtas från tabellen AzureDiagnostics. Fälten i tabellen beskrivs nedan. Läs mer om frågor och aviseringar i översikten över Azure Monitor-loggar.

Följande är frågor som du kan försöka komma igång med. Du kan konfigurera aviseringar baserat på frågor.

Sök efter alla Azure Database for PostgreSQL-loggar efter en viss server under den senaste dagen.

AzureDiagnostics
| where Resource == "myservername"
| where Category == "PostgreSQLLogs"
| where TimeGenerated > ago(1d) 

Sök efter alla anslutningsförsök som inte är lokala värdar. Nedan visar frågan resultat under de senaste 6 timmarna för eventuell Azure Database for PostgreSQL-loggning på den här arbetsytan.

AzureDiagnostics
| where Message contains "connection received" and Message !contains "host=127.0.0.1"
| where Category == "PostgreSQLLogs" and TimeGenerated > ago(6h)

Sök efter Azure Database för PostgreSQL-sessioner som samlats in från systemvyn pg_stat_activity för en viss server under de senaste 24 timmarna.

AzureDiagnostics
| where Resource == "myservername"
| where Category =='PostgreSQLFlexSessions'
| where TimeGenerated > ago(1d) 

Sök efter Azure Database for PostgreSQL Query Store Runtime-statistik som samlats in från query_store.qs_view för en viss server under den senaste dagen. Det kräver att Query Store är aktiverat.

AzureDiagnostics
| where Resource == "myservername"
| where Category =='PostgreSQLFlexQueryStoreRuntime'
| where TimeGenerated > ago(1d) 

Sök efter väntestatistik från Query Store i Azure Databas för PostgreSQL som samlats in från query_store.pgms_wait_sampling_view för en viss server under det senaste dygnet. Det kräver att frågearkivssampling av väntesampling är aktiverat.

AzureDiagnostics
| where Resource == "myservername"
| where Category =='PostgreSQLFlexQueryStoreWaitStats'
| where TimeGenerated > ago(1d) 

Utför en sökning efter Azure Database for PostgreSQL Autovacuum och Schema Statistics för varje databas på en viss server under det senaste dygnet.

AzureDiagnostics
| where Resource == "myservername"
| where Category =='PostgreSQLFlexTableStats'
| where TimeGenerated > ago(1d) 

Sök efter återstående transaktioner i Azure Database for PostgreSQL och multixacts för nödsituationsautovacuum eller skydd mot omslutning för varje databas på en specifik server under de senaste 24 timmarna.

AzureDiagnostics
| where Resource == "myservername"
| where Category =='PostgreSQLFlexDatabaseXacts'
| where TimeGenerated > ago(1d)