Como Configurar o Local do Log do VMware no ESXi

O VMware ESXi é um hipervisor que, de forma semelhante a outros sistemas operacionais e produtos de software, escreve arquivos de log. Nós cobrimos os logs mais úteis do VMware em uma postagem recente no blog, e esta postagem estende a configuração. Após a instalação do ESXi, os arquivos de log são armazenados na localização padrão. No entanto, você pode alterar a localização do log do VMware, se necessário. Esta postagem do blog explica como alterar a localização do log do ESXi na linha de comando e na interface gráfica do usuário (GUI).

Por que você precisaria alterar a localização dos logs do VMware?

Por padrão, os logs do VMware ESXi são excluídos após a reinicialização de um host ESXi. Se você não deseja que os logs do VMware ESXi sejam excluídos após cada reinicialização do host, você pode alterar a localização dos logs do VMware em um host ESXi, da partição temporária padrão para armazenamento persistente, como um diretório em um datastore.

A primeira abordagem para configurar o VMware ESXi para armazenar logs em um armazenamento permanente, como um datastore, é configurar um espaço temporário persistente. Por padrão, o ESXi usa um sistema de arquivos em memória (tmpfs) para o espaço temporário, o que significa que os logs são perdidos após uma reinicialização. No entanto, com um espaço temporário persistente, os logs serão preservados em reinicializações e armazenados em um datastore designado.

A segunda abordagem é deixar a configuração da partição scratch como está, mas alterar o caminho para armazenar os arquivos de log da partição temporária para um datastore persistente. Nós usamos essa abordagem em nosso exemplo.

Você pode alterar a localização dos logs do sistema VMware ESXi na linha de comando do ESXi e na GUI, usando o VMware vSphere Client.Alterar a Localização do Log do ESXi Usando a Linha de Comando

Alterar Localização do Log do ESXi Usando a Linha de Comando

Siga os seguintes passos para alterar a localização do log do ESXi na linha de comando:

  1. Primeiro, identifique o datastore onde deseja armazenar os logs. Certifique-se de que o datastore tenha espaço livre suficiente para acomodar os arquivos de log.
  2. Ative o SSH e conecte-se ao host ESXi. Use um cliente SSH (por exemplo, PuTTY) para se conectar à IP de gerenciamento do host ESXi.
  3. Verifique a configuração atual do scratch e a localização dos logs do VMware. Execute o seguinte comando para verificar a configuração atual para armazenar logs do VMware:

    esxcli system syslog config get

    Como você pode ver em nossa saída exibida na captura de tela, /scratch/log é a saída de log local.

  4. Você também pode usar o comando para visualizar informações sobre a configuração atual do scratch:

    vim-cmd hostsvc/advopt/view ScratchConfig.ConfiguredScratchLocation

  5. Crie um diretório no datastore. Use o seguinte comando para criar um diretório no datastore escolhido onde você deseja armazenar os logs:

    mkdir /vmfs/volumes/<nome_do_datastore>/log

    Substitua <nome_do_datastore> pelo nome do datastore (datastore10a no nosso caso).

    No nosso caso, o comando é:

    mkdir /vmfs/volumes/datastore10a/log

  6. Defina o novo local para armazenar os logs do VMware. Você pode definir um diretório em um datastore do host ESXi local ou remoto com o comando:

    esxcli system syslog config set --logdir=/vmfs/directory/path --loghost='tcp://hostname:514'

    Definimos o diretório recentemente criado em Datastore10a no nosso host ESXi local como o novo local para armazenar os logs do VMware com o comando:

    esxcli system syslog config set --logdir=/vmfs/volumes/Datastore10a/log

    Se você encontrar um erro como “O diretório de log deve existir e ser um diretório“, se o diretório necessário já existir, tente usar o UUID do datastore (partição) em vez de um nome de datastore amigável. A maneira mais fácil de verificar o UUID do datastore é ir para o diretório do datastore:

    cd /vmfs/volumes/Datastore10a/

    Veja o caminho do diretório atual, onde você deverá ver o UUID do datastore (partição). No nosso caso, o UUID do datastore10a é 609a545a-50d29185-ffbb-000c293004f2.

    Execute o comando para definir o novo local de log usando o UUID do datastore em vez do nome do datastore no caminho:

    esxcli system syslog config set --logdir=/vmfs/volumes/609a545a-50d29185-ffbb-000c293004f2/log

    O comando foi executado com sucesso.

  7. Recarregue o syslog para aplicar as novas configurações e começar a gravar logs em um local persistente que é um diretório no datastore:

    esxcli system syslog reload

Após o reinício, o ESXi armazenará seus registros no diretório especificado no datastore designado. Isso garantirá que os registros sejam preservados através dos reinícios e fornecerá uma solução de armazenamento mais permanente e confiável para os arquivos de log.

Alterar a Localização do Log do ESXi Usando o Cliente VMware vSphere

