Application Insights Profiler ve Snapshot Debugger için kendi depolama alanınızı getir (BYOS) yapılandırma

Kendi depolama alanınızı (BYOS) getir ve neden gerekli olabilir?

Application Insights Profiler veya Snapshot Debugger kullandığınızda, uygulamanız tarafından oluşturulan yapıtlar, genel Internet üzerinden Azure depolama hesaplarına yüklenir. Bu hesaplar, işlenmek ve analiz amacıyla Microsoft tarafından ücretli ve denetlenir. Microsoft, bu yapıtlar için REST ve ömür yönetimi ilkelerini denetler.

Kendi depolama alanınızı getir ile, bu yapılar denetlediğiniz bir depolama hesabına yüklenir. Bu, bekleyen şifreleme ilkesini, ömür yönetimi ilkesini ve ağ erişimini kontrol ettiğiniz anlamına gelir. Bununla birlikte, bu depolama hesabıyla ilişkili maliyetlerden de sorumlu olursunuz.

Not

Özel bağlantıyı etkinleştirirseniz, kendi depolama alanınızı getirin. Application Insights özel bağlantısı hakkında daha fazla bilgi için belgelerine bakın.

Customer-Managed anahtarlarını etkinleştirirseniz kendi depolama alanınızı getirin. Application Insights Customer-Managed anahtarları hakkında daha fazla bilgi için belgelerine bakın.

Depolama hesabımın erişim sıklığı nedir?

  1. Sanal makinelerinizde veya App Service çalışan aracılar, hesabınızdaki blob kapsayıcılarına yapıtları (profiller, anlık görüntüler ve semboller) karşıya yükleyecek. Bu işlem, depolama hesabınızda yeni bir blob 'a SAS (paylaşılan erişim Imzası) belirteci almak için Application Insights Profiler veya Snapshot Debugger hizmetine başvurmayı içerir.
  2. Application Insights Profiler veya Snapshot Debugger hizmeti gelen blobu analiz eder ve analiz sonuçlarını ve günlük dosyalarını blob depolamaya geri yazar. Kullanılabilir işlem kapasitesine bağlı olarak, bu işlem karşıya yüklendikten sonra herhangi bir zamanda gerçekleşebilir.
  3. Profil oluşturma izlemelerini veya anlık görüntü hata ayıklayıcısı analizini görüntüle, hizmet blob depolamadan analiz sonuçlarını getirir.

Önkoşullar

  • Depolama Hesabı'nızı kaynak kaynağınız ile aynı konumda Application Insights olun. Örn. Depolama Application Insights kaynağınız Batı ABD 2 depolama hesabında da Batı ABD 2.
  • Access Control (IAM) kullanıcı arabirimi aracılığıyla depolama hesabınıza "Tanılama Hizmetleri Güvenilen Depolama Erişimi" AAD uygulamasına "Depolama Blob Verileri Katkıda Bulunanı" rolünü ver.
  • Özel Bağlantı etkinse, Sanal Ağınız üzerinden Güvenilen Microsoft Hizmetimize bağlantıya izin vermek için ek ayarı yapılandırabilirsiniz.

BYOS'u etkinleştirme

Depolama Hesabı Oluştur

Depolama kaynağınız ile aynı konumda yepyeni bir Depolama Hesabı (hesabınız yoksa) Application Insights oluşturun. Depolama Application Insights kaynağınız üzerinde ise West US 2 Depolama Hesabınız içinde olması West US 2 gerekir.

Depolama Hesabınıza Tanılama Hizmetleri Erişimi Ver

BIR BYOS depolama hesabı, bir Application Insights bağlanacak. Kaynak başına yalnızca bir depolama hesabı Application Insights ve her ikisi de aynı konumda yer ala. Aynı depolama hesabını birden fazla depolama kaynağıyla Application Insights kullanabilirsiniz.

