Monitorování a škálování jednoho serveru PostgreSQL pomocí Azure CLI

PLATÍ PRO: Azure Database for PostgreSQL – Azure Database for PostgreSQL jednoúčelového serveru – flexibilní server

Tento ukázkový skript rozhraní příkazového řádku škáluje výpočetní prostředky a úložiště pro jeden Azure Database for PostgreSQL server po dotazování metrik. Výpočetní prostředky se můžou vertikálně navýšit nebo snížit. Úložiště může vertikálně navýšit kapacitu.

Důležité

Úložiště je možné vertikálně navýšit, nikoli snížit.

Pokud předplatné Azure nemáte, vytvořte si před zahájením bezplatný účet Azure .

Požadavky

Můžete použít Azure Cloud Shell nebo místní Azure CLI.

  • Azure Cloud Shell s prostředím Bash. Nebo tady spusťte Cloud Shell.

    Spuštění služby Cloud Shell v novém okně

  • Místní Azure CLI najdete v tématu instalace Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Dockeru. Další informace najdete v tématu Jak spustit Azure CLI v kontejneru Dockeru.

    • Přihlaste se k Azure CLI pomocí příkazu az login . Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených na terminálu. Další možnosti přihlášení najdete v tématu Přihlášení pomocí Azure CLI.

    • Při prvním použití Azure CLI nainstalujte rozšíření Azure CLI. Další informace o rozšířeních najdete v tématu Využití rozšíření v Azure CLI.

    • Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.

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.

Po otevření Cloud Shell ověřte, že je pro vaše prostředí vybraný Bash. Následné relace budou používat Azure CLI v prostředí Bash, výběrem možnosti Kopírovat zkopírujte bloky kódu, vložte ho do Cloud Shell a stisknutím klávesy Enter ho spusťte.

Přihlášení k Azure

Cloud Shell se automaticky ověřuje pod počátečním přihlášeným účtem. Pomocí následujícího skriptu se přihlaste pomocí jiného předplatného a nahraďte <Subscription ID> ID předplatného Azure. Pokud předplatné Azure nemáte, vytvořte si před zahájením bezplatný účet Azure .

subscription="<subscriptionId>" # add subscription here

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

Další informace najdete v tématu Nastavení aktivního předplatného nebo interaktivního přihlášení.

Spuštění skriptu

# Monitor and scale a single PostgreSQL server

# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
subscriptionId="$(az account show --query id -o tsv)"
location="East US"
resourceGroup="msdocs-postgresql-rg-$randomIdentifier"
tag="scale-postgresql-server"
server="msdocs-postgresql-server-$randomIdentifier"
sku="GP_Gen5_2"
login="azureuser"
password="Pa$$w0rD-$randomIdentifier"
scaleUpSku="GP_Gen5_4"
scaleDownSku="GP_Gen5_2"
storageSize="102400"

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

# Monitor usage metrics - CPU
echo "Returning the CPU usage metrics for $server"
az monitor metrics list --resource "/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.DBforPostgresql/servers/$server" --metric cpu_percent --interval PT1M

# Monitor usage metrics - Storage
echo "Returning the storage usage metrics for $server"
az monitor metrics list --resource "/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.DBforPostgresql/servers/$server" --metric storage_used --interval PT1M

# Scale up the server by provisionining more vCores within the same tier
echo "Scaling up $server by changing the SKU to $scaleUpSku"
az postgres server update --resource-group $resourceGroup --name $server --sku-name $scaleUpSku

# Scale down the server by provisioning fewer vCores within the same tier
echo "Scaling down $server by changing the SKU to $scaleDownSku"
az postgres server update --resource-group $resourceGroup --name $server --sku-name $scaleDownSku

# Scale up the server to provision a storage size of 10GB
# Storage size cannot be reduced
echo "Scaling up the storage size for $server to $storageSize"
az postgres server update --resource-group $resourceGroup --name $server --storage-size $storageSize

Vyčištění 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. Vytvoření některých z těchto prostředků může chvíli trvat, stejně jako odstranění.

az group delete --name $resourceGroup

Referenční informace k ukázce

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

Příkaz Poznámky
az group create Vytvoří skupinu prostředků, ve které se ukládají všechny prostředky.
az postgres server create Vytvoří server PostgreSQL, který je hostitelem databází.
az postgres server update Aktualizace vlastnosti serveru PostgreSQL.
az monitor metrics list Vypíše hodnotu metriky pro prostředky.
az group delete Odstraní skupinu prostředků včetně všech vnořených prostředků.

Další kroky