Nel primo post di questa serie, ho mostrato come installare e configurare Splunk in modo semplice e veloce. In questo secondo post, vedremo insieme come inviare i log di un server ESXi a Splunk per la loro raccolta.
Se un server ESXi possiede storage locale, i log vengono automaticamente salvati in /var/log. Se invece un server ESXi è installato su schede SD o USB, lo stesso non dispone di storage locale, i log vengono salvati nel ram disk e pertanto non è possibile salvarli durante un riavvio del server stesso. Solitamente, ci si ritrova quindi con questo errore segnalato:
In entrambi i casi, la configurazione per inviare i log a Splunk sarà simile.
Iniziamo da Splunk. Esso è in grado di ricevere e registrare log in arrivo su qualsiasi porta TCP o UDP, ma inizialmente nessun “receiver” è configurato. Per attivare il syslog quindi bisogna recarsi in Manager -> Data inputs -> UDP -> Add new, e configurarlo come mostrato di seguito.
Indichiamo la porta UDP:514, scegliamo come tipologia di log in arrivo “syslog”, e anche se non obbligatorio, io preferisco che l’host ESXi venga indicato come dns name piuttosto che per indirizzo IP all’interno dei log.
Salvato il nuovo receiver, passiamo alla configurazione di ESXi. Recandoci in Advanced System Settings, andiamo a configurare il parametro Syslog.global.logHost impostando come valore udp://splunk_ip:514:
Salvata la nuova configurazione, il warning del server ESXi sparisce, e i log di ESXi verranno inviati a Splunk.
Possiamo infine modificare lo stesso parametro anche sui server dotati di storage locale, in modo da raggruppare tutti i log nella nostra piattaforma di analisi.