Delen via


Schakel langzame querylogs van een Azure Database voor PostgreSQL flexibele serverinstantie in en download ze met behulp van Azure CLI.

Met dit CLI-voorbeeldscript kunt u de logboeken voor langzame query's van één flexibele Azure Database for PostgreSQL-serverinstantie inschakelen en downloaden.

Als u geen Azure-account hebt, maak dan een gratis account aan voordat u begint.

Vereiste voorwaarden

Voorbeeldscript

Azure Cloud Shell starten

Azure Cloud Shell is een gratis interactieve shell waarmee u de stappen in dit artikel kunt uitvoeren. Veelgebruikte Azure-hulpprogramma's zijn vooraf geïnstalleerd en geconfigureerd voor gebruik met uw account.

Als u Cloud Shell wilt openen, selecteert u Proberen in de rechterbovenhoek van een codeblok. U kunt Cloud Shell ook openen in een afzonderlijk browsertabblad door naar https://shell.azure.com te gaan.

Wanneer Cloud Shell wordt geopend, controleert u of Bash is geselecteerd voor uw omgeving. Latere sessies zullen gebruikmaken van Azure CLI in een Bash-omgeving. Selecteer Copy om de codeblokken te kopiëren, plak ze in de Cloud Shell, en druk op Enter om ze uit te voeren.

Aanmelden bij Azure

Cloud Shell wordt automatisch geauthenticeerd met het oorspronkelijke account waarmee je bent aangemeld. Gebruik het volgende script om in te loggen met een ander abonnement. Vervang subscriptionId door je Azure-abonnement-ID.

Als u geen Azure-account hebt, maak dan een gratis account aan voordat u begint.

subscription="subscriptionId" # Set Azure subscription ID here

az account set -s $subscription # ...or use 'az login'

Zie Het actieve abonnement instellen of interactief aanmelden voor meer informatie.

Het script uitvoeren

# Enable and download server slow query logs of an Azure Database for PostgreSQL server

# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-postgresql-rg-$randomIdentifier"
tag="server-logs-postgresql"
server="msdocs-postgresql-server-$randomIdentifier"
sku="GP_Gen5_2"
login="azureuser"
password="Pa$$w0rD-$randomIdentifier"
configurationParameter="slow_query_log"
logValue="On"
durationStatementLog="durationStatementLog-$randomIdentifier"
logDuration="10000"
logFileList="logFileList"

echo "Using resource group $resourceGroup with login: $login, password: $password..."

# Create a resource group
echo "Creating $resourceGroup in $location..."
az group create --name $resourceGroup --location "$location" --tags $tag

# Create a PostgreSQL server in the resource group
# Name of a server maps to DNS name and is thus required to be globally unique in Azure.
echo "Creating $server in $location..."
az postgres server create --name $server --resource-group $resourceGroup --location "$location" --admin-user $login --admin-password $password --sku-name $sku

# List the configuration options for review
echo "Returning the configuration options on $server"
az postgres server configuration list --resource-group $resourceGroup --server $server

# Turn on statement level log
echo "Enable the statement level log"
az postgres server configuration set --name log_statement --resource-group $resourceGroup --server $server --value all

# Set log_min_duration_statement time to 10 sec
echo "Setting log_min_duration_statement to 10 sec"
az postgres server configuration set --name log_min_duration_statement --resource-group $resourceGroup --server $server --value 10000

# List the available log files
echo "Returning the list of available log files on $server"
az postgres server-logs list --resource-group $resourceGroup --server $server

# To download log file from Azure, direct the output of the previous comment to a text file 
# "> log_files_list.txt"
# Review the text file to find the server log file name for the desired timeframe
# Substitute the <log_file_name> in the script below with your server log file name
# Creates the log file in the current command line path
# az postgres server-logs download --name <log_file_name> $resourceGroup --server $server

Opschoning van de implementatie

Gebruik de volgende opdracht om de resourcegroep en alle bijbehorende resources te verwijderen met behulp van het az group delete-commando, tenzij u deze resources nog nodig heeft. Sommige van deze resources kunnen wat tijd vergen om te maken, maar ook om te verwijderen.

az group delete --name $resourceGroup

Voorbeeldreferentie

Dit script maakt gebruik van de opdrachten die in de volgende tabel worden weergegeven:

Opdracht Notes
az groep maken Hiermee wordt een resourcegroep gemaakt waarin alle resources worden opgeslagen.
az postgres server create - Gebruik deze opdracht om een nieuwe PostgreSQL-server te maken. Hiermee maakt u een azure Database for PostgreSQL Flexible Server-exemplaar dat als host fungeert voor de databases.
az postgres server configuratielijst weergeven Geeft een lijst van de configuratiewaarden voor een server.
az postgres server configuratie instellen Hiermee wordt de configuratie van een server bijgewerkt.
az postgres server-logs list Een lijst met logboekbestanden voor een server.
az postgres server-logs downloaden Hiermee downloadt u logboekbestanden.
az groep verwijderen Verwijdert een resourcegroep, inclusief alle onderliggende resources.