Sdílet prostřednictvím


Povolení a stažení protokolů pomalých dotazů serveru Azure Database for PostgreSQL flexibilní instance serveru pomocí Azure CLI

Tento ukázkový skript rozhraní příkazového řádku umožňuje a stáhne protokoly pomalých dotazů jedné instance flexibilního serveru Azure Database for PostgreSQL.

Pokud nemáte účet Azure, vytvořte si bezplatný účet před tím, než začnete.

Požadavky

Ukázkový skript

Spuštění služby Azure Cloud Shell

Azure Cloud Shell je bezplatné interaktivní prostředí, které můžete použít k provedení kroků v tomto článku. Má předinstalované obecné nástroje Azure, které jsou nakonfigurované pro použití s vaším účtem.

Pokud chcete otevřít Cloud Shell, vyberte položku Vyzkoušet v pravém horním rohu bloku kódu. Cloud Shell můžete spustit také na samostatné kartě prohlížeče na adrese https://shell.azure.com.

Až se otevře Cloud Shell, ověřte, že je pro vaše prostředí vybrán Bash. Následující sezení budou používat Azure CLI v prostředí Bash. Vyberte Kopírovat pro zkopírování bloků kódu, vložte je do Cloud Shell a stiskněte Enter pro spuštění.

Přihlásit se do Azure

Cloud Shell se automaticky ověřuje pomocí účtu, pod kterým bylo provedeno první přihlášení. Pomocí následujícího skriptu se přihlaste pomocí jiného předplatného a nahraďte id předplatného Azure.

Pokud nemáte účet Azure, vytvořte si bezplatný účet před tím, než začnete.

subscription="subscriptionId" # Set Azure subscription ID here

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

Pro více informací si přečtěte nastavení aktivního předplatného nebo přihlášení interaktivně.

Spuštění skriptu

# 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

Úklid po nasazení

Pomocí následujícího příkazu odeberte skupinu prostředků a všechny prostředky přidružené k ní pomocí příkazu az group delete – pokud tyto prostředky nepotřebujete. Některé z těchto zdrojů mohou trvat déle, než budou vytvořeny, stejně jako než budou smazány.

az group delete --name $resourceGroup

Referenční ukázka

Tento skript používá příkazy uvedené v následující tabulce:

Command Poznámky
Příkaz az group create slouží k vytvoření skupiny v Azure. Vytváří skupinu prostředků, ve které jsou uloženy všechny prostředky.
az postgres server create Vytvoří instanci flexibilního serveru Azure Database for PostgreSQL, která je hostitelem databází.
az seznam konfigurace serveru postgres Zobrazí seznam konfiguračních hodnot pro server.
az postgres server nastavení konfigurace Aktualizuje konfiguraci serveru.
az postgres server-logs list Vypíše soubory protokolu pro server.
az postgres server-logs download (příkaz pro stažení serverových logů Postgres pomocí Azure CLI) Stáhne soubory protokolu.
az group delete (smazat skupinu) Odstraní skupinu zdrojů včetně všech vnořených zdrojů.