Utilize a extensão de diagnóstico Linux para monitorizar o desempenho e os dados de diagnóstico de um Linux VM

Importante

Os VM clássicos serão retirados a 1 de março de 2023.

Se utilizar recursos iaaS da ASM, por favor preencha a sua migração até 1 de março de 2023. Encorajamo-lo a fazer a troca mais cedo para aproveitar as muitas melhorias de funcionalidades em Azure Resource Manager.

Para mais informações, consulte a Migração dos seus recursos iaaS para a Azure Resource Manager até 1 de março de 2023.

Este documento descreve a versão 2.3 da Extensão de Diagnóstico Linux.

Importante

Esta versão é depreciada, e pode não ser publicada a qualquer momento depois de 30 de junho de 2018. Foi substituído pela versão 3.0. Para mais informações, consulte a documentação para a versão 3.0 da Extensão de Diagnóstico Linux.

Introdução

(Nota: A extensão de diagnóstico do Linux é de origem aberta no GitHub , onde as informações mais atuais sobre a extensão são publicadas pela primeira vez. É melhor verificar primeiro a página do GitHub .)

A extensão de diagnóstico Linux ajuda um utilizador a monitorizar os VMs Linux que estão a ser executadas no Microsoft Azure. Tem as seguintes capacidades:

  • Recolhe e envia as informações de desempenho do sistema do Linux VM para a mesa de armazenamento do utilizador, incluindo informações de diagnóstico e syslog.
  • Permite que os utilizadores personalizem as métricas de dados que serão recolhidas e carregadas.
  • Permite que os utilizadores carreguem ficheiros de registo especificados para uma tabela de armazenamento designada.

Na versão atual 2.3, os dados incluem:

Esta extensão funciona com os modelos clássicos e Resource Manager de implantação.

Versão atual da extensão e depreciação de versões antigas

A versão mais recente da extensão é 2.3, e quaisquer versões antigas (2.0, 2.1 e 2.2) serão depreciadas e não publicadas até ao final deste ano (2017). Se instalou a extensão Linux Diagnostic com atualização automática de versão menor desativada, recomenda-se vivamente que desinstale a extensão e a reinstale com a atualização automática de versão menor ativada. Nos VMs clássicos (ASM), pode fazê-lo especificando '2.*' como a versão se estiver a instalar a extensão através do Azure XPLAT CLI ou powershell. Nos VMs ARM, pode fazê-lo incluindo "autoUpgradeMinorVersion": verdadeiro no modelo de implantação VM. Além disso, qualquer nova instalação da extensão deve ter a opção de atualização de versão auto menor ligada.

Ativar a extensão

Pode ativar esta extensão utilizando os scripts portal do Azure, Azure PowerShell ou Azure CLI.

Para visualizar e configurar os dados do sistema e do desempenho diretamente do portal do Azure, siga estes passos no blog Azure.

Este artigo centra-se em como ativar e configurar a extensão utilizando comandos Azure CLI. Isto permite-lhe ler e ver os dados diretamente da tabela de armazenamento.

Note que os métodos de configuração que são descritos aqui não funcionarão para o portal do Azure. Para visualizar e configurar os dados do sistema e do desempenho diretamente do portal do Azure, a extensão deve ser ativada através do portal.

Pré-requisitos

  • Azure Linux Agente versão 2.0.6 ou posterior.

    Note que a maioria das imagens da galeria Azure VM Linux incluem a versão 2.0.6 ou posterior. Pode executar a versão WAAgent para confirmar que versão está instalada no VM. Se o VM estiver a executar uma versão anterior a 2.0.6, pode seguir instruções no GitHub para a atualizar.

  • CLI do Azure. Siga esta orientação para instalar o CLI para configurar o ambiente Azure CLI na sua máquina. Depois de instalar o Azure CLI, pode utilizar o comando azul a partir da sua interface de linha de comando (Bash, Terminal ou comando) para aceder aos comandos Azure CLI. Por exemplo:

    • Executar conjunto de extensão azure vm -- ajuda para informações detalhadas de ajuda.
    • Faça login azul para iniciar sessão no Azure.
    • Faça a lista de vm azul para listar todas as máquinas virtuais que tem no Azure.
  • Uma conta de armazenamento para armazenar os dados. Você precisará de um nome de conta de armazenamento que foi criado anteriormente e uma chave de acesso para carregar os dados para o seu armazenamento.

Utilize o comando Azure CLI para ativar a extensão de diagnóstico Linux

Cenário 1. Ativar a extensão com o conjunto de dados predefinidos

Na versão 2.3 ou posterior, os dados predefinidos que serão recolhidos incluem:

  • Todas as informações do Rsyslog (incluindo registos de sistema, segurança e aplicação).
  • Um conjunto central de dados do sistema de base. Note que o conjunto completo de dados é descrito no site System Center Cross Platform Solutions. Se pretender ativar dados adicionais, continue com os passos nos Cenários 2 e 3.

Passo 1. Criar um ficheiro chamado PrivateConfig.json com o seguinte conteúdo:

{
    "storageAccountName" : "the storage account to receive data",
    "storageAccountKey" : "the key of the account"
}

