Ayrıcalıklı uç noktayı (PEP) kullanarak Azure Stack Hub tanılama günlüklerini gönderme
tümleşik bir sistemde Get-AzureStackLog çalıştırmak için ayrıcalıklı uç noktaya (PEP) erişiminiz olmalıdır. Aşağıda, günlükleri toplamak için PEP kullanarak çalıştırabileceğiniz örnek bir betik verilmiş. Yeni bir günlük koleksiyonu başlatmak için çalışan bir günlük koleksiyonunu iptal ediyorsanız, yeni günlük toplamaya başlamadan önce lütfen 5 dakika bekleyin ve girin 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
}
Örnekler
Tüm roller için tüm günlükleri toplayın:
Get-AzureStackLog -OutputSharePath "<path>" -OutputShareCredential $cred
VirtualMachines ve BareMetal rollerinden günlükleri toplayın:
Get-AzureStackLog -OutputSharePath "<path>" -OutputShareCredential $cred -FilterByRole VirtualMachines,BareMetal
VirtualMachines ve BareMetal rollerinden günlükleri toplayın ve son 8 saat için günlük dosyaları için tarih filtrelemesi yapın:
Get-AzureStackLog -OutputSharePath "<path>" -OutputShareCredential $cred -FilterByRole VirtualMachines,BareMetal -FromDate (Get-Date).AddHours(-8)
VirtualMachines ve BareMetal rollerinden günlükleri toplayın ve 8 saat önce ile 2 saat önce arasındaki süre boyunca günlük dosyaları için tarih filtrelemesi yapın:
Get-AzureStackLog -OutputSharePath "<path>" -OutputShareCredential $cred -FilterByRole VirtualMachines,BareMetal -FromDate (Get-Date).AddHours(-8) -ToDate (Get-Date).AddHours(-2)
Azure Stack'te kendi kendine yönetilen Kubernetes kümeleri (AKS altyapısı) çalıştıran kiracı dağıtımlarından günlükleri toplayın. Kubernetes günlükleri, bir kiracı depolama hesabında koleksiyon zaman aralığının da bunlara uygulanmasını sağlayacak biçimde depolanmalıdır.
Get-AzureStackLog -OutputPath <Path> -InputSasUri "<Blob Service Sas URI>" -FromDate "<Beginning of the time range>" -ToDate "<End of the time range>"
Örnek:
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)
Değer ekleme RP'leri için günlükleri toplayın. Genel söz dizimi:
Get-AzureStackLog -FilterByResourceProvider <<value-add RP name>>
SQL RP günlüklerini toplamak için:
Get-AzureStackLog -FilterByResourceProvider SQLAdapter
MySQL RP günlüklerini toplamak için:
Get-AzureStackLog -FilterByResourceProvider MySQLAdapter
Event Hubs günlüklerini toplamak için:
Get-AzureStackLog -FilterByResourceProvider eventhub
Azure Stack Edge günlüklerini toplamak için:
Get-AzureStackLog -FilterByResourceProvide databoxedge
Günlükleri toplayın ve belirtilen Azure Depolama blob kapsayıcısında depolayın. Bu işlemin genel söz dizimi aşağıdaki gibidir:
Get-AzureStackLog -OutputSasUri "<Blob service SAS Uri>"
Örnek:
Get-AzureStackLog -OutputSasUri "https://<storageAccountName>.blob.core.windows.net/<ContainerName><SAS token>"
Not
Bu yordam günlükleri karşıya yüklemek için kullanışlıdır. Erişilebilir veya İnternet erişimi olan bir SMB paylaşımınız olmasa bile, günlükleri aktarmak için Azure Stack Hub'ınızda bir blob depolama hesabı oluşturabilir ve ardından istemcinizi kullanarak bu günlükleri alabilirsiniz.
Depolama hesabı için SAS belirtecini oluşturmak için aşağıdaki izinler gereklidir:
- Blob Depolama hizmetine erişim.
- Kapsayıcı kaynak türüne erişim.
parametresi için kullanılacak bir SAS Uri değeri oluşturmak için
-OutputSasUri
şu adımları izleyin:- Bu makaledeki adımları izleyerek bir depolama hesabı oluşturun.
- Azure Depolama Gezgini örneğini açın.
- 1. adımda oluşturulan depolama hesabına bağlanın.
- Depolama Hizmetleri'ndeBlob Kapsayıcıları'na gidin.
- Yeni kapsayıcı oluştur'u seçin.
- Yeni kapsayıcıya sağ tıklayın ve ardından Paylaşılan Erişim İmzası Al'a tıklayın.
- Gereksinimlerinize bağlı olarak geçerli bir Başlangıç Saati ve Bitiş Saati seçin.
- Gerekli izinler için Okuma, Yazma ve Liste'yi seçin.
- Oluştur’u seçin.
- Paylaşılan Erişim İmzası alırsınız. URL bölümünü kopyalayın ve parametresine
-OutputSasUri
sağlayın.
Parametreyle ilgili dikkat edilmesi gerekenler
OutputSharePath ve OutputShareCredential parametreleri, günlükleri kullanıcı tarafından belirtilen bir konumda depolamak için kullanılır.
FromDate ve ToDate parametreleri belirli bir zaman aralığı için günlükleri toplamak için kullanılabilir. Bu parametreler belirtilmezse, günlükler varsayılan olarak son dört saat için toplanır.
Günlükleri bilgisayar adına göre filtrelemek için FilterByNode parametresini kullanın. Örnek:
Get-AzureStackLog -OutputSharePath "<path>" -OutputShareCredential $cred -FilterByNode azs-xrp01
Günlükleri türe göre filtrelemek için FilterByLogType parametresini kullanın. Dosya, Paylaş veya WindowsEvent'e göre filtrelemeyi seçebilirsiniz. Örnek:
Get-AzureStackLog -OutputSharePath "<path>" -OutputShareCredential $cred -FilterByLogType File
Günlük toplama zaman aşımını ayarlamak için TimeOutInMinutes parametresini kullanabilirsiniz. Varsayılan olarak 150 (2,5 saat) olarak ayarlanır.
Döküm dosyası günlüğü koleksiyonu varsayılan olarak devre dışıdır. Etkinleştirmek için IncludeDumpFile anahtar parametresini kullanın.
Şu anda, günlük koleksiyonunu aşağıdaki rollere göre filtrelemek için FilterByRole parametresini kullanabilirsiniz:
ACS
ACSBlob
ACSDownloadService
ACSFabric
ACSFrontEnd
ACSMetrics
ACSMigrationService
ACSMonitoringService
ACSSettingsService
ACSTableMaster
ACSTableServer
ACSWac
ADFS
ApplicationController
ASAppGateway
AzureBridge
AzureMonitor
BareMetal
BRP
CA
CacheService
İşlem
TÜFE
CRP
DeploymentMachine
DiskRP
Etki alanı
ECE
EventAdminRP
EventRP
DışDN'ler
Doku Alma
FabricRingServices
FirstTierAggregationService
FRP
Ağ geçidi
Healthmonitoring
HintingServiceV2
HRP
IBC
InfraServiceController
KeyVaultAdminResourceProvider
KeyVaultControlPlane
KeyVaultDataPlane
KeyVaultInternalControlPlane
KeyVaultInternalDataPlane
KeyVaultNamingService
MDM
MetricsAdminRP
ÖlçümLERRP
MetricsServer
MetricsStoreService
MonAdminRP
MonRP
NC
NonPrivilegedAppGateway
NRP
OboService
OEM
OnboardRP
PXE
QueryServiceCoordinator
QueryServiceWorker
SeedRing
SeedRingServices
SLB
SQL
SRP
Depolama
StorageController
URP
SupportBridgeController
Destek
SupportRingServices
SupportBridgeRP
UsageBridge
VirtualMachines
WAS
WASPUBLIC
Tanılama günlüklerinde dikkat edilmesi gereken ek noktalar
Komutun çalıştırılması, günlüklerin hangi rolleri topladığına bağlı olarak biraz zaman alır. Katkıda bulunan faktörler günlük toplama için belirtilen süreyi ve Azure Stack Hub ortamındaki düğüm sayısını da içerir.
Günlük toplama çalışırken, komutunda belirtilen OutputSharePath parametresinde oluşturulan yeni klasörü denetleyin.
Her rolün tek tek zip dosyaları içinde günlükleri vardır. Toplanan günlüklerin boyutuna bağlı olarak, bir rolün günlükleri birden çok zip dosyası olarak bölünmüş olabilir. Böyle bir rol için, tüm günlük dosyalarının tek bir klasöre sıkıştırmasını açmak istiyorsanız, sıkıştırmasını toplu olarak açabilen bir araç kullanın. Rol için tüm sıkıştırılmış dosyaları seçin ve buradan ayıkla'yı seçin. Bu rolün tüm günlük dosyalarının sıkıştırması tek bir birleştirilmiş klasöre açılır.
Sıkıştırılmış günlük dosyalarını içeren klasörde Get-AzureStackLog_Output.log adlı bir dosya da oluşturulur. Bu dosya, günlük toplama sırasındaki sorunları gidermek için kullanılabilen komut çıkışının günlüğüdür. Bazen günlük dosyası, günlük toplama çalıştırıldıktan sonra beklenen günlük dosyaları eksik olmadığı sürece güvenle yoksayılabilir girdiler içerir
PS>TerminatingError
.Belirli bir hatayı araştırmak için birden fazla bileşenden günlüklere ihtiyaç duyulabilir.
- Tüm altyapı VM'leri için sistem ve olay günlükleri VirtualMachines rolünde toplanır.
- Tüm konaklar için sistem ve olay günlükleri BareMetal rolünde toplanır.
- Yük devretme kümesi ve Hyper-V olay günlükleri Depolama rolünde toplanır.
- ACS günlükleri Depolama ve ACS rollerinde toplanır.
Not
Depolama alanınızın verimli bir şekilde kullanıldığından emin olmak ve günlüklerin taşmasını önlemek için gerekli olduğundan toplanan günlüklerde boyut ve yaş sınırları uygulanır. Ancak, bir sorunu tanılarken, bazen bu sınırlar nedeniyle artık mevcut olmayan günlüklere ihtiyacınız vardır. Bu nedenle günlüklerinizi her 8-12 saatte bir harici depolama alanına (Azure'da bir depolama hesabı, ek bir şirket içi depolama cihazı vb.) boşaltmanız ve gereksinimlerinize bağlı olarak 1 - 3 ay boyunca orada tutmanız kesinlikle önerilir . Bu depolama konumunun şifrelendiğinden de emin olmanız gerekir.
Invoke-AzureStackOnDemandLog
Invoke-AzureStackOnDemandLog cmdlet'ini kullanarak belirli roller için isteğe bağlı günlükler oluşturabilirsiniz (bu bölümün sonundaki listeye bakın). Bu cmdlet tarafından oluşturulan günlükler , Get-AzureStackLog cmdlet'ini yürütürken aldığınız günlük paketinde varsayılan olarak mevcut değildir. Ayrıca, bu günlükleri yalnızca Microsoft destek ekibi tarafından istendiğinde toplamanız önerilir.
Şu anda, günlük toplamayı -FilterByRole
aşağıdaki rollere göre filtrelemek için parametresini kullanabilirsiniz:
- OEM
- NC
- SLB
- Ağ geçidi
İsteğe bağlı tanılama günlüklerini toplama örneği
$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
}
PEP kullanarak tanılama günlüğü toplama nasıl çalışır?
Azure Stack Hub tanılama araçları günlük toplamayı kolay ve verimli hale getirmenizi sağlar. Aşağıdaki diyagramda tanılama araçlarının nasıl çalıştığı gösterilmektedir:
İzleme Toplayıcısı
İzleme Toplayıcısı varsayılan olarak etkindir ve Azure Stack Hub bileşen hizmetlerinden tüm Windows için Olay İzleme (ETW) günlüklerini toplamak için arka planda sürekli olarak çalışır. ETW günlükleri, beş günlük yaş sınırı olan ortak bir yerel paylaşımda depolanır. Bu sınıra ulaşıldığında, yeni dosyalar oluşturulduktan sonra en eski dosyalar silinir. Her dosya için izin verilen varsayılan boyut üst sınırı 200 MB'tır. Boyut denetimi 2 dakikada bir gerçekleşir ve geçerli dosya >= 200 MB ise kaydedilir ve yeni bir dosya oluşturulur. Olay oturumu başına oluşturulan toplam dosya boyutu üzerinde de 8 GB sınırı vardır.
Get-AzureStackLog
PowerShell cmdlet'i Get-AzureStackLog, Azure Stack Hub ortamındaki tüm bileşenlerden günlükleri toplamak için kullanılabilir. Bunları kullanıcı tanımlı bir konumdaki zip dosyalarına kaydeder. Azure Stack Hub teknik destek ekibinin bir sorunu gidermenize yardımcı olması için günlüklerinize ihtiyacı varsa Get-AzureStackLog komutunu çalıştırmanızı isteyebilirler.
Dikkat
Bu günlük dosyaları kişisel bilgileri (PII) içerebilir. Günlük dosyalarını herkese açık olarak göndermeden önce bunu dikkate alın.
Aşağıda toplanan bazı örnek günlük türleri verilmiştir:
- Azure Stack Hub dağıtım günlükleri
- Windows olay günlükleri
- Panter günlükleri
- Küme günlükleri
- Depolama tanılama günlükleri
- ETW günlükleri
Bu dosyalar İzleme Toplayıcısı tarafından toplanır ve bir paylaşıma kaydedilir. Get-AzureStackLog gerektiğinde bunları toplamak için kullanılabilir.