VMware Cloud Community
cougar694u
Enthusiast
Enthusiast
Jump to solution

Cannot set Syslog.global.logHost either by GUI or PowerCLI

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:

Set-VMHostAdvancedConfiguration : 3/2/2012 1:28:14 PM    Set-VMHostAdvancedConfiguration        A general system error occurred: Internal error
At line:1 char:32
+ set-VMHostAdvancedConfiguration <<<<  -vmhost hostname -Name "Syslog.global.logHost" -Value "splunk"
    + CategoryInfo          : NotSpecified: (:) [Set-VMHostAdvancedConfiguration], SystemError
    + FullyQualifiedErrorId : Client20_SystemManagementServiceImpl_GetVmHostAdvancedConfiguration_ViError,VMware.VimAutomation.ViCore.Cmdlets.Commands.Host.SetVMHostAdvancedConfi
   guration

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

~Luke http://thephuck.com
1 Solution

Accepted Solutions
Jetcopter
Contributor
Contributor
Jump to solution

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.

View solution in original post

Reply
0 Kudos
6 Replies
Jetcopter
Contributor
Contributor
Jump to solution

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.

Reply
0 Kudos
cougar694u
Enthusiast
Enthusiast
Jump to solution

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!

~Luke http://thephuck.com
MuhammadJunaidJ
Contributor
Contributor
Jump to solution

ps | grep -i syslog

Kill the process and retry everything should work fine.

Reply
0 Kudos
BigDaveG
Contributor
Contributor
Jump to solution

That was the issue with all of our servers. Incorrect DNS settings.

Saved me hours - thanks 🙂

Reply
0 Kudos
GregPerry2
Contributor
Contributor
Jump to solution

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!

pargit
Enthusiast
Enthusiast
Jump to solution

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

Reply
0 Kudos