Utilizzando le impostazioni di syslog giuste, è possibile eseguire un monitoraggio proattivo dell'ambiente, ridurre i tempi di inattività e intervenire preventivamente sui server.

Durante la configurazione del syslog, è necessario prendere in considerazione diversi parametri che influiscono sulla conservazione dei file di registro, la trasmissione del syslog, la lunghezza della trasmissione, la gestione degli errori e la configurazione di certificati SSL per la trasmissione sicura dei messaggi syslog. Di seguito indichiamo alcuni consigli per ottimizzare i parametri del syslog. È possibile visualizzare una descrizione di tutti i parametri disponibili nella sezione Opzioni di syslog di ESXi.

Come specificare la conservazione dei file di registro

Per impostazione predefinita, i file di registro non possono superare le dimensioni configurate. Quando un file di registro raggiunge la dimensione configurata, la registrazione viene instradata verso un nuovo file di registro nuovo e il file di registro meno recente viene eliminato.
Nota: La procedura consigliata consiste nel bilanciare le impostazioni di rotazione e dimensione. L'incremento dell'impostazione di rotazione garantisce che i file di syslog vengano generati con frequenza sufficiente a impedire qualsiasi potenziale danneggiamento o distruzione da parte degli altri file di registro. L'incremento dell'impostazione di dimensione riduce il tempo necessario per passare a un altro file di registro. Le impostazioni ottimali per la dimensione sono un multiplo di 1024 KiB.
Utilizzare l'impostazione Syslog.global.defaultSize per specificare le dimensioni massime del file di registro in KiB e Syslog.global.defaultRotate per impostare il numero massimo dei file di registro precedenti da conservare prima della rotazione a un nuovo file di registro. Per modificare i parametri di conservazione dei file di registro associati a un programma specifico, utilizzare Syslog.loggers.<progName>.rotate e Syslog.loggers.<progName>.size settings, dove <progName> è il nome del programma di cui si desidera regolare i parametri.

Gestione delle impostazioni che influiscono sul file di registro della macchina virtuale

È possibile configurare alcune impostazioni che influiscono sul file di registro della macchina virtuale, ovvero vmware.log, nel file vmx o nel file /etc/vmware/config. Per modificare il file vmx, è necessario spegnere la macchina virtuale e le modifiche vengono applicate solo a tale macchina virtuale. Se si utilizza il file /etc/vmware/config, è necessario aggiungere il prefisso "vmx" all'impostazione, ad esempio vmx.log.keepOld = "20", e le modifiche influiscono su tutte le macchine virtuali nell'host ESXi.

Tabella 1. Impostazioni configurabili per il file vmware.log
Parametro Descrizione Esempio Note
logging

Disabilita la registrazione di tutte le macchine virtuali.

Il valore predefinito è logging = "TRUE"

Per disabilitare la registrazione della macchina virtuale:

logging = "FALSE"

Non utilizzare questa impostazione perché se si disabilita la registrazione della macchina virtuale, è estremamente difficile o impossibile ottenere supporto per i problemi della macchina virtuale. Se per qualche motivo è necessario utilizzare questa impostazione, è possibile inserirla solo nel file vmx di una macchina virtuale.
log.throttleBytesPerSec

Controlla quando un file di registro viene limitato. La limitazione del file di registro si verifica quando le scritture in vmware.log superano la velocità specificata per un periodo di tempo significativo. Questo si verifica quando il codice all'interno del processo VMX, che controlla una macchina virtuale, crea un numero eccessivo di messaggi di registro. Il valore predefinito per questa impostazione è 1 KB/sec.

In caso di limitazione del registro, nel file vmware.log viene visualizzato il messaggio <<< Log Throttled >>>.

log.throttleBytesPerSec = "1500"

Per disabilitare la limitazione del registro, utilizzare

log.throttleBytesPerSec = "0xFFFFFFFF"

La limitazione del file di registro potrebbe oscurare le informazioni necessarie per diagnosticare i problemi relativi alla macchina virtuale interessata. Se è necessario disabilitare la limitazione del registro, inserire la riga dell'esempio nel file vmx della macchina virtuale interessata. Rimuovere la riga al termine della sessione di debug.
log.keepOld

Controlla il numero di file vmware.log precedenti da conservare.

