Monitorizar e dimensionar um servidor da Base de Dados do Azure para MySQL com a CLI do Azure
[APLICA-SE A: Base de Dados do Azure para MySQL – Base de Dados do Azure para MySQL de Servidor Único – Servidor Flexível
Este script da CLI de exemplo dimensiona a computação e o armazenamento de um único servidor Base de Dados do Azure para MySQL após consultar as métricas. A computação pode aumentar ou reduzir verticalmente. O armazenamento só pode aumentar verticalmente.
Se não tiver uma subscrição do Azure, crie uma conta gratuita do Azure antes de começar.
Pré-requisitos
Utilize o ambiente bash no Azure Cloud Shell. Para obter mais informações, veja Início Rápido do Bash no Azure Cloud Shell.
Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se estiver a utilizar o Windows ou macOS, considere executar a CLI do Azure num contentor Docker. Para obter mais informações, veja Como executar a CLI do Azure num contentor do Docker.
Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de início de sessão, veja Iniciar sessão com a CLI do Azure.
Quando lhe for pedido, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre as extensões, veja Utilizar extensões com o CLI do Azure.
Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.
Script de exemplo
Iniciar o Azure Cloud Shell
O Azure Cloud Shell é um shell interativo gratuito que pode utilizar para executar os passos neste artigo. Tem as ferramentas comuns do Azure pré-instaladas e configuradas para utilização com a sua conta.
Para abrir o Cloud Shell, basta selecionar Experimente no canto superior direito de um bloco de código. Também pode iniciar o Cloud Shell num separador do browser separado ao aceder a https://shell.azure.com.
Quando Cloud Shell abrir, verifique se o Bash está selecionado para o seu ambiente. As sessões subsequentes irão utilizar a CLI do Azure num ambiente bash, selecionar Copiar para copiar os blocos de código, colá-lo no Cloud Shell e premir Enter para executá-lo.
Iniciar sessão no Azure
Cloud Shell é autenticado automaticamente na conta inicial com sessão iniciada. Utilize o seguinte script para iniciar sessão com uma subscrição diferente, substituindo <Subscription ID>
pelo ID da Subscrição do Azure. Se não tiver uma subscrição do Azure, crie uma conta gratuita do Azure antes de começar.
subscription="<subscriptionId>" # add subscription here
az account set -s $subscription # ...or use 'az login'
Para obter mais informações, veja Definir a subscrição ativa ou iniciar sessão interativamente
Executar o script
# Monitor and scale an Azure Database for MySQL server
# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
subscriptionId="$(az account show --query id -o tsv)"
location="East US"
resourceGroup="msdocs-mysql-rg-$randomIdentifier"
tag="scale-mysql-server"
server="msdocs-mysql-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 MySQL 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 mysql 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.DBforMySQL/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.DBforMySQL/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 mysql 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 mysql 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 mysql server update --resource-group $resourceGroup --name $server --storage-size $storageSize
Limpar os recursos
Utilize o seguinte comando para remover o grupo de recursos e todos os recursos associados ao mesmo com o comando az group delete , a menos que tenha uma necessidade contínua destes recursos. Alguns destes recursos podem demorar algum tempo a criar, bem como a eliminar.
az group delete --name $resourceGroup
Referência de exemplo
Este script utiliza os comandos descritos na tabela seguinte:
Comando | Notas |
---|---|
az group create | Cria um grupo de recursos no qual todos os recursos são armazenados. |
az mysql server create | Cria um servidor MySQL que aloja as bases de dados. |
az mysql server update | Atualizações propriedades do servidor MySQL. |
az monitor metrics list | Liste o valor métrico dos recursos. |
az group delete | Elimina um grupo de recursos, incluindo todos os recursos aninhados. |
Passos seguintes
- Saiba mais sobre Base de Dados do Azure para MySQL computação e armazenamento
- Experimente scripts adicionais: Exemplos da CLI do Azure para a Base de Dados do Azure para MySQL
- Saiba mais sobre a CLI do Azure