Diagnostische logboeken van Azure Stack Hub verzenden met behulp van het bevoegde eindpunt (PEP)
Als u Get-AzureStackLog wilt uitvoeren op een geïntegreerd systeem, moet u toegang hebben tot het bevoegde eindpunt (PEP). Hier volgt een voorbeeldscript dat u kunt uitvoeren met het PEP om logboeken te verzamelen. Als u een actieve logboekverzameling annuleert om een nieuwe te starten, wacht u vijf minuten voordat u een nieuwe logboekverzameling start en voert u Remove-PSSession -Session $session
in.
$ipAddress = "<IP ADDRESS OF THE PEP VM>" # You can also use the machine name instead of IP here.
$password = ConvertTo-SecureString "<CLOUD ADMIN PASSWORD>" -AsPlainText -Force
$cred = New-Object -TypeName System.Management.Automation.PSCredential ("<DOMAIN NAME>\CloudAdmin", $password)
$shareCred = Get-Credential
$session = New-PSSession -ComputerName $ipAddress -ConfigurationName PrivilegedEndpoint -Credential $cred -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)
$fromDate = (Get-Date).AddHours(-8)
$toDate = (Get-Date).AddHours(-2) # Provide the time that includes the period for your issue
Invoke-Command -Session $session { Get-AzureStackLog -OutputSharePath "<EXTERNAL SHARE ADDRESS>" -OutputShareCredential $using:shareCred -FilterByRole Storage -FromDate $using:fromDate -ToDate $using:toDate}
if ($session) {
Remove-PSSession -Session $session
}
Voorbeelden
Verzamel alle logboeken voor alle rollen:
Get-AzureStackLog -OutputSharePath "<path>" -OutputShareCredential $cred
Logboeken verzamelen van VirtualMachines- en BareMetal-rollen:
Get-AzureStackLog -OutputSharePath "<path>" -OutputShareCredential $cred -FilterByRole VirtualMachines,BareMetal
Verzamel logboeken van VirtualMachines en BareMetal-rollen, met datumfiltering voor logboekbestanden voor de afgelopen 8 uur:
Get-AzureStackLog -OutputSharePath "<path>" -OutputShareCredential $cred -FilterByRole VirtualMachines,BareMetal -FromDate (Get-Date).AddHours(-8)
Verzamel logboeken van VirtualMachines en BareMetal-rollen, met datumfiltering voor logboekbestanden voor de periode tussen 8 uur en 2 uur geleden:
Get-AzureStackLog -OutputSharePath "<path>" -OutputShareCredential $cred -FilterByRole VirtualMachines,BareMetal -FromDate (Get-Date).AddHours(-8) -ToDate (Get-Date).AddHours(-2)
Verzamel logboeken van tenantimplementaties met zelfbeheerde Kubernetes-clusters (AKS-engine) in Azure Stack. Kubernetes-logboeken moeten worden opgeslagen in een tenantopslagaccount in een formaat waarmee ook het tijdsbereik voor de verzameltijd kan worden toegepast.
Get-AzureStackLog -OutputPath <Path> -InputSasUri "<Blob Service Sas URI>" -FromDate "<Beginning of the time range>" -ToDate "<End of the time range>"
Bijvoorbeeld:
Get-AzureStackLog -OutputPath C:\KubernetesLogs -InputSasUri "https://<storageAccountName>.blob.core.windows.net/<ContainerName><SAS token>" -FromDate (Get-Date).AddHours(-8) -ToDate (Get-Date).AddHours(-2)
Verzamel logboeken voor de waarde toevoegende RP's. De algemene syntaxis is:
Get-AzureStackLog -FilterByResourceProvider <<value-add RP name>>
Logboeken verzamelen voor SQL RP:
Get-AzureStackLog -FilterByResourceProvider SQLAdapter
Logboeken verzamelen voor MySQL RP:
Get-AzureStackLog -FilterByResourceProvider MySQLAdapter
Logboeken verzamelen voor Event Hubs:
Get-AzureStackLog -FilterByResourceProvider eventhub
Logboeken verzamelen voor Azure Stack Edge:
Get-AzureStackLog -FilterByResourceProvide databoxedge
Verzamel logboeken en sla ze op in de opgegeven Azure Storage-blobcontainer. De algemene syntaxis voor deze bewerking is als volgt:
Get-AzureStackLog -OutputSasUri "<Blob service SAS Uri>"
Bijvoorbeeld:
Get-AzureStackLog -OutputSasUri "https://<storageAccountName>.blob.core.windows.net/<ContainerName><SAS token>"
Notitie
Deze procedure is handig voor het uploaden van logboeken. Zelfs als u geen SMB-share hebt die toegankelijk is of internettoegang heeft, kunt u een blob-opslagaccount in uw Azure Stack Hub maken om de logboeken over te dragen en vervolgens uw client gebruiken om deze logboeken op te halen.
Voor het genereren van het SAS-token voor het opslagaccount zijn de volgende machtigingen vereist:
- Toegang tot de Blob Storage-service.
- Toegang tot het type containerresource.
Voer de volgende stappen uit om een SAS-URI-waarde te genereren die moet worden gebruikt voor de parameter
-OutputSasUri
:- Maak een opslagaccount met de stappen in dit artikel.
- Open een exemplaar van Azure Storage Explorer.
- Maak verbinding met het opslagaccount dat u in stap 1 hebt gemaakt.
- Navigeer naar BlobContainers in Storage Services-.
- Selecteer Een nieuwe container maken.
- Klik met de rechtermuisknop op de nieuwe container en klik vervolgens op Shared Access Signature ophalen.
- Selecteer een geldige begintijd en eindtijd, afhankelijk van uw vereisten.
- De vereiste machtigingen zijn: Lezen, Schrijvenen Lijst.
- Selecteer Maak.
- U krijgt een Shared Access Signature. Kopieer het URL-gedeelte en geef het op bij de parameter
-OutputSasUri
.
Overwegingen voor parameters
De parameters OutputSharePath en OutputShareCredential- worden gebruikt voor het opslaan van logboeken op een door de gebruiker opgegeven locatie.
De parameters FromDate en ToDate kunnen worden gebruikt om logboeken voor een bepaalde periode te verzamelen. Als deze parameters niet zijn opgegeven, worden logboeken standaard verzameld voor de afgelopen vier uur.
Gebruik de parameter FilterByNode om logboeken te filteren op computernaam. Bijvoorbeeld:
Get-AzureStackLog -OutputSharePath "<path>" -OutputShareCredential $cred -FilterByNode azs-xrp01
Gebruik de parameter FilterByLogType om logboeken op type te filteren. U kunt ervoor kiezen om te filteren op bestand, share of WindowsEvent. Bijvoorbeeld:
Get-AzureStackLog -OutputSharePath "<path>" -OutputShareCredential $cred -FilterByLogType File
U kunt de parameter TimeOutInMinutes gebruiken om de time-out voor logboekverzameling in te stellen. Deze is standaard ingesteld op 150 (2,5 uur).
Verzameling dumpbestandslogboeken is standaard uitgeschakeld. Als u dit wilt inschakelen, gebruikt u de schakelparameter IncludeDumpFile.
Op dit moment kunt u de parameter FilterByRole gebruiken om logboekverzameling te filteren op de volgende rollen:
ACS
ACSBlob
ACSDownloadService
ACSFabric
ACSFrontEnd
ACSMetrics
ACSMigrationService
ACSMonitoringService
ACSSettingsService
ACSTableMaster
ACSTableServer
ACSWac
ADFS
ApplicationController
ASAppGateway
AzureBridge
AzureMonitor
BareMetal
BRP
CA
CacheService
Berekenen
CPI
CRP
DeploymentMachine
DiskRP
Domein
ECE
EventAdminRP
EventRP
ExternalDNS
FabricRing
FabricRingServices
FirstTierAggregationService
FRP
Toegangspoort
Gezondheidsmonitoring
HintingServiceV2
HRP
IBC
InfraServiceController
KeyVaultAdminResourceProvider
KeyVaultControlPlane
KeyVaultDataPlane
KeyVaultInternalControlPlane
KeyVaultInternalDataPlane
KeyVaultNamingService
MDM
MetricsAdminRP
MetricsRP
MetricsServer
MetricsStoreService
MonAdminRP
MonRP
NC
NonPrivilegedAppGateway
NRP
OboService
OEM
OnboardRP
PXE
QueryServiceCoordinator
QueryServiceWorker
ZaadRing
SeedRingServices
SLB
SQL
SRP
Opslag
Opslagcontroller
URP
SupportBridgeController
SupportRing
SupportRingServices
SupportBridgeRP
UsageBridge
VirtualMachines
WAS
WASPUBLIC
Aanvullende overwegingen voor diagnostische logboeken
Het duurt even voordat de opdracht wordt uitgevoerd, afhankelijk van de rol(len) waarvoor de logboeken worden verzameld. Bijdragende factoren omvatten ook de tijdsduur die is opgegeven voor het verzamelen van logboeken en het aantal knooppunten in de Azure Stack Hub-omgeving.
Wanneer logboekverzameling wordt uitgevoerd, controleert u de nieuwe map die is gemaakt in de OutputSharePath parameter die is opgegeven in de opdracht.
Elke rol heeft de logboeken in afzonderlijke zip-bestanden. Afhankelijk van de grootte van de verzamelde logboeken kan een rol de logboeken splitsen in meerdere zip-bestanden. Als u voor een dergelijke rol alle logboekbestanden in één map wilt laten uitpakken, gebruikt u een hulpprogramma dat bulksgewijs kan worden uitgepakt. Selecteer alle gezipte bestanden voor de rol en selecteer uitpakken hier. Alle logboekbestanden voor die rol worden uitgepakt in één samengevoegde map.
Er wordt ook een bestand met de naam Get-AzureStackLog_Output.log gemaakt in de map die de gezipte logboekbestanden bevat. Dit bestand is een logboek van de uitvoer van de opdracht, die kan worden gebruikt voor het oplossen van problemen tijdens het verzamelen van logboeken. Soms bevat het logboekbestand
PS>TerminatingError
vermeldingen die veilig kunnen worden genegeerd, tenzij verwachte logboekbestanden ontbreken nadat de logboekverzameling is uitgevoerd.Als u een specifieke fout wilt onderzoeken, zijn logboeken mogelijk nodig vanuit meer dan één onderdeel.
- Systeem- en gebeurtenislogboeken voor alle infrastructuur-VM's worden verzameld in de rol VirtualMachines.
- Systeem- en gebeurtenislogboeken voor alle hosts worden verzameld in de rol BareMetal.
- Failovercluster en Hyper-V gebeurtenislogboeken worden verzameld in de rol Storage.
- ACS-logboeken worden verzameld in de rollen Storage en ACS-.
Notitie
Grootte- en leeftijdslimieten worden afgedwongen voor de verzamelde logboeken, omdat het van essentieel belang is om uw opslagruimte efficiënt te benutten en te voorkomen dat u overspoeld wordt met logboeken. Bij het diagnosticeren van een probleem hebt u echter soms logboeken nodig die niet meer bestaan vanwege deze limieten. Daarom wordt het ten zeerste aanbevolen dat u uw logboeken elke 8 tot 12 uur offload naar een externe opslagruimte (een opslagaccount in Azure, een extra on-premises opslagapparaat, enzovoort) en deze gedurende 1 - 3 maanden bewaart, afhankelijk van uw vereisten. Zorg er ook voor dat deze opslaglocatie is versleuteld.
Invoke-AzureStackOnDemandLog
U kunt de cmdlet Invoke-AzureStackOnDemandLog gebruiken om logboeken op aanvraag te genereren voor bepaalde rollen (zie de lijst aan het einde van deze sectie). De logboeken die door deze cmdlet worden gegenereerd, zijn niet standaard aanwezig in de logboekbundel die u ontvangt wanneer u de Get-AzureStackLog cmdlet uitvoert. Het is ook raadzaam deze logboeken alleen te verzamelen wanneer dit wordt aangevraagd door het Microsoft-ondersteuningsteam.
Op dit moment kunt u de parameter -FilterByRole
gebruiken om logboekverzameling te filteren op de volgende rollen:
- OEM
- NC
- SLB
- Toegangspoort
Voorbeeld van het verzamelen van diagnostische logboeken op aanvraag
$ipAddress = "<IP ADDRESS OF THE PEP VM>" # You can also use the machine name instead of IP here.
$password = ConvertTo-SecureString "<CLOUD ADMIN PASSWORD>" -AsPlainText -Force
$cred = New-Object -TypeName System.Management.Automation.PSCredential ("<DOMAIN NAME>\CloudAdmin", $password)
$shareCred = Get-Credential
$session = New-PSSession -ComputerName $ipAddress -ConfigurationName PrivilegedEndpoint -Credential $cred -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)
$fromDate = (Get-Date).AddHours(-8)
$toDate = (Get-Date).AddHours(-2) # Provide the time that includes the period for your issue
Invoke-Command -Session $session {
Invoke-AzureStackOnDemandLog -Generate -FilterByRole "<on-demand role name>" # Provide the supported on-demand role name e.g. OEM, NC, SLB, Gateway
Get-AzureStackLog -OutputSharePath "<external share address>" -OutputShareCredential $using:shareCred -FilterByRole Storage -FromDate $using:fromDate -ToDate $using:toDate
}
if ($session) {
Remove-PSSession -Session $session
}
Hoe diagnostische logboekverzameling met behulp van het PEP werkt
Diagnostische hulpprogramma's van Azure Stack Hub helpen logboekverzameling eenvoudig en efficiënt te maken. In het volgende diagram ziet u hoe de diagnostische hulpprogramma's werken:
Trace-verzamelaar
Trace Collector is standaard ingeschakeld en wordt continu op de achtergrond uitgevoerd om alle ETW-logboeken (Event Tracing for Windows) van Azure Stack Hub-onderdeelservices te verzamelen. ETW-logboeken worden opgeslagen in een gemeenschappelijke lokale gedeelde map met een maximale leeftijdslimiet van vijf dagen. Zodra deze limiet is bereikt, worden de oudste bestanden verwijderd wanneer nieuwe bestanden worden gemaakt. De standaard maximale grootte die is toegestaan voor elk bestand is 200 MB. Er wordt elke 2 minuten een groottecontrole uitgevoerd en als het huidige bestand >= 200 MB is, wordt het opgeslagen en wordt er een nieuw bestand gegenereerd. Er is ook een limiet van 8 GB voor de totale bestandsgrootte die per gebeurtenissessie is gegenereerd.
Get-AzureStackLog
De PowerShell-cmdlet Get-AzureStackLog kan worden gebruikt om logboeken van alle onderdelen in een Azure Stack Hub-omgeving te verzamelen. Ze worden opgeslagen in zip-bestanden op een door de gebruiker gedefinieerde locatie. Als het technische ondersteuningsteam van Azure Stack Hub uw logboeken nodig heeft om een probleem op te lossen, wordt u mogelijk gevraagd Get-AzureStackLog uit te voeren.
Voorzichtigheid
Deze logboekbestanden kunnen persoonsgegevens bevatten. Neem hier rekening mee voordat u alle logboekbestanden openbaar plaatst.
Hier volgen enkele voorbeelden van logboektypen die worden verzameld:
- azure Stack Hub-implementatielogboeken
- Windows-gebeurtenislogboeken
- Panther-logboeken
- clusterlogboeken
- diagnostische logboeken van Storage
- ETW-logboeken
Deze bestanden worden verzameld en opgeslagen in een share door Trace Collector. Get-AzureStackLog kan vervolgens worden gebruikt om ze indien nodig te verzamelen.