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 o vro, eseguire il comando vracli 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.

Il bundle di registri è composto dai seguenti contenuti:
  • 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 esempio journald) 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 contenitori vco-server-app e vco-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>.

Sono disponibili le seguenti opzioni di comandi:
  • --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

Per quanto riguarda la rotazione dei registri, è necessario considerare i seguenti aspetti relativi ai registri dei servizi:
  • 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)