İlk olarak Application Insights Profiler ve Snapshot Debugger hizmetine depolama hesabına erişim izni verilmesi gerekir. Erişim vermek için, Şekil Storage Blob Data Contributor 1.0'da gösterildiği gibi depolama Access Control (IAM) sayfası aracılığıyla adlı AAD Diagnostic Services Trusted Storage Access uygulamasına rolü ekleyin.

Adımlar:

  1. "Rol ataması ekleme" bölümünde "Ekle" düğmesine tıklayın
  2. "Depolama Blob Verileri Katkıda Bulunanı" rolünü seçin
  3. "Erişim atama" bölümünde "Azure AD kullanıcısı, grubu veya hizmet sorumlusu" öğesini seçin
  4. Arama & "Tanılama Hizmetleri Güvenilen Depolama Erişimi" uygulamasını seçin
  5. Değişiklikleri kaydetme

 Şekil 1.0 Şekil 1.0

Rolü ekledikten sonra, aşağıdaki Şekil 1.1'de olduğu gibi "Rol atamaları" bölümünde görünür.  Şekil 1,1 Şekil 1,1

Ayrıca özel bağlantı kullanıyorsanız, sanal ağınızdan güvenilir Microsoft hizmetimize bağlantı sağlamak için bir ek yapılandırma gerekir. Depolama ağı güvenliği belgelerinebakın.

KCG 'yi kod düzeyi tanılama (Profiler/Debugger) için yapılandırmak için üç seçenek vardır:

  • Azure PowerShell cmdlet 'Leri kullanma
  • Azure komut satırı arabirimini (CLı) kullanma
  • Azure Resource Manager şablonu kullanma

Azure PowerShell cmdlet 'Lerini kullanarak yapılandırma

  1. Az PowerShell 4.2.0 veya üstünü yüklediğinizden emin olun.

    Azure PowerShell yüklemek için resmi Azure PowerShell belgelerinebakın.

  2. Application Insights PowerShell uzantısını yükler.

    Install-Module -Name Az.ApplicationInsights -Force
    
  3. Azure hesabınızla oturum açın

    Connect-AzAccount -Subscription "{subscription_id}"
    

    Oturum açma hakkında daha fazla bilgi için Connect-AzAccount belgelerinebakın.

  4. Application Insights kaynağınız ile bağlantılı önceki depolama hesabını kaldırın.

    Kalıp

    $appInsights = Get-AzApplicationInsights -ResourceGroupName "{resource_group_name}" -Name "{application_insights_name}"
    Remove-AzApplicationInsightsLinkedStorageAccount -ResourceId $appInsights.Id
    

    Örnek:

    $appInsights = Get-AzApplicationInsights -ResourceGroupName "byos-test" -Name "byos-test-westus2-ai"
    Remove-AzApplicationInsightsLinkedStorageAccount -ResourceId $appInsights.Id
    
  5. Depolama hesabınızı Application Insights kaynağına bağlayın.

    Kalıp

    $storageAccount = Get-AzStorageAccount -ResourceGroupName "{resource_group_name}" -Name "{storage_account_name}"
    $appInsights = Get-AzApplicationInsights -ResourceGroupName "{resource_group_name}" -Name "{application_insights_name}"
    New-AzApplicationInsightsLinkedStorageAccount -ResourceId $appInsights.Id -LinkedStorageAccountResourceId $storageAccount.Id
    

    Örnek:

    $storageAccount = Get-AzStorageAccount -ResourceGroupName "byos-test" -Name "byosteststoragewestus2"
    $appInsights = Get-AzApplicationInsights -ResourceGroupName "byos-test" -Name "byos-test-westus2-ai"
    New-AzApplicationInsightsLinkedStorageAccount -ResourceId $appInsights.Id -LinkedStorageAccountResourceId $storageAccount.Id
    

