O VMware ESXi é um hipervisor que, assim como outros sistemas operacionais e produtos de software, grava arquivos de log. 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 no local padrão. No entanto, é possível alterar a localização do log do VMware, se necessário. Esta postagem no 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?
Os logs do VMware ESXi são excluídos após cada reinicialização do host ESXi por padrão. Se você não quiser que os logs do VMware ESXi sejam excluídos após cada reinicialização do host, é possível alterar a localização dos logs do VMware em um host ESXi, da partição de scratch padrão para um 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 de scratch persistente. Por padrão, o ESXi usa um sistema de arquivos em memória (tmpfs) para o espaço de scratch, o que significa que os logs são perdidos durante uma reinicialização. No entanto, com um espaço de scratch persistente, os logs serão preservados entre 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 de scratch para um datastore persistente. 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 Local de Logs do ESXi Usando a Linha de Comando
Siga os passos abaixo para alterar o local de logs 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 o local 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 ver informações sobre a configuração atual do scratch:
vim-cmd hostsvc/advopt/view ScratchConfig.ConfiguredScratchLocation
- Observe a localização atual do scratch (por exemplo, /tmp/scratch) e se está usando a memória ou uma partição específica.
- Crie um diretório no datastore. Use o seguinte comando para criar um diretório no datastore escolhido onde deseja armazenar os logs:
mkdir /vmfs/volumes/<nome_datastore>/log
Substitua <nome_datastore> pelo nome do datastore (datastore10a no nosso caso).
No nosso caso, o comando é:
mkdir /vmfs/volumes/datastore10a/log
- Defina a nova localização 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 a nova localização para armazenar os logs do VMware com o comando:
esxcli system syslog config set --logdir=/vmfs/volumes/Datastore10a/log
Se você ver um erro como “Logdir 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ê deve ver o UUID do datastore (partição). No nosso caso, o UUID do datastore10a é 609a545a-50d29185-ffbb-000c293004f2.
Execute o comando para definir a nova localização do 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 escrever logs em um local persistente que é um diretório no datastore:
esxcli system syslog reload
Após a reinicialização, o ESXi armazenará seus logs no diretório especificado no datastore designado. Isso garantirá que os logs sejam preservados através das reinicializações 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
Siga as etapas a seguir 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 Configure e depois clique em Configurações avançadas do sistema 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 VMware Host Client
Se você não tiver o vCenter Server ou usar um host ESXi autônomo, poderá alterar a localização do log do ESXi no VMware Host Client:
- Insira o endereço IP de um host ESXi em um navegador da web e faça logon no VMware Host Client.
- Vá para Host > Gerenciar > Sistema > Configurações avançadas.
- Encontre 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 do log do ESXi no campo apropriado e clique em Salvar.
Como alterar o local do log do ESXi no PowerCLI
Se você gosta do vSphere PowerCLI, que é uma interface de linha de comando baseada no Windows PowerShell, você pode considerar as seguintes maneiras para alterar a localização do log do host VMware ESXi. Há três cenários.
Alterar a localização do log do ESXi em um host autônomo
- Abra o PowerCLI e faça logon em um servidor ESXi com credenciais administrativas:
Connect-VIServer -Server <EndereçoIPdoHostESXi> -User <NomeDeUsuário> -Password <Senha>
- Defina o novo local de log do ESXi no PowerCLI:
Set-VMHostAdvancedConfiguration -VMHost <NomeDoHostOuEndereçoIP> -Name "Syslog.global.logDir" -Value "[<NomeDoDatastore>] <Caminho>"
Substitua <NomeDoDatastore> pelo nome do datastore onde deseja armazenar logs e <Caminho> pelo novo caminho do diretório para os logs.
Alterando a Localização do Log do ESXi para vários hosts ESXi sem vCenter
Se você tiver vários hosts ESXi, mas eles não forem gerenciados pelo vCenter, faça o seguinte:
- Prepare uma lista de hosts ESXi. Crie um arquivo de texto listando o endereço IP ou nome do host de cada host, um por linha (por exemplo, hosts.txt).
- Aqui está o exemplo de um script PowerCLI para definir a localização do log do 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 "[<NomeDatastore>] <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 seus hosts do ESXi forem gerenciados pelo vCenter, você pode alterar a localização do log do ESXi no PowerShell da seguinte maneira:
- Conectar ao servidor do vCenter no PowerCLI:
Connect-VIServer -Server <NomeOuIPdoVCenter> -User <Usuário> -Password <Senha>
- Defina o local de registro do ESXi para todos os hosts gerenciados pelo vCenter:
Get-VMHost | ForEach-Object {
Set-VMHostAdvancedConfiguration -VMHost $_ -Name "Syslog.global.logDir" -Value "[<NomeDoDatastore>] <Caminho>"
}
Insira os valores necessários ao executar os comandos para atender à configuração do seu ambiente.
Conclusão
O uso de armazenamento persistente para logs do ESXi permite preservar esses logs após o reinício do ESXi. Você pode alterar o local de registro do ESXi usando a linha de comando e a interface gráfica do usuário. Se um host ESXi for gerenciado pelo servidor vCenter, você pode usar o Cliente VMware vSphere. Se um host ESXi não for gerenciado pelo vCenter, use a linha de comando do ESXi ou o Cliente VMware Host. Organizações com ambientes virtuais grandes podem configurar um servidor de logs com um datastore compartilhado para gravar os logs do ESXi de vários hosts neste servidor.
Source:
https://www.nakivo.com/blog/change-vmware-esxi-logs-location/