Share via


Azure Database for PostgreSQL - Enkele server

VAN TOEPASSING OP: Azure Database for PostgreSQL - enkele server

Belangrijk

Azure Database for PostgreSQL - Enkele server bevindt zich op het buitengebruikstellingspad. We raden u ten zeerste aan om een upgrade uit te voeren naar Azure Database for PostgreSQL - Flexible Server. Zie Wat gebeurt er met Azure Database for PostgreSQL Enkele server voor meer informatie over migreren naar Azure Database for PostgreSQL - Flexible Server.

Met Azure Database for PostgreSQL kunt u standaardlogboeken van Postgres configureren en openen. De logboeken kunnen worden gebruikt voor het identificeren, opsporen en herstellen van configuratiefouten en suboptimale prestaties. Logboekgegevens die u kunt configureren en openen, zijn fouten, querygegevens, autovacuumrecords, verbindingen en controlepunten. (Toegang tot transactielogboeken is niet beschikbaar).

Auditlogboekregistratie wordt beschikbaar gesteld via een PostgreSQL-extensie, pgaudit. Ga naar het artikel over controleconcepten voor meer informatie.

Logboekregistratie configureren

U kunt Standaardlogboekregistratie van Postgres op uw server configureren met behulp van de parameters van de logboekregistratieserver. Op elke Azure Database for PostgreSQL-server log_checkpoints en log_connections deze zijn standaard ingeschakeld. Er zijn extra parameters die u kunt aanpassen aan uw logboekregistratiebehoeften:

Azure Database for PostgreSQL - Parameters voor logboekregistratie

Ga naar de secties When To Log en What To Log van de Postgres-documentatie voor meer informatie over Postgres-logboekparameters. De meeste, maar niet alle postgres-logboekregistratieparameters zijn beschikbaar om te configureren in Azure Database for PostgreSQL.

Zie de portaldocumentatie of de CLI-documentatie voor meer informatie over het configureren van parameters in Azure Database for PostgreSQL.

Notitie

Het configureren van een groot aantal logboeken, bijvoorbeeld logboekregistratie van instructies, kan aanzienlijke overhead voor prestaties toevoegen.

Toegang krijgen tot logboekbestanden.

De standaardlogboekindeling in Azure Database for PostgreSQL is .log. Een voorbeeldregel uit dit logboek ziet er als volgt uit:

2019-10-14 17:00:03 UTC-5d773cc3.3c-LOG: connection received: host=101.0.0.6 port=34331 pid=16216

Azure Database for PostgreSQL biedt een kortetermijnopslaglocatie voor de .log bestanden. Een nieuw bestand begint om de 1 uur of 100 MB, afhankelijk van wat het eerst voorkomt. Logboeken worden toegevoegd aan het huidige bestand wanneer ze worden verzonden vanuit Postgres.

U kunt de bewaarperiode voor deze kortetermijnlogboekopslag instellen met behulp van de log_retention_period parameter. De standaardwaarde is drie dagen, de maximumwaarde is zeven dagen. De opslaglocatie voor de korte termijn kan maximaal 1 GB aan logboekbestanden bevatten. Na 1 GB worden de oudste bestanden, ongeacht de bewaarperiode, verwijderd om ruimte te maken voor nieuwe logboeken.

Voor langetermijnretentie van logboeken en logboekanalyse kunt u de .log bestanden downloaden en naar een service van derden verplaatsen. U kunt de bestanden downloaden met behulp van Azure Portal, Azure CLI. U kunt ook diagnostische instellingen van Azure Monitor configureren waarmee uw logboeken (in JSON-indeling) automatisch worden verzonden naar locaties op langere termijn. Meer informatie over deze optie vindt u in de onderstaande sectie.

U kunt stoppen met het genereren van .log bestanden door de parameter in te stellen op logging_collector UIT. Het uitschakelen van .log bestandsgeneratie wordt aanbevolen als u diagnostische instellingen van Azure Monitor gebruikt. Deze configuratie vermindert de gevolgen voor de prestaties van extra logboekregistratie.

Notitie

De server opnieuw opstarten om deze wijziging toe te passen.

