Extensão de VM do Diagnóstico de Desempenho do Azure (PerfInsights) para Windows
Aplica-se a: ✔️ VMs do Windows
A extensão de VM de diagnóstico de desempenho do Azure ajuda a coletar dados de diagnóstico de desempenho de VMs do Windows. A extensão realiza análises e fornece um relatório de descobertas e recomendações para identificar e resolver problemas de desempenho na máquina virtual. Esta extensão instala uma ferramenta de solução de problemas chamada PerfInsights.
Observação
Se você deseja executar diagnósticos em sua VM no portal do Azure para VMs não clássicas, é recomendável usar a nova experiência. Para obter mais informações, consulte Diagnóstico de desempenho para máquinas virtuais do Azure.
Pré-requisitos
Esta extensão pode ser instalada em:
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012 R2
- Windows Server 2012
- Windows Server 2008 R2
- Windows 10
- Windows 8.1
- Windows 8
Esquema de extensão
O JSON a seguir mostra o esquema para a extensão de VM de diagnóstico de desempenho do Azure. Essa extensão requer o nome e a chave de uma conta de armazenamento para armazenar a saída e o relatório de diagnóstico. Esses valores são sensíveis. A chave da conta de armazenamento deve ser armazenada dentro de uma configuração de configuração protegida. Os dados de configuração protegida da extensão de VM do Azure são criptografados e descriptografados apenas na máquina virtual de destino. Observe que storageAccountName e storageAccountKey diferenciam maiúsculas de minúsculas. Outros parâmetros necessários estão listados na seção a seguir.
{
"name": "[concat(parameters('vmName'),'/AzurePerformanceDiagnostics')]",
"type": "Microsoft.Compute/virtualMachines/extensions",
"location": "[parameters('location')]",
"apiVersion": "2015-06-15",
"properties": {
"publisher": "Microsoft.Azure.Performance.Diagnostics",
"type": "AzurePerformanceDiagnostics",
"typeHandlerVersion": "1.0",
"autoUpgradeMinorVersion": true,
"settings": {
"storageAccountName": "[parameters('storageAccountName')]",
"performanceScenario": "[parameters('performanceScenario')]",
"enableContinuousDiagnostics": "[parameters('enableContinuousDiagnostics')]",
"traceDurationInSeconds": "[parameter('traceDurationInSeconds')]",
"perfCounterTrace": "[parameters('perfCounterTrace')]",
"networkTrace": "[parameters('networkTrace')]",
"xperfTrace": "[parameters('xperfTrace')]",
"storPortTrace": "[parameters('storPortTrace')]",
"requestTimeUtc": "[parameters('requestTimeUtc')]",
"resourceId": "[resourceId('Microsoft.Compute/virtualMachines', parameters('vmName'))]"
},
"protectedSettings": {
"storageAccountKey": "[parameters('storageAccountKey')]"
}
}
}
Valores de propriedade
Nome | Valor/Exemplo | Descrição |
---|---|---|
apiVersion | 2015-06-15 | A versão da API. |
publicador | Microsoft.Azure.Performance.Diagnostics | O namespace do editor para a extensão. |
type | AzurePerformanceDiagnostics | O tipo da extensão da VM. |
typeHandlerVersion | 1.0 | A versão do manipulador de extensão. |
performanceScenario | básico | O cenário de desempenho para o qual capturar dados. Os valores válidos são: basic, vmslow, azurefiles e custom. |
enableContinuousDiagnostics | Verdadeiro | Habilite o diagnóstico contínuo. Os valores válidos são true ou false. Para habilitar o Diagnóstico de Desempenho Contínuo, você precisa fornecer essa propriedade. |
traceDurationInSeconds | 300 | A duração dos rastreamentos, se qualquer uma das opções de rastreamento for selecionada. |
perfCounterTrace | p | Opção para ativar o rastreamento do contador de desempenho. Os valores válidos são p ou valor vazio. Se você não deseja capturar esse rastreamento, deixe o valor em branco. |
networkTrace | n | Opção para habilitar Rastreamento de Rede. Os valores válidos são n ou valor vazio. Se você não deseja capturar esse rastreamento, deixe o valor em branco. |
xperfTrace | x | Opção para habilitar XPerf Trace. Os valores válidos são x ou valor vazio. Se você não deseja capturar esse rastreamento, deixe o valor em branco. |
storPortTrace | s | Opção para ativar o StorPort Trace. Os valores válidos são s ou valor vazio. Se você não deseja capturar esse rastreamento, deixe o valor em branco. |
srNúmero | 123452016365929 | O número do tíquete de suporte, se disponível. Deixe o valor em branco se não o tiver. |
requestTimeUtc | 28/09/201722:08:53.736Z | Data e Hora Atual em Utc. Se você estiver usando o portal para instalar esta extensão, não precisará fornecer este valor. |
resourceId | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} | O identificador exclusivo de uma VM. |
storageAccountName | mystorageaccount | O nome da conta de armazenamento para armazenar os resultados e logs de diagnóstico. |
storageAccountKey | lDuVvxuZB28NNP…hAiRF3voADxLBTcc== | A chave para a conta de armazenamento. |
Instalar a extensão
Observação
É recomendável instalar a extensão por meio da folha de diagnóstico de desempenho, conforme descrito em Instalar e executar o diagnóstico de desempenho em sua VM.
Siga estas instruções para instalar a extensão em máquinas virtuais do Windows:
Faça logon no portal do Azure.
Selecione a máquina virtual onde deseja instalar esta extensão.
Selecione a folha Aplicativos de extensões e selecione Adicionar.
Pesquise Azure Performance Diagnostics, clique na extensão, revise os termos e condições e selecione Avançar.
Forneça os valores de parâmetro para a instalação e instale a extensão. Para obter mais informações sobre os cenários compatíveis, consulte Como usar o PerfInsights.
Quando a instalação for bem-sucedida, o status da extensão mostrará Provisionamento bem-sucedido.
Observação
A extensão é executada quando o provisionamento é bem-sucedido. Leva dois minutos ou menos para concluir o cenário básico. Para outros cenários, ele é executado durante a duração especificada durante a instalação.
Remova a extensão
Observação
Recomendamos desinstalar a extensão por meio da folha de diagnóstico de desempenho, conforme descrito em Desinstalar diagnóstico de desempenho.
Para remover a extensão de uma máquina virtual, siga estas etapas:
Entre no portal do Azure, selecione a máquina virtual da qual deseja remover esta extensão e, em seguida, selecione a folha Aplicativos de extensões.
Selecione a extensão de diagnóstico de desempenho e selecione Desinstalar.
Implantação de modelo
As extensões de máquina virtual do Azure podem ser implantadas com modelos do Azure Resource Manager. O esquema JSON detalhado na seção anterior pode ser usado em um modelo do Azure Resource Manager. Isso executa a extensão VM de diagnóstico de desempenho do Azure durante uma implantação de modelo do Azure Resource Manager. Aqui está um modelo de amostra:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string",
"defaultValue": "yourVMName"
},
"location": {
"type": "string",
"defaultValue": "southcentralus"
},
"storageAccountName": {
"type": "securestring",
"defaultValue": "yourStorageAccount"
},
"storageAccountKey": {
"type": "securestring",
"defaultValue": "yourStorageAccountKey"
},
"performanceScenario": {
"type": "string",
"defaultValue": "basic"
},
"enableContinuousDiagnostics": {
"type": "boolean",
"defaultValue": "false"
},
"traceDurationInSeconds": {
"type": "int",
"defaultValue": 300
},
"perfCounterTrace": {
"type": "string",
"defaultValue": "p"
},
"networkTrace": {
"type": "string",
"defaultValue": ""
},
"xperfTrace": {
"type": "string",
"defaultValue": ""
},
"storPortTrace": {
"type": "string",
"defaultValue": ""
},
"requestTimeUtc": {
"type": "string",
"defaultValue": "10/2/2017 11:06:00 PM"
}
},
"resources": [
{
"name": "[concat(parameters('vmName'),'/AzurePerformanceDiagnostics')]",
"type": "Microsoft.Compute/virtualMachines/extensions",
"location": "[parameters('location')]",
"apiVersion": "2015-06-15",
"properties": {
"publisher": "Microsoft.Azure.Performance.Diagnostics",
"type": "AzurePerformanceDiagnostics",
"typeHandlerVersion": "1.0",
"autoUpgradeMinorVersion": true,
"settings": {
"storageAccountName": "[parameters('storageAccountName')]",
"performanceScenario": "[parameters('performanceScenario')]",
"enableContinuousDiagnostics" : "[parameters('enableContinuousDiagnostics')]",
"traceDurationInSeconds": "[parameters('traceDurationInSeconds')]",
"perfCounterTrace": "[parameters('perfCounterTrace')]",
"networkTrace": "[parameters('networkTrace')]",
"xperfTrace": "[parameters('xperfTrace')]",
"storPortTrace": "[parameters('storPortTrace')]",
"requestTimeUtc": "[parameters('requestTimeUtc')]",
"resourceId": "[resourceId('Microsoft.Compute/virtualMachines', parameters('vmName'))]"
},
"protectedSettings": {
"storageAccountKey": "[parameters('storageAccountKey')]"
}
}
}
]
}
Implantação do PowerShell
Use o comando para implantar a Set-AzVMExtension
Extensão de VM do Diagnóstico de Desempenho do Azure em uma máquina virtual existente:
$PublicSettings = @{ "storageAccountName"="mystorageaccount";"performanceScenario"="basic"; "enableContinuousDiagnostics" : $False;"traceDurationInSeconds"=300;"perfCounterTrace"="p";"networkTrace"="";"xperfTrace"="";"storPortTrace"="";"srNumber"="";"requestTimeUtc"="2017-09-28T22:08:53.736Z";"resourceId"="VMResourceId" }
$ProtectedSettings = @{"storageAccountKey"="mystoragekey" }
Set-AzVMExtension -ExtensionName "AzurePerformanceDiagnostics" -ResourceGroupName "myResourceGroup" -VMName "myVM" -Publisher "Microsoft.Azure.Performance.Diagnostics" -ExtensionType "AzurePerformanceDiagnostics" -TypeHandlerVersion 1.0 -Settings $PublicSettings -ProtectedSettings $ProtectedSettings -Location WestUS
Informações sobre os dados capturados
A ferramenta PerfInsights coleta vários logs, configuração e dados de diagnóstico, dependendo do cenário selecionado. Para obter mais informações, consulte a Documentação do PerfInsights.
Veja e compartilhe os resultados
A saída da extensão pode ser encontrada em um arquivo zip que foi carregado na conta de armazenamento especificada durante a instalação e é compartilhado por 30 dias usando assinaturas de acesso compartilhado (SAS). Este arquivo zip contém logs de diagnóstico e um relatório com descobertas e recomendações. Um link SAS para o arquivo zip de saída pode ser encontrado dentro de um arquivo de texto chamado zipfilename_saslink.txt na pasta C:\Packages\Plugins\Microsoft.Azure.Performance.Diagnostics.AzurePerformanceDiagnostics\<versão>. Qualquer pessoa que tenha este link é capaz de baixar o arquivo zip.
Para ajudar o engenheiro de suporte trabalhando em seu tíquete de suporte, a Microsoft pode usar este link SAS para baixar os dados de diagnóstico.
Para visualizar o relatório, extraia o arquivo zip e abra o arquivo PerfInsights Report.html.
Você também deve poder baixar o arquivo zip diretamente do portal selecionando a extensão.
Observação
O link SAS exibido no portal pode não funcionar às vezes. Isso pode ser causado por um URL malformado durante as operações de codificação e decodificação. Em vez disso, você pode obter o link diretamente do arquivo *_saslink.txt da VM.
Solução de problemas e suporte
O status de implantação da extensão (na área de notificação) pode mostrar "Implantação em andamento" mesmo que a extensão tenha sido provisionada com sucesso.
Esse problema pode ser ignorado com segurança, desde que o status da extensão indique que a extensão foi provisionada com sucesso.
Você pode resolver alguns problemas durante a instalação usando os logs de extensão. A saída de execução da extensão é registrada nos arquivos localizados no seguinte diretório:
C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Performance.Diagnostics.AzurePerformanceDiagnostics\<version>
Se você vir os seguintes erros no portal do Azure ou nos logs de extensão do Diagnóstico de Desempenho (AzPerfDiagExtension.log ou PerfInsights.log), isso geralmente significa que a cadeia de certificados HTTPS está quebrada:
-
Falha no provisionamento - mensagem: falha ao carregar o resultado do PerfInsights na conta de armazenamento do Azure.
-
O processo PerfInsights foi encerrado com o código 1700.
-
Não foi possível estabelecer uma relação de confiança para o canal seguro SSL/TLS. O certificado remoto é inválido de acordo com o procedimento de validação.
Para resolver os erros, verifique se você não tem um NSG (Grupo de Segurança de Rede) bloqueando o acesso às URLs da Autoridade de Certificação descritas nesta lista. Ou verifique se você não tem nenhuma ferramenta de inspeção SSL em sua Solução de Virtualização de Rede ou firewall.
-
Entre em contato conosco para obter ajuda
Se você tiver dúvidas ou precisar de ajuda, crie uma solicitação de suporte ou peça ajuda à comunidade de suporte do Azure. Você também pode enviar comentários sobre o produto para a comunidade de comentários do Azure.