Ran into this pesky little error message recently, on a vcenter environment
If the logs are stored on a local scratch disk, vCenter will display an alert stating – “System logs on host xxx are stored on non-persistent storage”
Configure ESXi Syslog location – vSphere Web Client
Vcenter > Select “Host”> Configure > Advance System Settings
Click on Edit and search for “Syslog.global.logDir”
Edit the value and in this case, I’m going to use the local data store (Localhost_DataStore01) to store the syslogs.
You can also define a remote syslog server using the “Syslog.global.LogHost” setting
Configure ESXi Syslog location – ESXCLI
Ssh on to the host
Check the current location
esxcli system syslog config get
*logs stored on the local scratch disk
Manually Set the Path
esxcli system syslog config set –logdir=/vmfs/directory/path
you can find the VMFS volume names/UUIDs under –
/vmfs/volumes
remote syslog server can be set using
esxcli system syslog config set –loghost=’tcp://hostname:port’
Load the configuration changes with the syslog reload command
esxcli system syslog reload
The logs will immediately begin populating the specified location.