log.keepOld = "20" Non inserire per questa impostazione un valore inferiore al valore predefinito (10). Se le macchine virtuali vengono modificate o spostate di frequente, è consigliabile aumentare questa impostazione almeno a 20.
log.rotateSize

Controlla le dimensioni massime del file vmware.log in byte.

log.rotateSize = "2500000"

Per disabilitare la limitazione delle dimensioni massime di un file vmware.log, utilizzare

log.rotateSize = "0"

Un valore di questa impostazione inferiore a 100000 può causare la perdita dei messaggi di registro critici e influire sulle prestazioni della macchina virtuale. In ESXi 7.x e versioni precedenti, il valore predefinito di questa impostazione non limita le dimensioni del file vmware.log. In ESXi 8.x e versioni successive, il valore predefinito di questa impostazione è 2048000.
log.fileName

Controlla il nome e la posizione dei file di registro delle macchine virtuali.

log.fileName = "myVMLog"

Questa impostazione modifica il nome dei file di registro della macchina virtuale da vmware.log a myVMlog.

log.fileName = "/vmfs/volumes/vol1/myVM/myVM.log"

Questa impostazione indirizza i file di registro della macchina virtuale a una directory in un volume VMFS diverso (vol1) utilizzando myVM come nome di un file.

Non posizionare il file di registro all'esterno della directory della macchina virtuale per assicurarsi che la raccolta di bundle di supporto dell'host prelevi il file di registro, il che può essere fondamentale per il debug dei problemi della macchina virtuale.
log.fileLevel

Controlla il livello minimo al quale i messaggi vengono scritti in vmware.log. A ogni messaggio di registro è associato un livello. I livelli inferiori all'impostazione specificata non vengono aggiunti al file di registro della macchina virtuale. I livelli dei registri dei messaggi della macchina virtuale (dal più limitato al meno limitato) sono:

  • error
  • warning
  • notice
  • info (predefinito)
  • trivia
  • debug
  • debug1
  • debug2
  • debug3
  • debug4
  • debug5
  • debug6
  • debug7
  • debug8
  • debug9
  • debug10
log.fileLevel = "debug1"

Non impostare un livello più restrittivo di "info" per evitare di escludere i messaggi necessari per il debug dei problemi della macchina virtuale. Abbassare il livello al di sotto di "info" solo su richiesta del supporto con licenza. Ripristinare l'impostazione "info" al termine del debug.

log.filter.minLogLevel.<groupName>

Controlla l'output dei messaggi di debug specializzati.

log.filter.minLogLevel.disklib = "debug5" Utilizzare questa impostazione solo su richiesta del supporto con licenza, che deve fornire uno o più parametri <groupName>. Rimuovere l'impostazione al termine del debug.
log.sysogID

Consente l'invio di messaggi di registro della macchina virtuale al logger di sistema di un host ESXi, ad esempio syslog.

log.syslogID = "vmx"

Utilizzare "vmx" come valore per questa impostazione per consentire al daemon syslog ESXi, vmsyslogd, di inviare questi messaggi a un file di registro separato.

log.syslogLevel

Controlla il livello minimo a cui i messaggi vengono generati al logger di sistema di un host ESXi, ad esempio syslog.

log.syslogLevel = "debug" I livelli e il funzionamento di questa impostazione sono identici a quelli dell'impostazione log.fileLevel.

Come specificare la trasmissione dei messaggi agli host remoti

Facoltativamente, è possibile configurare ESXi per inviare messaggi syslog a uno o più host remoti, denominati agenti di raccolta syslog, ad esempio VMware vRealize Log Insight (in precedenza vCenter Log Insight), che raccolgono i messaggi syslog.
Nota: La procedura consigliata consiste nel configurare ogni host ESXi in modo che invii messaggi syslog ad almeno un agente di raccolta syslog. Questo garantisce che i messaggi vengano conservati in caso di un evento di sistema irreversibile e che sia possibile elaborare i messaggi syslog in vari modi, tra cui la categorizzazione e l'analisi in tempo reale (ad esempio per tipo, intervallo di tempo o macchina), o archiviare i messaggi.

