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
ofvro
, voert u het volgendevracli
-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.
- 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 (bijvoorbeeldjournald
) 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 devco-server-app
- envco-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>
.
- --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
- 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)