Azure CLı kullanarak yapılandırma

  1. Azure CLı 'yi yüklediğinizden emin olun.

    Azure CLı 'yı yüklemek için resmi Azure CLI belgelerinebakın.

  2. Application Insights CLI uzantısını yükleyin.

    az extension add -n application-insights
    
  3. Depolama Hesabı'nızı Application Insights bağlama.

    Desen:

    az monitor app-insights component linked-storage link --resource-group "{resource_group_name}" --app "{application_insights_name}" --storage-account "{storage_account_name}"
    

    Örnek:

    az monitor app-insights component linked-storage link --resource-group "byos-test" --app "byos-test-westus2-ai" --storage-account "byosteststoragewestus2"
    

    Beklenen çıktı:

    {
      "id": "/subscriptions/{subscription}/resourcegroups/byos-test/providers/microsoft.insights/components/byos-test-westus2-ai/linkedstorageaccounts/serviceprofiler",
      "linkedStorageAccount": "/subscriptions/{subscription}/resourceGroups/byos-test/providers/Microsoft.Storage/storageAccounts/byosteststoragewestus2",
      "name": "serviceprofiler",
      "resourceGroup": "byos-test",
      "type": "microsoft.insights/components/linkedstorageaccounts"
    }
    

    Not

    Bağlı Depolama Hesaplarından kaynak kaynağınıza güncelleştirmeler Application Insights için Application Insights CLI belgelerine bakın.

Şablon kullanarak Azure Resource Manager yapılandırma

  1. Aşağıdaki içeriğe Azure Resource Manager bir şablon dosyası oluşturun (byos.template.jsaçın).

    {
      "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {
        "applicationinsights_name": {
          "type": "String"
        },
        "storageaccount_name": {
          "type": "String"
        }
      },
      "variables": {},
      "resources": [
        {
          "name": "[concat(parameters('applicationinsights_name'), '/serviceprofiler')]",
          "type": "Microsoft.Insights/components/linkedStorageAccounts",
          "apiVersion": "2020-03-01-preview",
          "properties": {
            "linkedStorageAccount": "[resourceId('Microsoft.Storage/storageAccounts', parameters('storageaccount_name'))]"
          }
        }
      ],
      "outputs": {}
    }
    
  2. Önceki şablonu dağıtmak için aşağıdaki PowerShell komutunu çalıştırın (Bağlı Depolama Hesabı oluşturun).

    Desen:

    New-AzResourceGroupDeployment -ResourceGroupName "{your_resource_name}" -TemplateFile "{local_path_to_arm_template}"
    

    Örnek:

    New-AzResourceGroupDeployment -ResourceGroupName "byos-test" -TemplateFile "D:\Docs\byos.template.json"
    
  3. PowerShell konsolunda istendiğinde aşağıdaki parametreleri girin:

    Parametre Açıklama
    application_insights_name BYOS'u Application Insights kaynağın adı.
    storage_account_name BYOS'niz olarak kullanmak istediğiniz Depolama Hesabı kaynağının adı.

    Beklenen çıktı:

    Supply values for the following parameters:
    (Type !? for Help.)
    application_insights_name: byos-test-westus2-ai
    storage_account_name: byosteststoragewestus2
    
    DeploymentName          : byos.template
    ResourceGroupName       : byos-test
    ProvisioningState       : Succeeded
    Timestamp               : 4/16/2020 1:24:57 AM
    Mode                    : Incremental
    TemplateLink            :
    Parameters              :
                              Name                            Type                       Value
                              ==============================  =========================  ==========
                              application_insights_name        String                     byos-test-westus2-ai
                              storage_account_name             String                     byosteststoragewestus2
    
    Outputs                 :
    DeploymentDebugLogLevel :
    
  4. İş yükü aracılığıyla ilgili iş yükünde kod düzeyinde tanılamayı (Profiler/Debugger) Azure portal. (App Service > Application Insights)  Şekil 2.0 Şekil 2.0

Sorun giderme