Utilizzare l'impostazione Syslog.global.logHost per definire le specifiche dell'host remoto. Separare più specifiche dell'host remoto con una virgola (,). Dopo aver impostato Syslog.global.logHost, gli host ESXi stabiliscono e mantengono le connessioni agli agenti di raccolta syslog e la trasmissione dei messaggi inizia immediatamente. Quando ESXi genera un messaggio syslog, lo scrive nel file di registro appropriato nell'host ESXi e lo inoltra a tutti gli agenti di raccolta di syslog configurati.

Oltre ai messaggi syslog, anche i messaggi di controllo possono essere trasmessi agli agenti di raccolta syslog per motivi di sicurezza. I record di controllo tengono traccia dell'attività relativa alla sicurezza nell'host ESXi. Per ulteriori informazioni sui record di controllo, vedere Record di controllo.
Nota: Per sapere se e come impostare i record di controllo, consultare il team responsabile della sicurezza nella propria azienda. Le configurazioni certificate richiedono in genere l'abilitazione dei record di controllo.

Di seguito è riportata la sintassi per le specifiche Syslog.global.logHost dell'host remoto:

protocol://target[:port]
Parametro Descrizione Note
protocol Specifica il protocollo di rete. I valori validi sono udp, tcp e ssl. Il protocollo ssl specifica che la trasmissione dei messaggi syslog è codificata. I protocolli tcp e udp non codificano la trasmissione.
Nota: Se l'acquisizione dei messaggi syslog o dei messaggi di controllo è critica per il sistema, evitare di utilizzare il protocollo udp in quanto l'infrastruttura di rete esterna a ESXi potrebbe eliminare i messaggi UDP.
target

Specifica l'host remoto. È possibile utilizzare un indirizzo IPV4 o IPV6 o un nome host.

Quando si utilizza un indirizzo IPV6, è necessario incorporarlo tra parentesi quadre [xxx], dove xxx rappresenta l'indirizzo IPV6.
port (Facoltativo) Specifica la porta dell'host remoto da utilizzare. Se si utilizza UDP o TCP. La porta predefinita è 1514. Se si utilizza SSL. La porta predefinita è 514. Se si sceglie di utilizzare porte diverse dalla 514 o 1514. è necessario regolare il firewall ESXi per aprire la porta. Per informazioni dettagliate su come aprire il firewall ESXi per la porta indicata in ogni specifica dell'host remoto, vedere Configurazione del firewall di ESXi.
Esempi di specifiche di macchine remote:
Esempio di stringa Syslog.global.logHost Note
tcp://10.176.130.7:12345 Trasmette i messaggi syslog a 10.176.130.7 utilizzando TCP/IP e la porta 12345.
tcp://[2001:db8:85a3:8d3:1319:8a2e:370:7348] Trasmette i messaggi syslog a un indirizzo IPV6 utilizzando la porta 1514.

tcp://[2001:db8:85a3:8d3:1319:8a2e:370:7348]:5432

Trasmette i messaggi syslog a un indirizzo IPV6 utilizzando la porta 54321.
udp://company.com Trasmette i messaggi syslog a company.com utilizzando UDP e la porta 514.

udp://company.com,tcp://10.20.30.40:1050

Trasmette i messaggi syslog a due host remoti. Il primo host remoto utilizza UDP per comunicare con company.com utilizzando la porta 514. Il secondo host remoto utilizza TCP per comunicare con l'indirizzo IPV4 10.20.30.40 utilizzando la porta 1050.

ssl://company.com

Trasmette i messaggi syslog a company.com utilizzando SSL (TLS) e la porta 514.

Lunghezza massima di trasmissione del messaggio

Se si utilizza UDP, la lunghezza massima di trasmissione del messaggio syslog è 480 byte per IPV4 e 1180 byte per IPV6.

Per TCP o SSL, la lunghezza massima di trasmissione del messaggio syslog predefinita è 1 Kibibyte (KiB). È possibile aumentare tale lunghezza mediante il parametro Syslog.global.remoteHost.maxMsgLen. Il valore massimo è 16 KiB. I messaggi con lunghezza superiore a 16 KiB vengono troncati.
Nota: Se è necessario aumentare la lunghezza massima di trasmissione, è consigliabile aumentare la lunghezza solo per quanto strettamente necessario.
L'incremento della lunghezza massima del messaggio syslog può causare problemi se l'infrastruttura di rete e syslog esterna a ESXi non è in grado di gestire messaggi di lunghezza superiore a 1 KiB.
Nota: È consigliabile non utilizzare UDP per trasmettere i messaggi syslog a causa dei vincoli di lunghezza dei pacchetti e della possibilità che l'infrastruttura di rete esterna possa eliminare i messaggi.

