KNOWLEDGE BASE

Knowledge Base
1Backup
Acronis
Antivirus
Email
Firewall
GFI Software
Mail
Monitoring
N-Able
Sicurezza
TSPlus
Diventa Autore per CoreTech | Scopri di più
× Non sei ancora nostro cliente Runecast? Diventa Partner CoreTech e visita il nostro configuratore prezzi

Runecast - Configurazione syslog remoto su ESXi

Runecast - Configurazione syslog remoto su ESXi

Gli host VMware vSphere ESXi 5.0 e versioni successive eseguono un servizio Syslog (vmsyslogd) che fornisce un meccanismo standard per la registrazione dei messaggi da VMkernel e altri componenti di sistema. Quindi sotto vSphere gli vostri host possono inoltrare i loro log a un raccoglitore di syslog standard, a prescindere da cosa fa Runecast, che in questo caso diverrebbe una destinazione syslog aggiuntiva. Per impostazione predefinita in ESXi, questi registri vengono inseriti in un volume di lavoro locale o in un ramdisk. Per preservare ulteriormente i registri, ESXi può essere configurato per posizionare questi registri in una posizione di archiviazione alternativa su disco e per inviare i registri attraverso la rete a un server Syslog. La conservazione, la rotazione e la divisione dei registri ricevuti e gestiti da un server Syslog sono completamente controllate da quel server Syslog.

ESXi non è in grado di configurare o controllare la gestione dei registri su un server Syslog remoto.
Le versioni precedenti di vSphere ESXi sono configurate in modo diverso: nella sezione  Abilitazione di syslog su ESXi 3.5 e 4.x in fondo a questo tutorial trovate un approfondimento a riguardo.

Posizione Syslog

Indipendentemente dalla configurazione Syslog aggiuntiva specificata utilizzando queste opzioni, i registri continuano a essere collocati nelle posizioni predefinite sull'host ESXi.
Se vSphere Syslog Collector viene utilizzato per ricevere i log dagli host ESXi, vi conviene consultare la sezione Installazione o aggiornamento di vSphere Syslog Collector della Guida all'installazione e alla configurazione di vSphere che trovate sul sito web di riferimento, ovvero la sezione VMware Syslog Service della Guida alla documentazione di ESXi e vCenter Server 6.0.

Risoluzione

La configurazione del servizio Syslog su ESXi 5.xe 6.0 può essere eseguita utilizzando i profili host, la vCLI o le opzioni di configurazione avanzata in vSphere Client/vSphere Web Client, quindi dovete selezionare il metodo più appropriato per il vostro ambiente. La configurazione del caso non può essere eseguita eseguendo il comando vicfg-syslog.
Sono disponibili cinque opzioni di configurazione, descritte qui di seguito (riferitevi all’immagine seguente).

Syslog.global.logDir

In questo caso, posizione su un datastore locale o remoto (VMFS, NFS, FAT) e percorso in cui devono essere salvati i registri. Ha il formato [DatastoreName] DirectoryName che esegue il mapping a /vmfs/volumi/DatastoreName/DirectoryName/.

Se il DirectoryName specificato non esiste, verrà creato in ESXi 6.5 e versioni precedenti. Tuttavia, per ESXi 6.7 e versioni successive, la directory di registro deve esistere prima di configurare il parametro dir di registrazione globale. Se il DirectoryName specificato non esiste, la configurazione del parametro Syslog.global.logDir avrà esito negativo con il messaggio "Internal Error" nell'interfaccia utente e il messaggio di errore "Logdir must exist and be a directory” nel file di registro /var/run/log/hostd.log.

Banner

Se /scratch è definito, il valore predefinito è []/scratch/log.

 

Syslog.global.logHost

In questo caso c’è un elenco delimitato da virgole di server remoti a cui vengono inviati i registri utilizzando il protocollo syslog. Se il campo logHost è vuoto, non viene inoltrato alcun registro. Includere il protocollo e la porta, in modo simile a tcp://nomehost:514 o udp://nomehost:514 o ssl://nomehost:1514.

Banner

 

Syslog.global.logDirUnique

Si tratta di un’opzione booleana che controlla se una directory specifica dell'host viene creata all'interno della logDir configurata. Il nome della directory è il nome host dell'host ESXi. Una directory univoca è utile se la stessa directory condivisa viene utilizzata da più host ESXi. Il valore predefinito è “false”.


Syslog.global.defaultRotate

È il numero massimo di file di registro da conservare localmente sull'host ESXi nella logDir configurata. Non influisce sulla conservazione del server syslog remoto. Il suo valore predefinito è 8.


Syslog.global.defaultSize

Corrisponde alla dimensione massima, in kilobyte, di ogni file di registro locale prima che venga ruotato. Non influisce sulla conservazione del server syslog remoto. Il valore predefinito è 1024 KB.

Nota: per impostare individualmente il livello di registrazione per i componenti di sistema come auth, vmkernel, hostd ecc., è possibile selezionare loggers in syslog dalla GUI del client vSphere e impostare il valore desiderato.

 