'{schema_uri}' şablon şeması desteklenmiyor.

  • Şablonun $schema özelliğinin geçerli olduğundan emin olun. Aşağıdaki desene uyması gerekir: https://schema.management.azure.com/schemas/{schema_version}/deploymentTemplate.json#
  • Şablonun geçerli schema_version değerler içinde olduğundan emin olun: 2014-04-01-preview, 2015-01-01, 2018-05-01, 2019-04-01, 2019-08-01 . Hata iletisi:
    New-AzResourceGroupDeployment : 11:53:49 AM - Error: Code=InvalidTemplate; Message=Deployment template validation failed: 'Template schema
    'https://schema.management.azure.com/schemas/2020-01-01/deploymentTemplate.json#' is not supported. Supported versions are
    '2014-04-01-preview,2015-01-01,2018-05-01,2019-04-01,2019-08-01'. Please see https://aka.ms/arm-template for usage details.'.
    

'{location}' konumu için kayıtlı kaynak sağlayıcısı bulunamadı.

  • Kaynağının olduğundan emin olun apiVersion microsoft.insights/components 2015-05-01 .
  • Kaynağının olduğundan emin olun apiVersion linkedStorageAccount 2020-03-01-preview . Hata iletisi:
    New-AzResourceGroupDeployment : 6:18:03 PM - Resource microsoft.insights/components 'byos-test-westus2-ai' failed with message '{
      "error": {
        "code": "NoRegisteredProviderFound",
        "message": "No registered resource provider found for location 'westus2' and API version '2020-03-01-preview' for type 'components'. The supported api-versions are '2014-04-01,
    2014-08-01, 2014-12-01-preview, 2015-05-01, 2018-05-01-preview'. The supported locations are ', eastus, southcentralus, northeurope, westeurope, southeastasia, westus2, uksouth,
    canadacentral, centralindia, japaneast, australiaeast, koreacentral, francecentral, centralus, eastus2, eastasia, westus, southafricanorth, northcentralus, brazilsouth, switzerlandnorth,
    australiasoutheast'."
      }
    }'
    

Depolama hesabı konumu AI bileşeni konumuyla eşleşmelidir.

  • Application Insights kaynağının konumunun depolama hesabıyla aynı olduğundan emin olun. Hata iletisi:
    New-AzResourceGroupDeployment : 1:01:12 PM - Resource microsoft.insights/components/linkedStorageAccounts 'byos-test-centralus-ai/serviceprofiler' failed with message '{
      "error": {
        "code": "BadRequest",
        "message": "Storage account location should match AI component location",
        "innererror": {
          "trace": [
            "System.ArgumentException"
          ]
        }
      }
    }'
    

Genel profil oluşturucu sorunlarını giderme için, Profil Oluşturucu sorun giderme belgelerinebakın.

Genel Snapshot Debugger sorun giderme için Snapshot Debugger sorun giderme belgelerinebakın.

SSS

  • Profil Oluşturucu veya anlık görüntü etkinse ve sonra BYOS 'yi etkinleştirdiğimde, verilerim depolama Hesabma geçirilecektir mi? Hayır, bu değil.

  • KCG, REST ve Customer-Managed anahtarındaki şifrelemeyle birlikte çalışır mı? Evet, kesin olması için, BYOS, Customer-Manager anahtarlarla profil oluşturucu/hata ayıklayıcı 'nın etkinleştirilmesi için bir önkoşuldur.

  • KCG, Internet 'ten yalıtılmış bir ortamda çalışır mı? Yes. Aslında, BYOS yalıtılmış ağ senaryoları için bir gereksinimdir.

  • Her ikisi de Customer-Managed anahtarlar ve özel bağlantı etkinleştirildiğinde BYOS işleri çalışır mı? Evet, mümkün olabilir.

  • KCG 'yi etkinleştirdiğimde, veri toplandığım verileri depolamak için tanılama hizmetleri depolama hesaplarını kullanarak geri dönebilir miyim? Evet, ancak şu anda KCG 'ınızdan veri geçişini desteklemiyoruz.

  • KCG etkinleştirildikten sonra, bu, depolama ve ağ ile ilgili tüm maliyetlerden devralınacaktır. Evet