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:
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:
- Ga in de portal naar Diagnostische Instellingen in het navigatiemenu van uw Postgres-server.
- Selecteer Diagnostische instelling toevoegen.
- Geef deze instelling een naam.
- Selecteer uw voorkeurseindpunt (opslagaccount, Event Hub, Log Analytics).
- Selecteer het logboektype PostgreSQL-serverlogboeken.
- 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
- Meer informatie over het openen van logboeken vanuit Azure Portal of Azure CLI.
- Meer informatie over prijzen van Azure Monitor.
- Meer informatie over auditlogboeken