PowerCLI Script to add Syslog Servers
I was asked earlier about this. So I figured I would throw this together real quick. There was a concern about adding syslog server settings to an enormous number of hosts in a cluster for Log Insight (or other). So here is a quick PowerCLI script to do this for us. Nothing too fancy but it works.
# PowerCLI Script for adding syslogserver to hosts
# @mrlesmithjr
# EverythingShouldBeVirtual.com
# Change the following to match your environment
# vi_server is your vCenter
$vi_server = “vcenterservername”
$vcuser = "vcenterserverusername"
$vcpass = "vcenterserverpassword"
# Make sure to tweak the protocol and ports below to match your environment
$syslogservers = “udp://graylog2:514,tcp://logstash:514,udp://loginsight:514”
Connect-VIServer -Server $vi_server -User $vcuser -Password $vcpass
# Setup variable to use in script for all hosts in vCenter
$vmhosts = @(Get-VMHost)
# Configure syslog on each host in vCenter
foreach ($vmhost in $vmhosts) {
Write-Host ‘$vmhost = ‘ $vmhost
Set-VMHostAdvancedConfiguration -Name Syslog.global.logHost -Value "$syslogservers" -VMHost $vmhost
$esxcli = Get-EsxCli -VMHost $vmhost
$esxcli.system.syslog.reload()
}
Disconnect-VIServer * -Confirm:$false
Enjoy!
Leave a comment