Come inviare i log degli host Vmware ESX ESXi ad un server syslog

ESX ed ESXi si comportano in modo diverso per la gestione dei log, di seguito l’elenco dei log scritti dal sistema:

/var/log/messages: log del sistema operativo (ESX/ESXi)
/var/log/vmware/hostd.log: log dell’agente ESX ”Hostd” (ESX/ESXi)
/var/log/vmware/vpx/vpxa.log: log dell’agente vCenter (ESX/ESXi)
/var/log/vmkernel: log del VMkernel (solo ESX)
/var/log/vmkwarning: log dei warning relativi al VMkernel (solo ESX)

Entrambe le tipologie di server (ESX ed ESXi) utilizzano un processo syslog per scrivere i propri log. Il servizio legge le configurazioni in /etc/syslog.conf per determinare cosa e dove scrivere le informazioni. Il file /etc/syslog.conf può essere può essere modificato per tracciare i log su file locali oppure per l’invio delle informazioni ad un server remoto o entrambe le cose. Per ESX la modifica può essere più complessa rispetto ad ESXi.

Il file syslog.conf è un file di testo contenente le informazioni in stile tabellare con 2 colonne. La prima colonna contiene un selettore (Selector) mentre la seconda contiene l’azione.

Un esempio generico della sintassi della stringa:

facility.priority /,oppure <@hostname> oppure <@Indirizzo IP>,

Il selettore è una stringa di testo strutturata come “facility.priority”. La facility è il servizio che si desidera “loggare” mentre la priority indica appunto la priorità. Il VMkernel è programmato per utilizzare la facility “local6”.

L’azione contiene le informazioni relative “al dove” scrivere il log.

Un esempio della stringa (invia i warning del VMkernel al file /var/log/vmkwarning):

local6.warning /var/log/vmkwarning

Oltre alla modifica al fine sono necessarie altre operazioni:

apertura delle porte del firewall (via GUI) oppure con il comando:

“esxcfg-firewall –o 514,out,udp,syslog_traffic”

Riavviare il servizio syslog con il comando: service syslog restart

Per inviare i log ad un server remoto, in ESXi è anche possibile utilizzare il command:

vicfg-syslog –s