PowerShell kullanarak Azure Cloud Services(klasik) tanılamayı etkinleştirme
Önemli
Cloud Services (klasik) artık yeni müşteriler için kullanımdan kaldırılmıştır ve tüm müşteriler için 31 Ağustos 2024'te kullanımdan kaldırılacaktır. Yeni dağıtımlarda yeni Azure Resource Manager tabanlı dağıtım modeli Azure Cloud Services (genişletilmiş destek) kullanılmalıdır.
Uygulama günlükleri, performans sayaçları vb. gibi tanılama verilerini toplayabilirsiniz. Azure Tanılama uzantısını kullanarak bir Bulut Hizmetinden. Bu makalede, PowerShell kullanarak bir Bulut Hizmeti için Azure Tanılama uzantısının nasıl etkinleştirileceği açıklanır. Bu makale için gereken önkoşullar için bkz. Azure PowerShell yükleme ve yapılandırma.
Bulut Hizmeti dağıtımının bir parçası olarak tanılama uzantısını etkinleştirme
Bu yaklaşım, tanılama uzantısının bulut hizmetini dağıtmanın bir parçası olarak etkinleştirilebildiği senaryoların sürekli tümleştirme türü için geçerlidir. Yeni bir Bulut Hizmeti dağıtımı oluştururken ExtensionConfiguration parametresini New-AzureDeployment cmdlet'ine geçirerek tanılama uzantısını etkinleştirebilirsiniz. ExtensionConfiguration parametresi, New-AzureServiceDiagnosticsExtensionConfig cmdlet'i kullanılarak oluşturulabilecek bir dizi tanılama yapılandırması alır.
Aşağıdaki örnekte, her biri farklı bir tanılama yapılandırmasına sahip webrole ve WorkerRole ile bir bulut hizmeti için tanılamayı nasıl etkinleştirebileceğiniz gösterilmektedir.
$service_name = "MyService"
$service_package = "CloudService.cspkg"
$service_config = "ServiceConfiguration.Cloud.cscfg"
$webrole_diagconfigpath = "MyService.WebRole.PubConfig.xml"
$workerrole_diagconfigpath = "MyService.WorkerRole.PubConfig.xml"
$webrole_diagconfig = New-AzureServiceDiagnosticsExtensionConfig -Role "WebRole" -DiagnosticsConfigurationPath $webrole_diagconfigpath
$workerrole_diagconfig = New-AzureServiceDiagnosticsExtensionConfig -Role "WorkerRole" -DiagnosticsConfigurationPath $workerrole_diagconfigpath
New-AzureDeployment -ServiceName $service_name -Slot Production -Package $service_package -Configuration $service_config -ExtensionConfiguration @($webrole_diagconfig,$workerrole_diagconfig)
Tanılama yapılandırma dosyası depolama hesabı adına sahip bir StorageAccount
öğe belirtirse, New-AzureServiceDiagnosticsExtensionConfig
cmdlet otomatik olarak bu depolama hesabını kullanır. Bunun işe yaraması için depolama hesabının dağıtılan Bulut Hizmeti ile aynı abonelikte olması gerekir.
Azure SDK 2.6'dan başlayarak MSBuild yayımlama hedef çıkışı tarafından oluşturulan uzantı yapılandırma dosyaları, hizmet yapılandırma dosyasında (.cscfg) belirtilen tanılama yapılandırma dizesine göre depolama hesabı adını içerir. Aşağıdaki betikte, yayımlama hedefi çıkışından Uzantı yapılandırma dosyalarını ayrıştırma ve bulut hizmetini dağıtırken her rol için tanılama uzantısını yapılandırma işlemleri gösterilmektedir.
$service_name = "MyService"
$service_package = "C:\build\output\CloudService.cspkg"
$service_config = "C:\build\output\ServiceConfiguration.Cloud.cscfg"
#Find the Extensions path based on service configuration file
$extensionsSearchPath = Join-Path -Path (Split-Path -Parent $service_config) -ChildPath "Extensions"
$diagnosticsExtensions = Get-ChildItem -Path $extensionsSearchPath -Filter "PaaSDiagnostics.*.PubConfig.xml"
$diagnosticsConfigurations = @()
foreach ($extPath in $diagnosticsExtensions)
{
#Find the RoleName based on file naming convention PaaSDiagnostics.<RoleName>.PubConfig.xml
$roleName = ""
$roles = $extPath -split ".",0,"simplematch"
if ($roles -is [system.array] -and $roles.Length -gt 1)
{
$roleName = $roles[1]
$x = 2
while ($x -le $roles.Length)
{
if ($roles[$x] -ne "PubConfig")
{
$roleName = $roleName + "." + $roles[$x]
}
else
{
break
}
$x++
}
$fullExtPath = Join-Path -path $extensionsSearchPath -ChildPath $extPath
$diagnosticsconfig = New-AzureServiceDiagnosticsExtensionConfig -Role $roleName -DiagnosticsConfigurationPath $fullExtPath
$diagnosticsConfigurations += $diagnosticsconfig
}
}
New-AzureDeployment -ServiceName $service_name -Slot Production -Package $service_package -Configuration $service_config -ExtensionConfiguration $diagnosticsConfigurations
Visual Studio Online, tanılama uzantısıyla Cloud Services otomatik dağıtımları için benzer bir yaklaşım kullanır. Tam bir örnek için bkz. Publish-AzureCloudDeployment.ps1 .
Tanılama yapılandırmasında belirtilmemişse StorageAccount
, StorageAccountName parametresini cmdlet'ine geçirmeniz gerekir. StorageAccountName parametresi belirtilirse, cmdlet her zaman tanılama yapılandırma dosyasında belirtilen depolama hesabını değil parametresinde belirtilen depolama hesabını kullanır.
Tanılama depolama hesabı Bulut Hizmeti'nden farklı bir abonelikteyse, StorageAccountName ve StorageAccountKey parametrelerini cmdlet'ine açıkça geçirmeniz gerekir. Tanılama depolama hesabı aynı abonelikte olduğunda StorageAccountKey parametresi gerekli değildir, cmdlet tanılama uzantısını etkinleştirirken anahtar değerini otomatik olarak sorgulayabilir ve ayarlayabilir. Ancak, tanılama depolama hesabı farklı bir abonelikteyse, cmdlet anahtarı otomatik olarak alamayabilir ve anahtarı StorageAccountKey parametresi aracılığıyla açıkça belirtmeniz gerekir.
$webrole_diagconfig = New-AzureServiceDiagnosticsExtensionConfig -Role "WebRole" -DiagnosticsConfigurationPath $webrole_diagconfigpath -StorageAccountName $diagnosticsstorage_name -StorageAccountKey $diagnosticsstorage_key
$workerrole_diagconfig = New-AzureServiceDiagnosticsExtensionConfig -Role "WorkerRole" -DiagnosticsConfigurationPath $workerrole_diagconfigpath -StorageAccountName $diagnosticsstorage_name -StorageAccountKey $diagnosticsstorage_key
Mevcut bir Bulut Hizmetinde tanılama uzantısını etkinleştirme
Zaten çalışmakta olan bir Bulut Hizmetinde tanılama yapılandırmasını etkinleştirmek veya güncelleştirmek için Set-AzureServiceDiagnosticsExtension cmdlet'ini kullanabilirsiniz.
Uyarı
Mevcut bir rol için tanılamayı etkinleştirdiğinizde, paket dağıtıldığında önceden ayarlamış olduğunuz tüm uzantılar devre dışı bırakılır. Bu modüller şunlardır:
- Microsoft Monitoring Agent Tanılama
- Microsoft Azure Güvenlik İzleme
- Microsoft Kötü Amaçlı Yazılımdan Korunma
- Microsoft Monitoring Agent
- Microsoft Hizmet Profili Oluşturucu Aracısı
- Windows Azure Etki Alanı Uzantısı
- Windows Azure Tanılama Uzantısı
- Windows Azure Uzak Masaüstü Uzantısı
- Windows Azure Günlük Toplayıcı
Güncelleştirilmiş rolü dağıttığınızda uzantılarınızı Azure portal veya PowerShell aracılığıyla sıfırlayabilirsiniz.
$service_name = "MyService"
$webrole_diagconfigpath = "MyService.WebRole.PubConfig.xml"
$workerrole_diagconfigpath = "MyService.WorkerRole.PubConfig.xml"
$webrole_diagconfig = New-AzureServiceDiagnosticsExtensionConfig -Role "WebRole" -DiagnosticsConfigurationPath $webrole_diagconfigpath
$workerrole_diagconfig = New-AzureServiceDiagnosticsExtensionConfig -Role "WorkerRole" -DiagnosticsConfigurationPath $workerrole_diagconfigpath
Set-AzureServiceDiagnosticsExtension -DiagnosticsConfiguration @($webrole_diagconfig,$workerrole_diagconfig) -ServiceName $service_name
Güncel tanılama uzantı yapılandırmasını alma
Bir bulut hizmeti için geçerli tanılama yapılandırmasını almak için Get-AzureServiceDiagnosticsExtension cmdlet'ini kullanın.
Get-AzureServiceDiagnosticsExtension -ServiceName "MyService"
Tanılama uzantısını kaldırma
Bir bulut hizmetinde tanılamayı kapatmak için Remove-AzureServiceDiagnosticsExtension cmdlet'ini kullanabilirsiniz.
Remove-AzureServiceDiagnosticsExtension -ServiceName "MyService"
Tanılama uzantısını Set-AzureServiceDiagnosticsExtension veya Role parametresi olmadan New-AzureServiceDiagnosticsExtensionConfig kullanarak etkinleştirdiyseniz, Role parametresi olmadan Remove-AzureServiceDiagnosticsExtension komutunu kullanarak uzantıyı kaldırabilirsiniz. Uzantı etkinleştirilirken Role parametresi kullanıldıysa, uzantı kaldırılırken de kullanılmalıdır.
Tanılama uzantısını her bir rolden kaldırmak için:
Remove-AzureServiceDiagnosticsExtension -ServiceName "MyService" -Role "WebRole"
Sonraki Adımlar
- Sorunları gidermek için Azure tanılamalarını ve diğer teknikleri kullanma hakkında ek yönergeler için bkz. Azure Cloud Services ve Sanal Makineler'da Tanılamayı Etkinleştirme.
- Tanılama Yapılandırma Şeması, tanılama uzantısı için çeşitli xml yapılandırma seçeneklerini açıklar.
- Sanal Makineler için tanılama uzantısını etkinleştirmeyi öğrenmek için bkz. Azure Resource Manager Şablonu kullanarak izleme ve tanılama ile Windows Sanal makinesi oluşturma
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin