vSphere Syslog Script
I was working with a client recently who needed to route all their vSphere host’s syslogs to their Log Insight Manager server. I decided to write a script to automate the process. Hope this helps! You will need a machine with VMware’s PowerCLI installed <Tested on 6.5 Release 1 (Build 4624819)> to execute this script with the following parameters:
Script Syntax:
SysLogCfg <vCenter Server> <Admin Username> <Password> <vCenter Cluster Name> <SysLog Server IP>
Script:
# This script will set a Syslog Server all all ESXi hosts within a vCenter once connected. # Seems to run a little more cleaner with this cmdlet and doesn't ask for confirmation # Created by Jeremy Wheeler # 01/17/2018 param($Server,$User,$Password,$ClusterN,$SysLogN) Connect-VIserver -Server $Server -User $User -Password $Password $sys = 'udp://' + $SysLogN + ':514' $cl = get-cluster $ClusterN| get-vmhost foreach($h in $cl){ Set-VMHostSysLogServer -VMHost $h.name -SysLogServer $sys Write-Host 'vSphere Host: ' $h.name $syslog = Get-VMHostFirewallException -name ‘syslog’ -vmhost $h.name $syslog | Set-VMHostFirewallException -Enabled:$true }
You can validate the script worked by checking one of the hosts in the cluster:
Script download link: SysLogCfg