Diverse services genereren automatisch logboeken. U kunt logboekbundels genereren in vRealize Automation. U kunt ook uw omgeving configureren om logboeken te sturen naar vRealize Log Insight.

Gebruik het argument --help in de vracli-commandoregel (bijvoorbeeld vracli log-bundle --help) voor informatie over het vracli-commandoregelprogramma.

Zie Hoe configureer ik het doorsturen van logboeken naar vRealize Log Insight in vRealize Automation voor gerelateerde informatie over het gebruik van vRealize Log Insight.

Opdrachten voor logboekbundels

U kunt een logboekbundel maken om alle logboeken te bevatten die worden gegenereerd door de services die u uitvoert. Een logboekbundel bevat al uw servicelogboeken. U kunt een logboekbundel gebruiken om problemen op te lossen.

In een geclusterde omgeving (hoge beschikbaarheidsmodus) voert u de opdracht vracli log-bundle uit op slechts één knooppunt. Logboeken worden opgehaald van alle knooppunten in de omgeving. In het geval van een netwerkprobleem of een ander clusterprobleem worden logboeken echter opgehaald van het aantal knooppunten dat kan worden bereikt. Bijvoorbeeld: als een knooppunt in een cluster met drie knooppunten wordt ontkoppeld, worden logboeken alleen van de twee gezonde knooppunten verzameld. De uitvoer van de opdracht vracli log-bundle bevat informatie over eventuele gevonden problemen en de stappen voor een tijdelijke oplossing.

  • Als u een logboekbundel wilt maken, moet u SSH gebruiken om verbinding te maken met een knooppunt en voert u de volgende vracli-opdracht uit:

    vracli log-bundle

  • Als u de time-outwaarde voor het verzamelen van logboeken van elk knooppunt wilt wijzigen, voert u de volgende vracli-opdracht uit:

    vracli log-bundle --collector-timeout $CUSTOM_TIMEOUT_IN_SECONDS

    In een omgeving met grote logboekbestanden, een traag netwerk of hoog CPU-gebruik kunt u de time-out bijvoorbeeld instellen op een grotere waarde dan de standaardwaarde van 1000 seconden.

  • Als u de schijfruimte wilt bepalen die wordt verbruikt door een specifiek servicelogboek zoals ebs of vro, voert u het volgende vracli-commando uit en controleert u de uitvoer van het commando:

    vracli disk-mgr

  • Als u andere opties, zoals time-out van Assembly en bufferlocatie, wilt configureren, gebruikt u het volgende vracli-hulpcommando:

    vracli log-bundle --help

Indeling van logboekbundels

De logboekbundel is een tar-bestand met tijdstempel. De naam van de bundel komt overeen met het patroon log-bundle-<datum>T<tijd>.tar, bijvoorbeeld log-bundle-20200629T131312.tar. Een logboekbundel bevat doorgaans logboeken van alle knooppunten in de omgeving. In geval van een fout bevat deze zo veel mogelijk logboeken. Deze bevat minimaal logboeken van het lokale knooppunt.