Passo 2. Executar conjunto de extensão de vm azul vm_name LinuxDiagnostic Microsoft.OSTCExtensions 2.* --private-config-path PrivateConfig.json.

Cenário 2. Personalize as métricas do monitor de desempenho

Esta secção descreve como personalizar a tabela de dados de desempenho e diagnóstico.

Passo 1. Crie um ficheiro chamado PrivateConfig.json com o conteúdo descrito no Cenário 1. Também crie um ficheiro chamado PublicConfig.json. Especifique os dados específicos que pretende recolher.

Para todos os fornecedores e variáveis suportados, consulte o site System Center Cross Platform Solutions. Você pode ter várias consultas e armazená-las em várias tabelas, anexando mais consultas ao script.

Por padrão, os dados do Rsyslog são sempre recolhidos.

{
      "perfCfg":
      [
          {
              "query" : "SELECT PercentAvailableMemory, AvailableMemory, UsedMemory ,PercentUsedSwap FROM SCX_MemoryStatisticalInformation",
              "table" : "LinuxMemory"
          }
      ]
}

Passo 2. Executar conjunto de extensão de vm vm_name LinuxDiagnostic Microsoft.OSTCExtensions '2.*' --private-config-path PrivateConfig.json --public-config-path PublicConfig.json.

Cenário 3. Faça upload dos seus próprios ficheiros de registo

Esta secção descreve como recolher e carregar ficheiros de registo específicos para a sua conta de armazenamento. Tem de especificar tanto o caminho para o seu ficheiro de registo como o nome da tabela onde pretende guardar o seu registo. Pode criar vários ficheiros de registo adicionando várias entradas de ficheiro/tabela no script.

Passo 1. Crie um ficheiro chamado PrivateConfig.json com o conteúdo descrito no Cenário 1. Em seguida, crie outro ficheiro chamado PublicConfig.json com o seguinte conteúdo:

{
    "fileCfg" :
    [
        {
            "file" : "/var/log/mysql.err",
            "table" : "mysqlerr"
            }
    ]
}

Passo 2. Execute azure vm extension set vm_name LinuxDiagnostic Microsoft.OSTCExtensions '2.*' --private-config-path PrivateConfig.json --public-config-path PublicConfig.json.

Note que com esta definição nas versões de extensão antes do 2.3, todos os registos escritos /var/log/mysql.err podem ser duplicados para /var/log/syslog (ou /var/log/messages dependendo do distro Linux) também. Se quiser evitar esta extração duplicada, pode excluir a registo de registos de local6 instalações na sua configuração de rsyslog. Depende do distro Linux, mas num sistema Ubuntu 14.04, o ficheiro para modificar é /etc/rsyslog.d/50-default.conf e pode substituir a linha *.*;auth,authpriv.none -/var/log/syslog para *.*;auth,authpriv,local6.none -/var/log/syslog. Esta questão é corrigida na mais recente versão hotfix de 2.3 (2.3.9007), pelo que se tiver a versão de extensão 2.3, esta questão não deverá acontecer. Se ainda o fizer mesmo depois de reiniciar o seu VM, contacte-nos e ajude-nos a resolver os problemas por que a versão mais recente do hotfix não é instalada automaticamente.

Cenário 4. Impedir a extensão de recolher quaisquer registos

Esta secção descreve como impedir a extensão de recolher registos. Note que o processo do agente de monitorização ainda estará em funcionamento mesmo com esta reconfiguração. Se quiser parar completamente o processo do agente de monitorização, pode fazê-lo desativando a extensão. O comando para desativar a extensão é azure vm extension set --disable <vm_name> LinuxDiagnostic Microsoft.OSTCExtensions '2.*'.

Passo 1. Crie um ficheiro chamado PrivateConfig.json com o conteúdo descrito no Cenário 1. Criar outro ficheiro chamado PublicConfig.json com o seguinte conteúdo:

{
    "perfCfg" : [],
    "enableSyslog" : "false"
}

Passo 2. Executar conjunto de extensão de vm vm_name LinuxDiagnostic Microsoft.OSTCExtensions '2.*' --private-config-path PrivateConfig.json --public-config-path PublicConfig.json.

Reveja os seus dados

Os dados de desempenho e diagnóstico são armazenados numa tabela de Armazenamento Azure. Reveja como usar o Armazenamento de Mesa Azure da Ruby para aprender a aceder aos dados na tabela de armazenamento utilizando scripts Azure CLI.

Além disso, pode utilizar as seguintes ferramentas de UI para aceder aos dados:

  1. Explorador visual do servidor do estúdio. Aceda à conta de armazenamento. Depois de o VM correr durante cerca de cinco minutos, verá as quatro tabelas padrão: "LinuxCpu", "LinuxDisk", "LinuxMemory", e "Linuxsyslog". Clique duas vezes nos nomes da tabela para ver os dados.
  2. Explorador de Armazenamento do Azure.

imagem

Se tiver ativado o ficheiroCfg ou perfCfg (conforme descrito nos Cenários 2 e 3), pode utilizar o Visual Studio Server Explorer e Explorador de Armazenamento do Azure para visualizar dados não predefinidos.

Problemas conhecidos

  • A informação do Rsyslog e o ficheiro de registo especificado pelo cliente só podem ser acedidos através de scripts.