Considerazioni relative ai certificati durante la configurazione di trasmissioni SSL a host remoti

Quando si configura ESXi per trasmettere messaggi syslog a host remoti utilizzando SSL, è necessario aggiungere un certificato SSL per ogni host remoto all'archivio CA dell'host ESXi. Per ulteriori informazioni, vedere Gestione dei certificati per gli host ESXi e Gestione dei certificati CA con ESXCLI.
Nota: Consultare la documentazione dell'agente di raccolta syslog per informazioni su come configurare l'agente di raccolta per la ricezione sicura dei messaggi syslog utilizzando SSL e una chiave privata.

Parametri di trasmissione SSL aggiuntivi

Un sistema ESXi conforme ai requisiti di certificazione di sicurezza potrebbe richiedere l'abilitazione dei controlli CRL X.509. È possibile attivare le impostazioni avanzate Syslog.global.certificate.strictX509Compliance e Syslog.global.certificate.checkCRL modificando il valore predefinito di false in true. A causa delle limitazioni dell'implementazione, se si abilitano i controlli CRL utilizzando l'impostazione Syslog.global.certificate.checkSSLCerts, tutti i certificati di una catena di certificati devono fornire un collegamento CRL. Questa impostazione è abilitata per impostazione predefinita. È possibile disattivare i controlli dei certificati SSL modificando l'impostazione in false, ma non è una procedura consigliata. Potrebbe essere necessario disattivare i controlli dei certificati SSL durante la risoluzione dei problemi relativi alle comunicazioni con un host remoto, ma solo per un periodo di tempo limitato.

Dove trovare informazioni sullo stato e sugli errori del daemon syslog

Il daemon syslog di ESXi utilizza il file di registro /var/run/log/vmsyslogd.log per archiviare le informazioni sullo stato e sugli errori, inclusi i messaggi eliminati. Se la trasmissione dei record di controllo è abilitata, il daemon syslog emette anche record di controllo relativi al suo funzionamento, ad esempio condizioni di avvio, arresto ed errore del daemon, che consentono di verificare la corretta esecuzione del daemon syslog.

Come modificare l'area di storage predefinita dei file di registro syslog

L'area di storage predefinita dei file di registro syslog è /var/run/log, locale per ogni host ESXi. Utilizzare la variabile di configurazione del syslog Syslog.global.logDir per modificare l'area di storage predefinita del file di registro syslog, purché la posizione si trovi in uno storage persistente. Se Syslog.global.logDir è configurato in un archivio persistente condiviso da più host ESXi per l'archiviazione dei file di registro syslog, modificare l'impostazione Syslog.global.logDirUnique a true in modo da evitare di mischiare i registri. L'impostazione Syslog.global.logDirUnique garantisce che a ogni macchina ESXi venga attribuito un nome univoco aggiunto al percorso Syslog.global.logDir, separando i file di registro dagli altri host.

Accodamento dei messaggi syslog per host remoti ed eliminazione dei messaggi

Una volta avviate, le emissioni di syslog non vengono mai arrestate, tranne che nei casi in cui si verificano riavvii ed errori di ESXi o è necessario arrestare una riconfigurazione di syslog.

Per l'invio dei messaggi syslog agli host remoti, ESXi utilizza un meccanismo di accodamento. In questo modo, è possibile evitare l'eliminazione dei messaggi nel caso vengano rilevati e risolti problemi relativi alla connettività di rete. Tuttavia, se i problemi di connettività durano più a lungo di quanto il meccanismo di accodamento sia in grado di tollerare, i messaggi syslog vengono eliminati. È possibile visualizzare le statistiche relative all'eliminazione dei messaggi nel file di registro del daemon syslog.

È possibile visualizzare i messaggi eliminati in /var/run/log/vmsyslogd-dropped.log. Questo file di registro dispone di impostazioni di conservazione specifiche, simili a quelle per i parametri di conservazione specifici del programma. I parametri di conservazione dei file di registro dei messaggi eliminati sono: Syslog.global.droppedMsgs.fileRotate e Syslog.global.droppedMsgs.fileSize.