Aracılığıyla paylaş


Azure CLI kullanarak PostgreSQL için Azure Veritabanı esnek sunucu örneğinin sunucu yavaş sorgu günlüklerini etkinleştirme ve indirme

Bu örnek CLI betiği, tek bir PostgreSQL için Azure Veritabanı esnek sunucu örneğinin yavaş sorgu günlüklerini etkinleştirir ve indirir.

Azure hesabınız yoksa, başlamadan önce ücretsiz hesap oluşturun.

Önkoşullar

Örnek senaryo

Azure Cloud Shell'i başlatma

Azure Cloud Shell, bu makaledeki adımları çalıştırmak için kullanabileceğiniz ücretsiz bir etkileşimli shell'dir. Sık kullanılan Azure araçları önceden yüklenmiş ve hesabınızla kullanılacak şekilde yapılandırılmıştır.

Cloud Shell'i açmak için, bir kod bloğunun sağ üst köşesindeki Deneyin seçeneğini seçin. Cloud Shell'i ayrı bir tarayıcı sekmesinde başlatmak için https://shell.azure.com adresine gidebilirsiniz.

Cloud Shell açıldığında ortamınız için Bash'in seçili olduğunu doğrulayın. Gelecek oturumlar, Azure CLI'yi bir Bash ortamında kullanacaktır. Kod bloklarını kopyalamak için Kopyala seçeneğine tıklayın, Cloud Shell'e yapıştırın ve çalıştırmak için Enter tuşuna basın.

Azure'a Giriş Yap

Cloud Shell'de oturum açılan ilk hesapta otomatik olarak kimlik doğrulaması yapılır. Farklı bir abonelik kullanarak oturum açmak için aşağıdaki betiği kullanın ve subscriptionId kısmını Azure abonelik kimliğinizle değiştirin.

Azure hesabınız yoksa, başlamadan önce ücretsiz hesap oluşturun.

subscription="subscriptionId" # Set Azure subscription ID here

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

Daha fazla bilgi için etkin abonelik ayarlama veya etkileşimli oturum açma konularına bakın.

Script'i çalıştırın

# 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

Dağıtımı Temizle

Bu kaynaklara sürekli ihtiyaç duymadığınız sürece az group delete komutunu kullanarak kaynak grubunu ve onunla ilişkili tüm kaynakları kaldırmak için aşağıdaki komutu kullanın. Bu kaynaklardan bazılarının oluşturulması ve silinmesi biraz zaman alabilir.

az group delete --name $resourceGroup

Örnek referans

Bu betik, aşağıdaki tabloda ana hatları verilen komutları kullanır:

Command Notlar
az group create komutu bir grup oluşturmak için kullanılır. Tüm kaynakların depolandığı bir kaynak grubu oluşturur.
az postgres server create komutunu kullanarak bir PostgreSQL sunucusu oluşturun Veritabanlarını barındıran PostgreSQL için Azure Veritabanı esnek bir sunucu örneği oluşturur.
az postgres sunucu yapılandırma listesi Bir sunucunun yapılandırma değerlerini listeler.
az postgres sunucu yapılandırma seti Sunucunun yapılandırmasını güncelleştirir.
az postgres server-logs list Sunucu için günlük dosyalarını listeler.
Komut: az postgres server-logs download - Bu komut, PostgreSQL sunucu günlüklerini indirmenizi sağlar. Günlük dosyalarını indirir.
az grubunu sil Bir kaynak grubunu, içindeki tüm yerleşik kaynaklarla birlikte siler.