Configurazione della registrazione locale e remota utilizzando il comando esxcli

La funzionalità syslog locale e remota può essere configurata per un host utilizzando l’utilità della riga di comando esxcli, che può essere utilizzata sulla console di un host ESXi, nella vCLI o nella vMA. Per ulteriori informazioni sull'uso di esxcli, vedere la documentazione dell'interfaccia della riga di comando di vSphere.

La procedura per eseguire la configurazione della registrazione locale è riportata qui di seguito.

  1. Aprire una sessione della console ESXi Shell in cui è disponibile il comando esxcli, ad esempio vCLI o direttamente sull'host ESXi.
  2. Visualizzare le cinque opzioni di configurazione (sono quelle descritte qualche paragrafo indietro…) esistenti sull'host eseguendo il comando:
    esxcli system syslog config get.
  3. Impostare la nuova configurazione dell'host, specificando le opzioni da modificare, eseguendo un comando:
    esxcli system syslog config set --logdir=/percorso/a/vmfs/directory/ --loghost=RemoteHostname --logdir-unique=true|false --default-rotate=NNN --default-size=NNN
    Ad esempio, per configurare il syslog remoto utilizzando TCP sulla porta 514 il comando è: esxcli system syslog config set –loghost='tcp://10.11.12.13:514'
  4. Dopo aver apportato modifiche alla configurazione, caricare la nuova configurazione eseguendo il comando: esxcli system syslog reload
  5. Eseguire questo comando per verificare se la porta è raggiungibile dall'host ESXi:
    nc -z Nomehost remoto 514 (ad esempio nc -z 10.11.12.13 514).

Notate che quando si utilizza Syslog con UDP su ESXi 5.0, è necessario scaricare e installare la patch VMware ESXi 5.0, Patch ESXi-5.0.0-20120704001-standard.

 

Configurazione della registrazione locale e remota utilizzando i profili host

La funzionalità syslog locale e remota può essere configurata per un cluster di host simili utilizzando i profili host. Per ulteriori informazioni, consultate il Set Up Syslog dalla sezione Host Profiles Interface della Guida all'installazione e alla configurazione di vSphere.

La procedura per la configurazione è quella descritta qui di seguito.

  1. Collegarsi a vCenter Server utilizzando il client vSphere.
  2. Fare clic su Home.
  3. Nella sezione Management, fare clic su Host Profiles.
  4. Creare un nuovo profilo o modificare un profilo esistente.
  5. Nella finestra di dialogo Edit profile, impostare una o più delle cinque opzioni di configurazione già descritte, ricordando che se syslog è stato configurato utilizzando esxcli o le opzioni di configurazione avanzate e è stato acquisito come host di riferimento, le 5 opzioni di configurazione sono già visibili nella sezione delle opzioni di configurazione avanzata; invece se syslog non è stato configurato in precedenza, bisogna fare clic con il pulsante destro del mouse sulla sezione Advanced Configuration options e aggiungere un profilo per ciascuna delle cinque opzioni di configurazione.
  6. Salvare il profilo e assegnarlo agli host.

Configurazione della registrazione locale e remota utilizzando i profili host attraverso vSphere Web Client

In alternativa alla soluzione appena proposta, è possibile configurare la registrazione locale e remota dei log sempre utilizzando i profili host, ma dal vSphere Web Client; ecco come dovete fare:

  1. collegatevi a vCenter Server utilizzando vSphere Web Client;
  2. cliccate su Home;
  3. nella sezione Operations and Policies, fate clic su Host profiles;
  4. create un nuovo profilo o modificatene uno esistente;
  5. nella finestra di dialogo Edit profile, impostate una o più delle cinque opzioni di configurazione già descritte;
  6. salvate il profilo e assegnategli gli host.

Per ulteriori informazioni sulla configurazione di syslog utilizzando vSphere Web Client senza profilo host, consultare la sezione Configura Syslog su host ESXi nella documentazione di vSphere 6.0 disponibile sul sito web di VMware.

Configurazione della registrazione locale e remota utilizzando le opzioni di configurazione avanzata

La funzionalità syslog locale e remota può essere configurata per un host utilizzando opzioni di configurazione avanzate, che possono essere impostate utilizzando vSphere Client, vSphere Web Client, PowerCLI o vCLI.
Questa configurazione non può essere eseguita utilizzando il comando esxcfg-advcfg della console locale.
Se l’host ESXi perde la comunicazione con il server syslog remoto, la registrazione smette di essere inviata al server syslog. Viene visualizzato l'errore “Failed to write log” nel file /var/log/.vmsyslogd.err. Nulla viene inviato al server syslog remoto fino al riavvio del servizio syslogd.

Configurazione dell'eccezione ESXi Firewall utilizzando il comando esxcli/syslog port:

Potrebbe essere necessario aprire manualmente il set di regole del firewall per syslog durante il reindirizzamento dei log. Per il traffico UDP, questa regola del firewall non ha effetto in ESXi 5.0 build 456551 e i flussi di traffico della porta UDP 514 indipendentemente.
Per aprire il traffico in uscita attraverso ESXi Firewall sulla porta UDP 514 e sulle porte TCP 514 e 1514, eseguire questi comandi:

