Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Observação
O AMA (Agente do Azure Monitor) coleta dados de monitoramento do sistema operacional convidado de máquinas virtuais do Azure e híbridas, assim como de Conjuntos de Dimensionamento de Máquinas Virtuais, e os entrega ao Azure Monitor para serem utilizados por funcionalidades, insights e outros serviços, como o Microsoft Sentinel e o Microsoft Defender para Nuvem.
É recomendável usar o Agente do Azure Monitor para coletar logs e métricas dos Conjuntos de Dimensionamento de Máquinas Virtuais. Para obter mais informações, consulte a visão geral do Agente do Azure Monitor.
Usando a extensão de Diagnóstico do Azure para Windows (WAD) no Azure Monitor, você pode coletar métricas e logs do sistema operacional do convidado que é executado como parte de uma máquina virtual, serviço de nuvem ou cluster do Azure Service Fabric. A extensão pode enviar telemetria para vários locais diferentes listados no artigo vinculado anteriormente.
O artigo descreve o processo para enviar métricas de desempenho do SO convidado de um conjunto de dimensionamento de máquinas virtuais do Windows para o armazenamento de dados do Azure Monitor. A partir da versão 1.11 do Diagnóstico do Microsoft Azure, é possível gravar métricas diretamente no repositório de métricas do Azure Monitor, onde métricas de plataforma padrão já foram coletadas. Ao armazená-los nesse local, você pode acessar as mesmas ações que estão disponíveis para as métricas da plataforma. As ações incluem alertas, gráficos, roteamento, acesso da API REST e muito mais em tempo real. Anteriormente, a extensão de Diagnóstico do Microsoft Azure era gravada no Armazenamento do Microsoft Azure, mas não no armazenamento de dados do Azure Monitor.
Se você for novo nos modelos do Resource Manager, saiba mais sobre implantações de modelo e sua estrutura e sintaxe.
Observação
Recomendamos que você use o módulo do Az PowerShell do Azure para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo do Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.
Pré-requisitos
Sua assinatura deve ser registrada no Microsoft.Insights.
Você precisa ter o Azure PowerShell instalado ou usar o Azure Cloud Shell.
Configurar o Azure Monitor como um coletor de dados
A extensão de Diagnóstico do Azure usa um recurso chamado coletores de dados para encaminhar métricas e logs para locais diferentes. As etapas a seguir mostram como usar um modelo do Resource Manager e o PowerShell para implantar uma VM usando o novo coletor de dados do Monitor do Azure.
Autor de um modelo do Resource Manager
Para este exemplo, você pode usar um modelo de exemplo disponível publicamente:
Azuredeploy.json é um modelo pré-configurado do Resource Manager para implantação de um conjunto de dimensionamento de máquinas virtuais.
Azuredeploy.parameters.json é um arquivo de parâmetros que armazena informações como qual nome de usuário e senha você deseja definir para sua VM. Durante a implantação, o modelo do Resource Manager usa os parâmetros definidos no arquivo.
Baixe e salve os dois arquivos localmente.
Modificar azuredeploy.parameters.json
Abra o arquivo azuredeploy.parameters.json :
- Forneça um vmSKU que você deseja implantar. É recomendável Standard_D2_v3.
- Especifique uma windowsOSVersion que você deseja para seu conjunto de dimensionamento de máquina virtual. É recomendável 2016-Datacenter.
- Nomeie o recurso do conjunto de dimensionamento de máquinas virtuais a ser implantado usando uma propriedade vmssName . Um exemplo é VMSS-WAD-TEST.
- Especifique o número de VMs que você deseja executar no conjunto de dimensionamento de máquinas virtuais usando a propriedade instanceCount .
- Insira valores para adminUsername e adminPassword para o conjunto de dimensionamento de máquinas virtuais. Esses parâmetros são usados para o acesso remoto às VMs no conjunto de dimensionamento. Para evitar que sua VM seja invadida, não use as que estão neste modelo. Os bots verificam a internet em busca de nomes de usuários e senhas em repositórios públicos do GitHub. Eles provavelmente testarão VMs com esses padrões.
Modificar azuredeploy.json
Abra o arquivo azuredeploy.json .
Adicione uma variável para conter as informações da conta de armazenamento no modelo do Resource Manager. Todos os logs ou contadores de desempenho especificados no arquivo de configuração de diagnósticos são gravados no repositório de métricas do Azure Monitor e na conta de armazenamento que você especifica aqui:
"variables": {
//add this line
"storageAccountName": "[concat('storage', uniqueString(resourceGroup().id))]",
...
}
Localize a definição do conjunto de dimensionamento de máquinas virtuais na seção de recursos e adicione a seção de identidade à configuração. Essa adição garante que o Azure atribua a ela uma identidade do sistema. Esta etapa também garante que as VMs no conjunto de dimensionamento possam emitir métricas de convidados sobre si mesmas para o Monitor do Azure:
{
"type": "Microsoft.Compute/virtualMachineScaleSets",
"name": "[variables('namingInfix')]",
"___location": "[resourceGroup().___location]",
"apiVersion": "2017-03-30",
//add these lines below
"identity": {
"type": "systemAssigned"
},
//end of lines to add
...
}
No recurso de escalonamento de máquinas virtuais, localize a seção virtualMachineProfile. Adicione um novo perfil chamado extensionsProfile para gerenciar extensões.
No extensionProfile, adicione uma nova extensão ao modelo, conforme mostrado na seção VMSS-WAD-extension . Esta seção é de identidades gerenciadas para a extensão de recursos do Azure que garante que as métricas que estão sendo emitidas sejam aceitas pelo Azure Monitor. O campo de nome pode conter qualquer nome.
O código a seguir da extensão MSI também adiciona a extensão e a configuração de diagnóstico como um recurso de extensão ao recurso de conjunto de escala da máquina virtual. Sinta-se à vontade para adicionar ou remover contadores de desempenho conforme necessário:
"extensionProfile": {
"extensions": [
// BEGINNING of added code
// Managed identities for Azure resources
{
"name": "VMSS-WAD-extension",
"properties": {
"publisher": "Microsoft.ManagedIdentity",
"type": "ManagedIdentityExtensionForWindows",
"typeHandlerVersion": "1.0",
"autoUpgradeMinorVersion": true,
"settings": {
"port": 50342
},
"protectedSettings": {}
}
},
// add diagnostic extension. (Remove this comment after pasting.)
{
"name": "[concat('VMDiagnosticsVmExt','_vmNodeType0Name')]",
"properties": {
"type": "IaaSDiagnostics",
"autoUpgradeMinorVersion": true,
"protectedSettings": {
"storageAccountName": "[variables('storageAccountName')]",
"storageAccountKey": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName')),'2015-05-01-preview').key1]",
"storageAccountEndPoint": "https://core.windows.net/"
},
"publisher": "Microsoft.Azure.Diagnostics",
"settings": {
"WadCfg": {
"DiagnosticMonitorConfiguration": {
"overallQuotaInMB": "50000",
"PerformanceCounters": {
"scheduledTransferPeriod": "PT1M",
"sinks": "AzMonSink",
"PerformanceCounterConfiguration": [
{
"counterSpecifier": "\\Memory\\% Committed Bytes In Use",
"sampleRate": "PT15S"
},
{
"counterSpecifier": "\\Memory\\Available Bytes",
"sampleRate": "PT15S"
},
{
"counterSpecifier": "\\Memory\\Committed Bytes",
"sampleRate": "PT15S"
}
]
},
"EtwProviders": {
"EtwEventSourceProviderConfiguration": [
{
"provider": "Microsoft-ServiceFabric-Actors",
"scheduledTransferKeywordFilter": "1",
"scheduledTransferPeriod": "PT5M",
"DefaultEvents": {
"eventDestination": "ServiceFabricReliableActorEventTable"
}
},
{
"provider": "Microsoft-ServiceFabric-Services",
"scheduledTransferPeriod": "PT5M",
"DefaultEvents": {
"eventDestination": "ServiceFabricReliableServiceEventTable"
}
}
],
"EtwManifestProviderConfiguration": [
{
"provider": "cbd93bc2-71e5-4566-b3a7-595d8eeca6e8",
"scheduledTransferLogLevelFilter": "Information",
"scheduledTransferKeywordFilter": "4611686018427387904",
"scheduledTransferPeriod": "PT5M",
"DefaultEvents": {
"eventDestination": "ServiceFabricSystemEventTable"
}
}
]
}
},
"SinksConfig": {
"Sink": [
{
"name": "AzMonSink",
"AzureMonitor": {}
}
]
}
},
"StorageAccount": "[variables('storageAccountName')]"
},
"typeHandlerVersion": "1.11"
}
}
]
},
// end of added code. Be sure that the number and type of brackets match properly when done.
{
"type": "Microsoft.Insights/autoscaleSettings",
...
}
Adicione um dependsOn para a conta de armazenamento para garantir que ela seja criada na ordem correta:
"dependsOn": [
"[concat('Microsoft.Network/loadBalancers/', variables('loadBalancerName'))]",
"[concat('Microsoft.Network/virtualNetworks/', variables('virtualNetworkName'))]",
//add this line below
"[concat('Microsoft.Storage/storageAccounts/', variables('storageAccountName'))]"
]
Se já não é criado no modelo, crie uma conta de armazenamento:
"resources": [
// add this code
{
"type": "Microsoft.Storage/storageAccounts",
"name": "[variables('storageAccountName')]",
"apiVersion": "2015-05-01-preview",
"___location": "[resourceGroup().___location]",
"properties": {
"accountType": "Standard_LRS"
}
},
// end added code
{
"type": "Microsoft.Network/virtualNetworks",
"name": "[variables('virtualNetworkName')]",
...
}
]
Salve e feche ambos os arquivos.
Implantar o modelo do Resource Manager
Observação
Você deve estar executando a extensão de Diagnóstico do Azure versão 1.5 ou superior e ter a propriedade autoUpgradeMinorVersion: definida como true no modelo do Resource Manager. Então, o Azure carregará a extensão apropriada ao iniciar a VM. Se você não tiver essas configurações no seu modelo, altere-as e reimplemente o modelo.
Para implantar o modelo do Resource Manager, use o Azure PowerShell:
Inicie o PowerShell.
Entre no Azure usando
Login-AzAccount.Obtenha a lista de assinaturas usando
Get-AzSubscription.Defina a assinatura que você criará ou atualize a máquina virtual:
Select-AzSubscription -SubscriptionName "<Name of the subscription>"Crie um novo grupo de recursos para a VM sendo implantada. Execute o comando a seguir:
New-AzResourceGroup -Name "VMSSWADtestGrp" -Location "<Azure Region>"Execute os seguintes comandos para implantar a VM:
Observação
Se você quiser atualizar um conjunto de dimensionamento existente, adicione -Mode Incremental ao final do comando.
New-AzResourceGroupDeployment -Name "VMSSWADTest" -ResourceGroupName "VMSSWADtestGrp" -TemplateFile "<File path of your azuredeploy.JSON file>" -TemplateParameterFile "<File path of your azuredeploy.parameters.JSON file>"Depois que sua implantação for bem-sucedida, você deverá localizar a escala da máquina virtual definida no portal do Azure. Ele deve emitir métricas para o Monitor do Azure.
Observação
Você pode encontrar erros relacionados ao vmSkuSize selecionado. Nesse caso, volte para o arquivo azuredeploy.json e atualize o valor padrão do parâmetro vmSkuSize . Recomendamos que você tente Standard_DS1_v2.
Fazer um gráfico das métricas
Entre no portal do Azure.
No menu à esquerda, selecione Monitor.
Na página Monitorar , selecione Métricas.
Altere o período de agregação para Últimos 30 minutos.
No menu suspenso de recursos, selecione o conjunto de escalas da máquina virtual que você criou.
No menu suspenso de namespaces, selecione Convidado da Máquina Virtual.
No menu suspenso de métricas, selecione Bytes de Memória%Confirmados em Uso.
Você também pode optar por usar as dimensões nessa métrica para traçar uma VM específica ou plotar cada VM no conjunto de escala.
Próximas etapas
- Saiba mais sobre métricas personalizadas.