De logboekbundel bestaat uit de volgende inhoud:
  • Omgevingsbestand

    Het omgevingsbestand bevat de uitvoer van diverse Kubernetes-onderhoudsopdrachten. Het geeft informatie over het huidige resourceverbruik per knooppunt en per pod. Tevens bevat het clusterinformatie en beschrijvingen van alle beschikbare Kubernetes-entiteiten.

  • Hostlogboeken en -configuratie

    De configuratie van elke host (bijvoorbeeld de directory /etc) en de hostspecifieke logboeken (bijvoorbeeld journald) worden in één directory verzameld voor elk clusterknooppunt of elke host. De directorynaam komt overeen met de hostnaam van het knooppunt. De interne inhoud van de directory komt overeen met het bestandssysteem van de host. Het aantal directory's komt overeen met het aantal clusterknooppunten.

  • Services-logboeken
    Logboeken voor Kubernetes-services vindt u in de volgende mapstructuur:
    • <hostnaam>/services-logs/<naamruimte>/<appnaam>/file-logs/<containernaam>.log
    • <hostnaam>/services-logs/<naamruimte>/<appnaam>/console-logs/<containernaam>.log

    Een voorbeeld van een bestandsnaam is my-host-01/services-logs/prelude/vco-app/file-logs/vco-server-app.log.

    • hostnaam is de hostnaam van het knooppunt waarop de applicatiecontainer actief is of was. Doorgaans is er één instantie voor elk knooppunt voor elke service. Bijvoorbeeld: 3 knooppunten = 3 instanties.
    • naamruimte is de Kubernetes-naamruimte waarin de applicatie is geïmplementeerd. Voor gebruikersgerichte services is deze waarde prelude.
    • appnaam is de naam van de Kubernetes-applicatie die de logboeken heeft gemaakt (bijvoorbeeld provisioning-service-app).
    • containernaam is de naam van de container die de logboeken heeft geproduceerd. Sommige apps bestaan uit meerdere containers. De vco-app-container bevat bijvoorbeeld de vco-server-app- en vco-controlcenter-app-containers.
  • (Oudere) Pod-logboeken

    Vóór de wijzigingen in de architectuur van de logboekregistratie in vRealize Automation 8.2 bevonden de servicelogboeken zich in de directory van elke pod in de logboekbundel. Hoewel u kunt doorgaan met het genereren van pod-logboeken in de bundel met behulp van het commando vracli log-bundle --include-legacy-pod-logs, wordt dit niet aanbevolen, omdat alle logboekinformatie al in de logboeken van de services aanwezig is. Het opnemen van pod-logboeken kan de tijd en ruimte verhogen die vereist zijn om de logboekbundel te genereren.

De grootte van de logboekbundel verkleinen

Als u een kleinere logboekbundel wilt genereren, gebruikt u een van de volgende commando's met vracli log-bundle:

  • vracli log-bundle --since-days n

    Gebruik dit commando om alleen de logboekbestanden te verzamelen die in de afgelopen dagen zijn gegenereerd. Anders worden logboeken voor de afgelopen 2 dagen bewaard en verzameld. Bijvoorbeeld:

    vracli log-bundle --since-days 1

  • vracli log-bundle --services service_A,service_B,service_C

    Gebruik dit commando om alleen de logboeken te verzamelen voor de benoemde opgegeven services. Bijvoorbeeld:

    vracli log-bundle --services ebs-app,vco-app

  • vracli log-bundle --skip-heap-dumps

    Gebruik dit commando om alle heapdumps uit de gegenereerde logboekbundel uit te sluiten.

Logboeken weergeven

U kunt de logboeken van een servicepod of -app uitvoeren met het commando vracli logs <pod_name>.

De volgende opties zijn beschikbaar voor commando's:
  • --service

    Geeft een samengevoegd logboek weer voor alle knooppunten van de app in plaats van één pod

    Bijvoorbeeld: vracli logs --service abx-service-app

  • --tail n

    Geeft de laatste n regels van het logboek weer. De standaardwaarde voor n is 10.

    Bijvoorbeeld: vracli logs --tail 20 abx-service-app-8598fcd4b4-tjwhk

  • --file

    Geeft alleen het opgegeven bestand weer. Als er geen bestandsnaam wordt opgegeven, worden alle bestanden weergegeven.

    Bijvoorbeeld: vracli logs --file abx-service-app.log abx-service-app-8598fcd4b4-tjwhk

Inzicht in logboekrotatie

Met betrekking tot logboekrotatie moet u rekening houden met de volgende overwegingen voor het servicelogboek:
  • Alle services maken logboeken. Servicelogboeken worden opgeslagen op een speciaal toegewezen schijf /var/log/services-logs.
  • Alle logboeken worden regelmatig geroteerd. Rotatie vindt elk uur plaats of wanneer een bepaalde groottelimiet is bereikt.
  • Alle oude logboekrotaties worden uiteindelijk gecomprimeerd.
  • Er is geen servicequotum voor logboekrotaties.
  • Het systeem bewaart zo veel mogelijk logboeken. Automation controleert regelmatig de gebruikte schijfruimte voor logboeken. Als de ruimte voor 70% wordt gebruikt, worden oudere logboeken leeggemaakt totdat de schijfruimte voor logboeken voor 60% wordt gebruikt.
  • U kunt de grootte van uw logboekschijf wijzigen als u meer ruimte nodig heeft. Zie Schijfruimte van vRealize Automation-appliance vergroten.

Voer de volgende vracli-commando's uit om de schijfruimte voor logboeken te controleren. De vrije ruimte van /dev/sdc(/var/log) moet ongeveer 30% of meer zijn voor elk knooppunt.

# 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)