Resourcelogboeken

Azure Database for PostgreSQL is geïntegreerd met diagnostische instellingen van Azure Monitor. Met diagnostische instellingen kunt u uw Postgres-logboeken in JSON-indeling verzenden naar Azure Monitor-logboeken voor analyse en waarschuwingen, Event Hubs voor streaming en Azure Storage voor archivering.

Belangrijk

Deze diagnostische functie voor serverlogboeken is alleen beschikbaar in de prijscategorieën Algemeen gebruik en Geoptimaliseerd voor geheugen.

Diagnostische instellingen configureren

U kunt diagnostische instellingen voor uw Postgres-server inschakelen met behulp van Azure Portal, CLI, REST API en PowerShell. De te selecteren logboekcategorie is PostgreSQLLogs. (Er zijn andere logboeken die u kunt configureren als u Query Store.)

Resourcelogboeken inschakelen met behulp van Azure Portal:

  1. Ga in de portal naar Diagnostische Instellingen in het navigatiemenu van uw Postgres-server.
  2. Selecteer Diagnostische instelling toevoegen.
  3. Geef deze instelling een naam.
  4. Selecteer uw voorkeurseindpunt (opslagaccount, Event Hub, Log Analytics).
  5. Selecteer het logboektype PostgreSQL-serverlogboeken.
  6. Sla uw instelling op.

Als u resourcelogboeken wilt inschakelen met behulp van PowerShell, CLI of REST API, gaat u naar het artikel met diagnostische instellingen .

Toegang tot resourcelogboeken

De manier waarop u de logboeken opent, is afhankelijk van het eindpunt dat u kiest. Zie het artikel over het logboekopslagaccount voor Azure Storage. Zie het artikel over Azure-logboeken streamen voor Event Hubs.

Voor Azure Monitor-logboeken worden logboeken verzonden naar de werkruimte die u hebt geselecteerd. De Postgres-logboeken maken gebruik van de verzamelingsmodus AzureDiagnostics , zodat ze kunnen worden opgevraagd vanuit de tabel AzureDiagnostics. De velden in de tabel worden hieronder beschreven. Meer informatie over het uitvoeren van query's en waarschuwingen in het overzicht van azure Monitor-logboeken.

Hier volgen query's die u kunt proberen om aan de slag te gaan. U kunt waarschuwingen configureren op basis van query's.

Zoeken naar alle Postgres-logboeken voor een bepaalde server in de afgelopen dag

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

Zoeken naar alle niet-localhost-verbindingspogingen

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

De bovenstaande query toont de resultaten van de afgelopen 6 uur voor logboekregistratie van postgres-servers in deze werkruimte.

Logboekindeling

In de volgende tabel worden de velden voor het type PostgreSQLLogs beschreven. Afhankelijk van het uitvoereindpunt dat u kiest, kunnen de velden die zijn opgenomen en de volgorde waarin ze worden weergegeven, variëren.

Veld Beschrijving
TenantId Uw tenant-id
SourceSystem Azure
TimeGenerated [UTC] Tijdstempel waarop het logboek is vastgelegd in UTC
Type Type van het logboek. Altijd AzureDiagnostics
SubscriptionId GUID voor het abonnement waartoe de server behoort
ResourceGroup De naam van de resourcegroep waartoe de server behoort
ResourceProvider Naam van de resourceprovider. Altijd MICROSOFT.DBFORPOSTGRESQL
ResourceType Servers
ResourceId Resource-URI
Bron Naam van de server
Categorie PostgreSQLLogs
OperationName LogEvent
Errorlevel Logboekregistratieniveau, voorbeeld: LOGBOEK, FOUT, KENNISGEVING
Bericht Primair logboekbericht
Domain Serverversie, voorbeeld: postgres-10
Detail Secundair logboekbericht (indien van toepassing)
ColumnName Naam van de kolom (indien van toepassing)
SchemaName Naam van het schema (indien van toepassing)
DatatypeName Naam van het gegevenstype (indien van toepassing)
LogicalServerName Naam van de server
_ResourceId Resource-URI
Voorvoegsel Voorvoegsel van logboeklijn

Volgende stappen