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.

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][?formatter=value[&framing=value]]
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.
formatter (Facoltativo) Specifica il formato dei messaggi syslog. I valori validi sono RFC_3164 e RFC_5424. Il valore predefinito è RFC_3164. Per ulteriori informazioni, vedere Protocolli, formati e framing dei messaggi syslog di ESXi.
framing

(Facoltativo) Specifica il modo in cui viene eseguito il framing dei messaggi syslog. Il framing consente a un agente di raccolta syslog di conoscere in modo univoco la lunghezza di un messaggio syslog. I valori validi sono octet_counting (con framing) e non_transparent (senza framing).

Il valore predefinito per la formattazione RFC_3164 è il framing non trasparente. Il valore predefinito per la formattazione RFC_5424 è octet_counting.

Per ulteriori informazioni, vedere Protocolli, formati e framing dei messaggi syslog 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. La formattazione è RFC_3164, senza framing.
tcp://[2001:db8:85a3:8d3:1319:8a2e:370:7348] Trasmette i messaggi syslog a un indirizzo IPV6 utilizzando la porta 1514. La formattazione è RFC_3164, senza framing.

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

Trasmettere i messaggi syslog a un indirizzo IPV6 utilizzando la porta 54321. La formattazione è RFC 3164, senza framing.
Imp://company.com?formatter=RFC_5424&framing=octect_coundo Trasmette i messaggi syslog a company.com utilizzando UDP e la porta 514. La formattazione è RFC_5424; il framing è octet_counting.

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. In entrambi i casi la formattazione è RFC 3164; senza framing.

ssl://company.com?formatter=RFC_5424

Trasmette i messaggi syslog a company.com utilizzando SSL (TLS) e la porta 514. La formattazione è RFC_5424; il framing è octet_counting.

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.