Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Pour exécuter Get-AzureStackLog sur un système intégré, vous devez avoir accès au point de terminaison privilégié (PEP). Voici un exemple de script que vous pouvez exécuter en utilisant le point de terminaison privilégié pour collecter des journaux. Si vous annulez une collecte de journaux en cours d’exécution pour en démarrer une nouvelle, attendez 5 minutes avant de démarrer la nouvelle collecte de journaux et entrez Remove-PSSession -Session $session.
$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
}
Exemples
Collectez tous les journaux d’activité pour tous les rôles :
Get-AzureStackLog -OutputSharePath "<path>" -OutputShareCredential $credCollecter les journaux d’activité à partir des rôles VirtualMachines et BareMetal :
Get-AzureStackLog -OutputSharePath "<path>" -OutputShareCredential $cred -FilterByRole VirtualMachines,BareMetalCollecter les journaux d’activité à partir des rôles VirtualMachines et BareMetal, avec un filtrage de date pour les fichiers journaux pour les huit dernières heures :
Get-AzureStackLog -OutputSharePath "<path>" -OutputShareCredential $cred -FilterByRole VirtualMachines,BareMetal -FromDate (Get-Date).AddHours(-8)Collecter les journaux d’activité à partir des rôles VirtualMachines et BareMetal, avec un filtrage de date pour les fichiers journaux des 2 à 8 dernières heures :
Get-AzureStackLog -OutputSharePath "<path>" -OutputShareCredential $cred -FilterByRole VirtualMachines,BareMetal -FromDate (Get-Date).AddHours(-8) -ToDate (Get-Date).AddHours(-2)Collectez les journaux des déploiements de locataires qui exécutent les clusters Kubernetes auto-managés (moteur AKS) sur Azure Stack. Les journaux Kubernetes doivent être stockés dans un compte de stockage de locataire dans un format qui permettra de leur appliquer l’intervalle de temps de la collection.
Get-AzureStackLog -OutputPath <Path> -InputSasUri "<Blob Service Sas URI>" -FromDate "<Beginning of the time range>" -ToDate "<End of the time range>"Par exemple:
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)Collecter les journaux pour les fournisseurs de ressources à valeur ajoutée. La syntaxe générale est la suivante :
Get-AzureStackLog -FilterByResourceProvider <<value-add RP name>>Pour collecter les journaux pour SQL RP :
Get-AzureStackLog -FilterByResourceProvider SQLAdapterPour collecter les journaux pour MySQL RP :
Get-AzureStackLog -FilterByResourceProvider MySQLAdapterPour collecter les journaux pour Event Hubs :
Get-AzureStackLog -FilterByResourceProvider eventhubPour collecter les journaux d’activité pour Azure Stack Edge :
Get-AzureStackLog -FilterByResourceProvide databoxedgeCollectez les journaux et stockez-les dans le conteneur d’objets blob Stockage Azure spécifié. La syntaxe générale de cette opération est la suivante :
Get-AzureStackLog -OutputSasUri "<Blob service SAS Uri>"Par exemple:
Get-AzureStackLog -OutputSasUri "https://<storageAccountName>.blob.core.windows.net/<ContainerName><SAS token>"Remarque
Cette procédure est utile pour le chargement des journaux. Même si vous ne disposez pas d’un partage SMB accessible ou d’un accès Internet, vous pouvez créer un compte de stockage Blob sur votre Azure Stack Hub pour transférer les journaux, puis utiliser votre client pour récupérer ces journaux.
Pour générer le jeton SAP pour le compte de stockage, les autorisations suivantes sont requises :
- Accès au service de stockage Blob.
- Accès au type de ressource de conteneur.
Pour générer une valeur d’URI SAP à utiliser pour le
-OutputSasUriparamètre, procédez comme suit :- Créez un compte de stockage en suivant les étapes décrites dans cet article.
- Ouvrez une instance de l’Explorateur Stockage Azure.
- Connectez-vous au compte de stockage créé à l’étape 1.
- Accédez à Conteneurs d’objets Blob dans Services de stockage.
- Sélectionnez Créer un conteneur.
- Cliquez avec le bouton droit sur le nouveau conteneur, puis cliquez sur Obtenir la signature d’accès partagé.
- Sélectionnez une heure de début et une heure de fin valides, en fonction de vos besoins.
- Pour les autorisations requises, sélectionnez Lecture, Écriture et Liste.
- Cliquez sur Créer.
- Vous obtiendrez une signature d’accès partagé. Copiez la partie URL et fournissez-la au paramètre
-OutputSasUri.
Considérations relatives aux paramètres
Les paramètres OutputSharePath et OutputShareCredential sont utilisés pour stocker les journaux dans un emplacement spécifié par l’utilisateur.
Vous pouvez utiliser les paramètres FromDate et ToDate pour collecter des journaux d’activité pour une période donnée. Si vous ne spécifiez pas ces paramètres, les journaux sont collectés par défaut pour les quatre dernières heures.
Utilisez le paramètre FilterByNode pour filtrer les journaux d’activité par nom d’ordinateur. Par exemple:
Get-AzureStackLog -OutputSharePath "<path>" -OutputShareCredential $cred -FilterByNode azs-xrp01Utilisez le paramètre FilterByLogType pour filtrer les logs par type. Vous pouvez choisir de filtrer par fichier, par partage ou par événement Windows. Par exemple:
Get-AzureStackLog -OutputSharePath "<path>" -OutputShareCredential $cred -FilterByLogType FileVous pouvez utiliser le paramètre TimeOutInMinutes pour définir le délai d’expiration pour la collecte des journaux. Elle est définie sur 150 (2,5 heures) par défaut.
La collecte de journaux de fichiers de vidage est désactivée par défaut. Pour l’activer, utilisez le paramètre de commutateur IncludeDumpFile .
Actuellement, vous pouvez utiliser le paramètre FilterByRole pour filtrer la collecte de journaux en fonction des rôles suivants :
ACS
ACSBlob
ACSDownloadService
ACSFabric
ACSFrontEnd
ACSMetrics
ACSMigrationService
Service de Surveillance ACS
ACSSettingsService
ACSTableMaster
ACSTableServer
ACSWac
ADFS
ApplicationController
ASAppGateway
AzureBridge
AzureMonitor
BareMetal
BRP
CA
CacheService
Calcul
IPC
protéine C-réactive (CRP)
DeploymentMachine
DiskRP
Domain
ECE
EventAdminRP
EventRP
ExternalDNS
FabricRing
FabricRingServices
ServiceD'agrégationDePremierNiveau
FRP
Passerelle
Suivi de la santé
HintingServiceV2
HRP
IBC
InfraServiceController
KeyVaultAdminResourceProvider
KeyVaultControlPlane
KeyVaultDataPlane
KeyVaultInternalControlPlane
KeyVaultInternalDataPlane
KeyVaultNamingService
GESTION DES APPAREILS MOBILES
MetricsAdminRP
MetricsRP
MetricsServer
MetricsStoreService
MonAdminRP
MonRP
NC
NonPrivilegedAppGateway
NRP
OboService
OEM
OnboardRP
PXE
Coordonnateur de Service de Requête
QueryServiceWorker
SeedRing
SeedRingServices
SLB
SQL
Stratégies de restriction logicielle
Stockage
Contrôleur de stockage
URP
SupportBridgeController
SupportRing
SupportRingServices
SupportBridgeRP
UsageBridge
VirtualMachines
WAS
WASPUBLIC
Considérations supplémentaires sur les journaux de diagnostic
L’exécution de cette commande peut prendre un certain temps, en fonction des données du ou des rôles collectées par les journaux d’activité. Des facteurs déterminants sont aussi la durée spécifiée pour la collecte de journaux et le nombre de nœuds de l’environnement Azure Stack Hub.
Une fois la collecte de journaux en cours, vérifiez le dossier créé dans le paramètre OutputSharePath spécifié dans la commande.
Chaque rôle a ses journaux d’activité dans des fichiers zip individuels. Selon la taille des journaux collectés, un rôle peut avoir ses journaux divisés en plusieurs fichiers zip. Pour ce type de rôle, si vous souhaitez que tous les fichiers journaux soient décompressés dans un dossier unique, utilisez un outil qui peut décompresser en bloc. Sélectionnez tous les fichiers compressés pour le rôle, puis sélectionnez extraire ici. Tous les fichiers journaux de ce rôle seront décompressés et réunis dans un seul dossier.
Un fichier appelé Get-AzureStackLog_Output.log est également créé dans le dossier qui contient les fichiers journaux compressés. Ce fichier est un journal de la sortie de la commande, qui peut être utilisé pour résoudre des problèmes lors de la collection de journaux. Parfois, le fichier journal inclut des entrées
PS>TerminatingErrorqui peuvent être ignorées en toute sécurité, sauf si les fichiers journal attendus sont manquants après les opérations de collecte de journaux.Pour examiner un échec spécifique, les journaux de bord peuvent être nécessaires pour plusieurs composants.
- Les journaux des événements et du système pour toutes les machines virtuelles d’infrastructure sont collectés dans le rôle VirtualMachines .
- Les journaux système et des événements pour tous les hôtes sont collectés dans le rôle BareMetal.
- Les journaux des événements Hyper-V et de cluster de basculement sont collectés dans le rôle Storage.
- Les journaux d’activité ACS sont collectés dans les rôles Storage et ACS.
Remarque
Des limites de taille et d’âge sont appliquées aux journaux collectés, car il est essentiel de garantir une utilisation efficace de votre espace de stockage et d’éviter d’être submergé par les journaux. Cependant, quand vous diagnostiquez un problème, vous avez parfois besoin de journaux qui n’existent plus en raison de ces limites. Par conséquent, il est vivement recommandé de décharger vos journaux dans un espace de stockage externe (un compte de stockage dans Azure, un appareil de stockage local supplémentaire, etc.) toutes les 8 à 12 heures et de les conserver pendant 1 à 3 mois, en fonction de vos besoins. Vous devez également vous assurer que cet emplacement de stockage est chiffré.
Invoke-AzureStackOnDemandLog
Vous pouvez utiliser l’applet de commande Invoke-AzureStackOnDemandLog pour générer des journaux à la demande pour certains rôles (consultez la liste à la fin de cette section). Les journaux générés par cette applet de commande ne sont pas présents par défaut dans le bundle de journaux que vous recevez lorsque vous exécutez l’applet de commande Get-AzureStackLog . Par ailleurs, il est recommandé de collecter ces journaux seulement quand l’équipe du support Microsoft en fait la demande.
Actuellement, vous pouvez utiliser le paramètre -FilterByRole pour filtrer la collecte de journaux en fonction des rôles suivants :
- OEM
- NC
- SLB
- Passerelle
Exemple de collecte des journaux de diagnostic à la demande
$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
}
Fonctionnement de la collecte des journaux de diagnostic à l’aide du point de terminaison privilégié
Les outils de diagnostic Azure Stack Hub aident à garantir la simplicité et l’efficacité de la collecte des journaux. Le diagramme suivant montre comment fonctionnent les outils de diagnostic :