Execute as seguintes etapas para alterar a localização do log do ESXi na GUI do vCenter usando o Cliente VMware vSphere:

  1. Selecione a visualização Hosts e clusters e selecione o host ESXi necessário no painel de navegação (localizado no lado esquerdo da interface).
  2. Clique na guia Configurar e então clique em Configurações do Sistema Avançadas na seção Sistema do painel de configuração.
  3. Encontre a chave Syslog.global.logDir para configurar. No nosso caso, esta chave está localizada na página 31.

    Clique em Editar para alterar o valor da chave Syslog.global.logDir.

  4. A new window to edit advanced system settings opens.

    Altere o valor padrão /scratch/log para o valor personalizado que pode ser um diretório no seu datastore e clique em OK para salvar as configurações.

Alterando a Localização do Log do ESXi no Cliente Host VMware

Se você não tem o Servidor vCenter ou usa um host ESXi autônomo, você pode alterar a localização do log do ESXi no Cliente Host VMware:

  1. Aceda à URL de um anfitrião ESXi através de um navegador web e faça login no Cliente de Anfitrião VMware.
  2. Vá para Host > Gerenciar > Sistema > Configurações avançadas.
  3. Localize a chave Syslog.global.logDir na lista de opções.
  4. Selecione a chave Syslog.global.logDir e clique na opção Editar.

  5. Insira um novo valor para o local de log do ESXi no campo apropriado e clique em Salvar.

Como mudar a localização do log do ESXi em PowerCLI

Se você estiver familiarizado com o vSphere PowerCLI, que é uma interface de linha de comando baseada no Windows PowerShell, pode considerar as seguintes formas de mudar a localização de log do anfitrião VMware ESXi. Existem três cenários possíveis.

Mudar a localização do log do ESXi em um anfitrião independente

  1. Abra o PowerCLI e faça login em um servidor ESXi com credenciais administrativas:

    Connect-VIServer -Server <ESXiHostIPAddress> -User <Username> -Password <Password>

  2. Defina o novo local de registo ESXi no PowerCLI:

    Set-VMHostAdvancedConfiguration -VMHost <NomeDoHostOuEndereçoIP> -Name "Syslog.global.logDir" -Value "[<NomeDoDatastore>] <Caminho>"

    Substitua <NomeDoDatastore> pelo nome do datastore onde deseja armazenar os registos e <Caminho> pelo novo caminho do diretório para os registos.

Alterar o Local de Registo ESXi para vários hosts ESXi sem vCenter

Se tiver vários hosts ESXi, mas eles não são geridos pelo vCenter, faça o seguinte:

  1. Prepare uma lista de hosts ESXi. Crie um ficheiro de texto listando o endereço IP ou nome de cada host, um por linha (por exemplo, hosts.txt).
  2. Considere um exemplo do script PowerCLI para definir a localização do log ESXi:

    $hosts = Get-Content -Path "C:\caminho\para\hosts.txt"

    foreach ($host in $hosts) {

    Connect-VIServer -Server $host -User <Usuário> -Password <Senha>

    Set-VMHostAdvancedConfiguration -VMHost $host -Name "Syslog.global.logDir" -Value "[<NomeDoDatastore>] <Caminho>"

    Disconnect-VIServer -Server $host -Confirm:$false

    }

    Insira os valores necessários com base no seu ambiente e infraestrutura.

Alterando a localização do log do ESXi para vários hosts com vCenter

Se os seus hosts ESXi forem gerenciados pelo vCenter, você pode alterar a localização do log do ESXi no PowerShell da seguinte forma:

  1. Conectar ao servidor vCenter no PowerCLI:

    Connect-VIServer -Server <NomeOuIPDoHostvCenter> -User <Usuário> -Password <Senha>

  2. Definir o local do registo do ESXi para todos os hosts geridos pelo vCenter:

    Get-VMHost | ForEach-Object {

    Set-VMHostAdvancedConfiguration -VMHost $_ -Name "Syslog.global.logDir" -Value "[<NomeDoDatastore>] <Caminho>"

    }

    Introduza os valores necessários ao executar os comandos para atender à configuração do seu ambiente.

Conclusão

O uso de armazenamento persistente para registos do ESXi permite preservar esses registos após o reinício do ESXi. Pode alterar o local do registo do ESXi utilizando a linha de comandos e a interface gráfica do utilizador. Se um host ESXi for gerido pelo vCenter Server, pode utilizar o Cliente VMware vSphere. Se um host ESXi não for gerido pelo vCenter, utilize a linha de comandos do ESXi ou o Cliente VMware Host. Organizações com ambientes virtuais grandes podem configurar um servidor de registo com um datastore partilhado para escrever os registos do ESXi de vários hosts neste servidor.

Source:
https://www.nakivo.com/blog/change-vmware-esxi-logs-location/