Extensão de VM de diagnóstico de desempenho do Azure para 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')]",
          "traceDurationInSeconds": "[parameter('traceDurationInSeconds')]",
          "perfCounterTrace": "[parameters('perfCounterTrace')]",
          "networkTrace": "[parameters('networkTrace')]",
          "xperfTrace": "[parameters('xperfTrace')]",
          "storPortTrace": "[parameters('storPortTrace')]",
          "srNumber": "[parameters('srNumber')]",
          "requestTimeUtc":  "[parameters('requestTimeUtc')]",
          "resourceId": "[resourceId('Microsoft.Compute/virtualMachines', parameters('vmName'))]"
        },
        "protectedSettings": {
            "storageAccountKey": "[parameters('storageAccountKey')]"        
        }
      }
    }

Valores de propriedade

Nome Valor / Exemplo Descrição
apiVersion 15/06/2015 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.
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.

Instale a extensão

Siga estas instruções para instalar a extensão em máquinas virtuais do Windows:

  1. Entre no portal do Azure.

  2. Selecione a máquina virtual onde deseja instalar esta extensão.

    Captura de tela do portal do Azure, com máquinas virtuais realçadas.

  3. Selecione a folha Aplicativos de extensões e selecione Adicionar.

    Captura de tela da lâmina Extensões, com Adicionar realçado.

  4. Pesquise Azure Performance Diagnostics, clique na extensão, revise os termos e condições e selecione Avançar.

    Captura de tela da tela Novo recurso, com o Diagnóstico de Desempenho do Azure realçado.

  5. 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.

    Captura de tela da abertura de uma caixa de diálogo.

  6. Quando a instalação for bem-sucedida, o status da extensão mostrará Provisionamento bem-sucedido.

    Captura de tela da mensagem de 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

Para remover a extensão de uma máquina virtual, siga estas etapas:

  1. 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.

  2. Selecione a extensão de diagnóstico de desempenho e selecione Desinstalar.

    Captura de tela da lâmina Extensões, com Desinstalação realçada.

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"
    },
    "srNumber": {
      "type": "string",
      "defaultValue": ""
    },
  "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')]",
          "traceDurationInSeconds": "[parameters('traceDurationInSeconds')]",
          "perfCounterTrace": "[parameters('perfCounterTrace')]",
          "networkTrace": "[parameters('networkTrace')]",
          "xperfTrace": "[parameters('xperfTrace')]",
          "storPortTrace": "[parameters('storPortTrace')]",
          "srNumber": "[parameters('srNumber')]",
          "requestTimeUtc":  "[parameters('requestTimeUtc')]",
          "resourceId": "[resourceId('Microsoft.Compute/virtualMachines', parameters('vmName'))]"
        },
        "protectedSettings": {
            "storageAccountKey": "[parameters('storageAccountKey')]"
        }
      }
    }
  ]
}

Implantação do PowerShell

O comandoSet-AzVMExtension pode ser usado para implantar a extensão VM de diagnóstico de desempenho do Azure em uma máquina virtual existente.

$PublicSettings = @{ "storageAccountName"="mystorageaccount";"performanceScenario"="basic";"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.

Captura de tela do status detalhado do Diagnóstico de desempenho e do link de download da 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 da execução da extensão é registrada nos arquivos encontrados no seguinte diretório:

    C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Performance.Diagnostics.AzurePerformanceDiagnostics\<version>

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.