Collecteur de traces
Le collecteur de traces est activé par défaut et s’exécute en continu en arrière-plan pour collecter tous les journaux de suivi d’événements pour Windows (ETW) à partir des services de composants Azure Stack Hub. Les journaux de suivi d’événements Windows sont stockés dans un partage local commun, avec une limite de conservation de cinq jours. Une fois cette limite atteinte, les fichiers les plus anciens sont supprimés à mesure que de nouveaux fichiers sont créés. La taille maximale par défaut autorisée pour chaque fichier est de 200 Mo. Une vérification de taille se produit toutes les 2 minutes, et si le fichier actuel est >= 200 Mo, il est enregistré et un nouveau fichier génère. Il existe également une limite de 8 Go sur la taille totale de fichier générée par session d’événements.
Get-AzureStackLog
Vous pouvez utiliser la cmdlet PowerShell Get-AzureStackLog pour collecter des journaux d’activité à partir de tous les composants dans un environnement Azure Stack Hub. Il les enregistre dans des fichiers zip dans un emplacement défini par l’utilisateur. Si l'équipe de support technique d'Azure Stack Hub a besoin de vos journaux de bord pour résoudre un problème, elle peut vous demander d'exécuter Get-AzureStackLog.
Avertissement
Ces fichiers journaux peuvent contenir des informations d’identification personnelle (PII). Pensez-y avant de publier des fichiers journaux publiquement.
Voici quelques exemples de types de logs collectés :
- Journaux de déploiement Azure Stack Hub
- Journaux d’événements Windows
- Journaux De Panthère
- Journaux de cluster
- Journaux de diagnostic de stockage
- Journaux ETW
Ces fichiers sont collectés et enregistrés dans un partage par Trace Collector. Get-AzureStackLog peut ensuite être utilisé pour les collecter si nécessaire.