1. Enable ESXi Firewall
You will need to enable the syslog rule in the ESXi firewall (only in ESXi 5.0):
$ esxcli --server esxi1 --username root network firewall ruleset set --enabled yes --ruleset-id syslog
Note: The default syslog ruleset allows UDP/TCP 514 and TCP 1514, if you choose to use a different port you will need to update firewall ruleset.
2. Configure Syslog Servers
To specify more than one syslog server, you will need to separate them using a comma. By default, the host will use UDP protocol and port 514. However, you can specify tcp or ssl as the protocol to be used as well as the port number:
$ esxcli --server esxi1 --username root system syslog config set --loghost
10.20.182.46,tcp://10.20.182.50:514,ssl://10.20.182.52:1514
Note: You can also authenticate against vCenter Server by specifying the --vihost parameter
3. Reload Syslog Configuration
For the syslog configuration to take effect, you will need to reload the configuration:
$ esxcli --server esxi1 --username root system syslog reload
configSyslog.sh
#!/bin/bash
# William Lam
# http://blogs.vmware.com/vsphere/automation/
PASSWORD=
if [[ $# -ne 3 ]]; then
echo -e "\nUsage: $0 [USERNAME] [HOSTLIST] [SYSLOG_SERVERS]\n"
exit 1
fi
if [ -z ${PASSWORD} ]; then
echo -e "You forgot to set the password in the script!\n"
exit 1
fi