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 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:
- 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.
- 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.
- 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.
- 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
- 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
- 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.
- 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:
- 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).
- Clique na guia Configurar e então clique em Configurações do Sistema Avançadas na seção Sistema do painel de configuração.
- 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.
- 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:
- Aceda à URL de um anfitrião ESXi através de um navegador web e faça login no Cliente de Anfitrião VMware.
- Vá para Host > Gerenciar > Sistema > Configurações avançadas.
- Localize a chave Syslog.global.logDir na lista de opções.
- Selecione a chave Syslog.global.logDir e clique na opção Editar.
- 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
- Abra o PowerCLI e faça login em um servidor ESXi com credenciais administrativas:
Connect-VIServer -Server <ESXiHostIPAddress> -User <Username> -Password <Password>
- 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:
- 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).
- 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:
- Conectar ao servidor vCenter no PowerCLI:
Connect-VIServer -Server <NomeOuIPDoHostvCenter> -User <Usuário> -Password <Senha>
- 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/