Cerca nel blog

mercoledì 10 marzo 2010

Come inviare i log degli host ad un syslog server remoto

Se in azienda è presente un server deputato a ricevere i log di sistema di tutti gli apparati dell’infrastruttura può essere utile, se non indispensabile, adeguare a tale comportamento anche i server ESX.

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 /<percorso del file>,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 alter 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 <IP_address_of_log_host>

Per maggiori informazioni consultare la "Basic System Administration Guide"

Nessun commento: