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
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.
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:
|
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 >>>. |
Per disabilitare la limitazione del registro, utilizzare
|
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. |
Per disabilitare la limitazione delle dimensioni massime di un file vmware.log, utilizzare
|
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. |
Questa impostazione modifica il nome dei file di registro della macchina virtuale da vmware.log a myVMlog.
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:
|
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
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.
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. |
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.
Considerazioni relative ai certificati durante la configurazione di trasmissioni SSL a host remoti
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.