Every time I try, either in vCenter, vSphere Client connected directly to the host, or with PowerCLI, I get "A general system error occurred: Internal Error" when trying to set Syslog.global.logHost.
vSphere Client to the host gets this error: Call "OptionManager.UpdateValues" for object "ha-adv-options" on ESXi "hostname" failed.
vSphere Client to vCenter gets this error: Call "OptionManager.UpdateValues" for object "EsxHostAdvSettings-143545" on vCenter Server "vcenter" failed.
For PowerCLI, I run this: set-VMHostAdvancedConfiguration -vmhost hostname -Name "Syslog.global.logHost" -Value "splunk"
I've also tried:
set-VMHostAdvancedConfiguration -vmhost hostname -Name Syslog.global.logHost -Value splunk
set-VMHostAdvancedConfiguration -vmhost hostname -Name Syslog.global.logHost -Value udp://splunk:514
all three give this:
Host summary tab shows the Config Issue of "System Logging is not configured on the host", which is why I was trying to ship the logs to my splunk server. It works fine on our 4.0 & 4.1 ESXi hosts, just not 5.0.
It was a fresh install that I configured. When I got these errors, I reset the configuration, only configured the VLAN & IP, and still get these errors.
Any ideas?
**EDIT**
I wanted to add that a get works just fine:
PS P:\> get-VMHostAdvancedConfiguration -vmhost hostname -Name "Syslog.global.logHost"
Name Value
---- -----
Syslog.global.logHost
Message was edited by: cougar694u ~added content
You could try going to the console by enabling tech support mode or ssh into the host and run:
esxcli system syslog config set --loghost=udp://xxx.xxx.xxx.xxx:514
esxcli network firewall ruleset set --ruleset-id syslog --enabled yes
I run those command in my kickstart script to configure syslog.
If those commands still don't work I would reload the host.
You could try going to the console by enabling tech support mode or ssh into the host and run:
esxcli system syslog config set --loghost=udp://xxx.xxx.xxx.xxx:514
esxcli network firewall ruleset set --ruleset-id syslog --enabled yes
I run those command in my kickstart script to configure syslog.
If those commands still don't work I would reload the host.
That didn't work initially, but it provided more insight: "Failed to resolve remote host: hostname"
The host is in a DMZ and this shows an issue with name resolution. I used the IP and it worked fine 😕
Thanks!
ps | grep -i syslog
Kill the process and retry everything should work fine.
That was the issue with all of our servers. Incorrect DNS settings.
Saved me hours - thanks 🙂
If anyone stumbles across this thread and has already verified your DNS settings (or are pointing at syslog via IP address), if you are getting error:
No root object set for output. The command did not provide proper output.
Implementation error! The output of this command does not match the declared output type, see errors above.
I was able to get around it by changing the local log directory to a directory that actually existed (it was aimed at a LUN that had been disconnected from the host when we pulled it from an environment). This error will bubble up through PowerCLI as well.
You can change this on the CLI with:
esxcli system syslog config set --logdir=/vmfs/volumes/path
after this I was able to configure syslog again!
Hey Greg,
thanks for this additional help.
setting the log dir to another partition solved the issue for me.
i think mod should mark this also as answer