esxcli network firewall ruleset set --ruleset-id=syslog --enabled=true
esxcli network firewall refresh

 

Abilitazione di syslog su ESXi 3.5 e 4.x

La configurazione del servizio syslog su ESXi può essere effettuata da vSphere Client, PowerCLI, oppure da vCLI; potete scegliere il metodo più appropriato in base al vostro ambiente di lavoro.

Le procedure differiscono da quelle esposte nei paragrafi precedenti per le versioni successive alla 4.x e le descriviamo qui di seguito, caso per caso.

Configurazione della registrazione locale e remota utilizzando le opzioni di configurazione avanzate

La funzionalità syslog locale e remota può essere configurata per un host utilizzando opzioni di configurazione avanzate, che possono essere impostate utilizzando vSphere Client, PowerCLI o vCLI; la configurazione non può essere eseguita utilizzando il comando esxcfg-advcfg della console locale.

Al solito sono presenti cinque opzioni di configurazione, descritte qui di seguito.

  • Syslog.Local.DatastorePath: è una posizione su un datastore locale o remoto e un percorso in cui vengono salvati i registri; ha il formato [datastorename] directory/filename, che esegue il mapping a /vmfs/volumi/datastorename/directory/filename. Se il campo del percorso dell'archivio dati è vuoto, i registri vengono inseriti solo nella posizione predefinita. Per ESXi 4.1, l'impostazione predefinita è []/scratch/log/messages se è definito scratch, mentre in tutti gli altri casi, il valore predefinito è vuoto.
  • Syslog.Remote.Hostname: è il nome DNS o l'indirizzo IP di un server remoto a cui vengono inviati i registri utilizzando il protocollo syslog; se il campo del nome host è vuoto, non viene inoltrato alcun registro.
  • Syslog.Remote.Port: corrisponde alla porta UDP di un server remoto cui vengono inviati i registri utilizzando il protocollo syslog; l’impostazione predefinita è la porta 514.

Configurazione della registrazione remota utilizzando la CLI di vSphere

La funzionalità Remote syslog può essere configurata dalla vCLI utilizzando il comando vicfg-syslog, che viene installato con l'appliance vSphere Management Assistant.

La relativa procedura è la seguente:

  1. aprire una console nella posizione in cui è installata la vCLI o accedere alla vMA;
  2. determinare la configurazione corrente utilizzando il comando:

    vicfg-syslog --server ESXiHostnameOrIP --username MyUsername --password MyPassword --show

    Per esempio: vicfg-syslog --server esxhost1 --username root --password MyPassword –show
  3. Impostare il nome host o l'indirizzo IP e la porta del server syslog remoto utilizzando il comando:

    vicfg-syslog --server ESXiHostnameOrIP --username MyUsername --password MyPassword --setserver SyslogHostnameOrIP --setport NumeroPorta

    Per esempio:

    vicfg-syslog --server esxhost1 --username root --password MyPassword --setserver 10.5.0.200 --setport 514

    Nota: per rimuovere la configurazione del syslog remoto, impostare il nome del server syslog remoto su una stringa vuota "".

 

Al termine di questa procedura, convalidate la modifica della configurazione ripetendo il passaggio 2.

 

Configurazione della registrazione remota tramite PowerCLI

La funzionalità Remote syslog può essere configurata utilizzando PowerCLI utilizzando il comando Set-VMHostSysLogServer. Per fare ciò, bisogna eseguire questa procedura:

  1. collegarsi al server vCenter o all'host ESXi utilizzando il comando:
    Connect-VIServer HostnameOrIP
  2. determinare la configurazione corrente utilizzando il comando:
    Get-VMHost ESXHostnameOrIP | Get-VMHostSysLogServer
    (un risultato vuoto indica che il server syslog non è configurato per l'host specificato);
  3. impostare il nome host o l'indirizzo IP e la porta del server syslog remoto utilizzando il comando:
    Get-VMHost ESXHostnameOrIP | Set-VMHostSysLogServer -SysLogServer SyslogHostnameOrIP -SysLogServerPort Numero porta

    Per esempio: Get-VMHost esxhost1 | Set-VMHostSysLogServer -SysLogServer 10.5.0.200 -SysLogServerPort 514

Nota: per rimuovere la configurazione del syslog remoto, impostare il nome del server syslog remoto su $null.

Svolti i passaggi suindicati, convalidate la modifica della configurazione ripetendo il passaggio 2.


Per ricaricare le modifiche al file di configurazione syslog, utilizzare il comando:

 

kill -HUP $(cat /var/run/syslogd.pid)da un prompt dei comandi dell'host ESXi.

Se non viene trovato alcun processo dal comando precedente, avviare il servizio syslog utilizzando il comando syslogd .

Per recuperare o impostare la configurazione syslog per più host ESXi contemporaneamente, utilizzare Get-VMHost per eseguire query per più host all'interno di un data center o cluster.