I registri vengono generati automaticamente da vari servizi. È possibile generare bundle di registri in vRealize Automation. È inoltre possibile configurare l'ambiente in modo che invii i registri a vRealize Log Insight.
Utilizzare l'argomento --help
nella riga di comando di vracli
, ad esempio vracli log-bundle --help
, per informazioni sull'utilità della riga di comando vracli
.
Per informazioni correlate all'utilizzo di vRealize Log Insight, vedere In che modo è possibile configurare l'inoltro dei registri a vRealize Log Insight in vRealize Automation.
Comandi del bundle di registri
È possibile creare un bundle di registri contenente tutti i registri generati dai servizi eseguiti. Un bundle di registri contiene tutti i registri del servizio. È possibile utilizzare un bundle di registri per la risoluzione dei problemi.
In un ambiente di cluster (modalità ad alta disponibilità), eseguire il comando vracli log-bundle
in un solo nodo. I registri vengono trascinati da tutti i nodi nell'ambiente. Tuttavia, se si verifica un problema di rete o un altro problema relativo al cluster, i registri vengono estratti da tutti i nodi che è possibile raggiungere. Ad esempio, se un nodo è disconnesso in un cluster di tre nodi, i registri vengono raccolti solo dai due nodi integri. L'output del comando vracli log-bundle
contiene informazioni sugli eventuali problemi rilevati e i passaggi della soluzione.
- Per creare un bundle di registri, accedere tramite SSH a un nodo qualsiasi ed eseguire il seguente comando
vracli
:vracli log-bundle
- Per modificare il valore di timeout per la raccolta dei registri da ciascun nodo, eseguire il seguente comando
vracli
:vracli log-bundle --collector-timeout $CUSTOM_TIMEOUT_IN_SECONDS
Ad esempio, se l'ambiente contiene file di registro di grandi dimensioni, una rete lenta o un utilizzo elevato della CPU, è possibile impostare il timeout su un valore superiore ai 1000 secondi predefiniti.
- Per determinare lo spazio su disco utilizzato da un registro di servizi specifico, ad esempio
ebs
ovro
, eseguire il comandovracli
seguente ed esaminare l'output del comando:vracli disk-mgr
- Per configurare altre opzioni, come il timeout dell'assembly e la posizione del buffer, utilizzare il comando della guida
vracli
seguente:vracli log-bundle --help
Struttura del bundle di registri
Il bundle di registri è un file tar con data e ora. Il nome del bundle corrisponde al file log-bundle-<date>T<time>.tar
modello, ad esempio log-bundle-20200629T131312.tar
. Il bundle di registri contiene in genere i registri di tutti i nodi nell'ambiente. In caso di errore, contiene quanti più registri possibile. Contiene almeno i registri del nodo locale.
- File di ambiente
Il file di ambiente contiene l'output di vari comandi di manutenzione di Kubernetes. Fornisce informazioni sull'utilizzo corrente delle risorse per nodo e per pod. Contiene inoltre le informazioni e la descrizione del cluster per tutte le entità Kubernetes disponibili.
- Registri e configurazione di host
La configurazione di ogni host (ad esempio la relativa directory
/etc
) e i registri specifici dell'host (ad esempiojournald
) vengono raccolti in una directory per ogni nodo o host del cluster. Il nome della directory corrisponde al nome host del nodo. I contenuti interni della directory corrispondono al file system dell'host. Il numero di directory corrisponde al numero di nodi del cluster. - Registri dei servizi
I registri per i servizi Kubernetes si trovano nella seguente struttura di cartelle:
<hostname>/services-logs/<namespace>/<app-name>/file-logs/<container-name>.log
<hostname>/services-logs/<namespace>/<app-name>/console-logs/<container-name>.log
Un nome di file di esempio è
my-host-01/services-logs/prelude/vco-app/file-logs/vco-server-app.log
.- hostname è il nome host del nodo in cui il contenitore dell'applicazione è o era in esecuzione. In genere, è presente una sola istanza per ogni nodo per ogni servizio. Ad esempio, 3 nodi = 3 istanze.
- namespace è lo spazio dei nomi di Kubernetes in cui l'applicazione è distribuita. Per i servizi rivolti all'utente, questo valore è
prelude
. - app-name è il nome dell'applicazione Kubernetes che ha generato i registri (ad esempio
provisioning-service-app
). - container-name è il nome del contenitore che ha generato i registri. Alcune app sono composte da più contenitori. Ad esempio, il contenitore
vco-app
include i contenitorivco-server-app
evco-controlcenter-app
.
- Registri pod (legacy)
Prima delle modifiche dell'architettura di registrazione apportate in vRealize Automation 8.2, i registri dei servizi si trovavano nella directory di ciascun pod nel bundle di registri. Anche se è possibile continuare a generare i registri dei pod nel bundle utilizzando il comando
vracli log-bundle --include-legacy-pod-logs
, questa operazione non è consigliata perché tutte le informazioni dei registri si trovano già nei registri di ciascun servizio. L'inclusione dei registri dei pod può aumentare inutilmente il tempo e lo spazio necessari per generare il bundle di registri.
Riduzione della dimensione del bundle di registri
Per generare un bundle di registri di dimensioni più piccole, utilizzare uno dei seguenti comandi vracli log-bundle
:
vracli log-bundle --since-days n
Utilizzare questo comando per raccogliere solo i file di registro generati nell'ultimo numero di giorni. In caso contrario, i registri vengono conservati e raccolti per gli ultimi 2 giorni. Ad esempio:
vracli log-bundle --since-days 1
vracli log-bundle --services service_A,service_B,service_C
Utilizzare questo comando per raccogliere solo i registri per i servizi forniti denominati. Ad esempio:
vracli log-bundle --services ebs-app,vco-app
vracli log-bundle --skip-heap-dumps
Utilizzare questo comando per escludere tutti i dump dell'heap dal bundle di registri generato.
Visualizzazione dei registri
È possibile eseguire l'output dei registri di un'app o un pod di servizio utilizzando il comando vracli logs <pod_name>
.
- --service
Visualizza un registro unito per tutti i nodi dell'app anziché per un singolo pod
Esempio:
vracli logs --service abx-service-app
- --tail n
Visualizza le ultime n righe del registro. Il valore n predefinito è 10.
Esempio:
vracli logs --tail 20 abx-service-app-8598fcd4b4-tjwhk
- --file
Visualizza solo il file specificato. Se non viene fornito un nome file, vengono visualizzati tutti i file.
Esempio:
vracli logs --file abx-service-app.log abx-service-app-8598fcd4b4-tjwhk
Informazioni sulla rotazione dei registri
- Tutti i servizi generano registri. I registri dei servizi vengono archiviati in un disco
/var/log/services-logs
dedicato. - Tutti i registri vengono sottoposti a rotazione regolarmente. La rotazione avviene ogni ora o quando le dimensioni raggiungono un determinato limite.
- Tutte le vecchie rotazioni dei registri verranno infine compresse.
- Non è presente alcuna quota per servizio per le rotazioni dei registri.
- Il sistema conserva tutti i registri che può. L'automazione verifica regolarmente lo spazio su disco utilizzato per i registri. Quando lo spazio diventa pieno al 70%, i registri precedenti vengono eliminati finché lo spazio su disco per i registri non è pieno al 60%.
- Se è necessario più spazio, è possibile ridimensionare il disco dei registri. Vedere Aumento delle dimensioni del disco dell'appliance vRealize Automation.
Per controllare lo spazio su disco dei registri, eseguire i comandi vracli
seguenti. Lo spazio libero di /dev/sdc(/var/log)
deve essere prossimo almeno al 30% per ogni nodo.
# vracli cluster exec -- bash -c 'current_node; vracli disk-mgr; exit 0' sc1-10-182-1-103.eng.vmware.com /dev/sda4(/): Total size: 47.80GiB Free: 34.46GiB(72.1%) Available(for non-superusers): 32.00GiB(66.9%) SCSI ID: (0:0) /dev/sdb(/data): Total size: 140.68GiB Free: 116.68GiB(82.9%) Available(for non-superusers): 109.47GiB(77.8%) SCSI ID: (0:1) /dev/sdc(/var/log): Total size: 21.48GiB Free: 20.76GiB(96.6%) Available(for non-superusers): 19.64GiB(91.4%) SCSI ID: (0:2) /dev/sdd(/home): Total size: 29.36GiB Free: 29.01GiB(98.8%) Available(for non-superusers): 27.49GiB(93.7%) SCSI ID: (0:3)