Application Insights ile Azure Active Directory B2C günlüklerini toplayın

Başlamadan önce, ayarlamakta olduğunuz ilke türünü seçmek için bir ilke türü seçin seçicisini kullanın. Azure Active Directory B2C, kullanıcıların uygulamalarınızla nasıl etkileşime gireceğini belirlemek için iki yöntem sunar: önceden tanımlı kullanıcı akışları veya tam olarak yapılandırılabilir özel ilkeler. Bu makalede gereken adımlar her yöntem için farklıdır.

Bu özellik yalnızca özel ilkeler için kullanılabilir. Kurulum adımları için, önceki seçicide özel ilke ' yi seçin.

Bu makalede, özel ilkelerinizle ilgili sorunları tanılamanıza olanak tanımak için Active Directory B2C (Azure AD B2C) günlüklerini toplama adımları sunulmaktadır. Application Insights özel durumları tanılamak ve uygulama performansı sorunlarını görselleştirmek için bir yol sağlar. Azure AD B2C'nin Application Insights'a veri göndermek için bir özelliği vardır.

Burada açıklanan ayrıntılı etkinlik günlükleri yalnızca özel ilkelerinizin geliştirilmesi sırasında etkinleştirilmelidir.

Uyarı

Öğesini DeploymentMode üretim ortamlarında olarak ayarlamayın Development . Günlükler, kimlik sağlayıcılarından ve bu kaynaklardan gönderilen tüm talepleri toplar. geliştirici, Application Insights günlüklerinde toplanan kişisel verilerin sorumluluğunu kabul eder. Bu ayrıntılı Günlükler yalnızca, ilke GELIŞTIRICI modunayerleştirildiğinde toplanır.

Application Insights ayarlama

henüz bir tane yoksa, aboneliğinizde bir Application Insights örneği oluşturun.

İpucu

Application Insights tek bir örneği birden çok Azure AD B2C kiracıda kullanılabilir. Daha sonra sorgunuzda, kiracıya veya ilke adına göre filtreleme yapabilirsiniz. daha fazla bilgi için Application Insights örnekleri içindeki günlüklere bakın .

aboneliğinizde mevcut bir Application Insights örneğini kullanmak için şu adımları izleyin:

  1. Azure Portal oturum açın.
  2. Azure AD B2C dizininiz değil, Azure aboneliğiniz olan Azure AD dizinini kullandığınızdan emin olun. Portal araç çubuğunda dizinler + abonelikler simgesini seçin.
  3. Portal Ayarları | Dizinler + abonelikler sayfasında, Dizin adı listesinden Azure AD dizininizi bulun ve ardından Değiştir' i seçin.
  4. daha önce oluşturduğunuz Application Insights kaynağını açın.
  5. Genel bakış sayfasında, izleme anahtarını kaydedin

aboneliğinizde bir Application Insights örneği oluşturmak için aşağıdaki adımları izleyin:

  1. Azure Portal oturum açın.
  2. Azure AD B2C dizininiz değil, Azure aboneliğiniz olan Azure AD dizinini kullandığınızdan emin olun. Portal araç çubuğunda dizinler + abonelikler simgesini seçin.
  3. Portal Ayarları | Dizinler + abonelikler sayfasında, Dizin adı listesinden Azure AD dizininizi bulun ve ardından Değiştir' i seçin.
  4. Sol taraftaki gezinti menüsünde kaynak oluştur ' u seçin.
  5. Application Insightsarayıp seçin ve ardından oluştur' u seçin.
  6. Formu doldurun, gözden geçir + oluştur' u seçin ve ardından Oluştur' u seçin.
  7. Dağıtım tamamlandıktan sonra Kaynağa Git' i seçin.
  8. Application Insights menüsünde yapılandır menüsünde özellikler' i seçin.
  9. Izleme anahtarını sonraki bir adımda kullanmak üzere kaydedin.

Özel ilkeyi yapılandırma

  1. Bağlı olan taraf (RP) dosyasını açın, örneğin SignUpOrSignin.xml.

  2. Aşağıdaki öznitelikleri <TrustFrameworkPolicy> öğesine ekleyin:

    DeploymentMode="Development"
    UserJourneyRecorderEndpoint="urn:journeyrecorder:applicationinsights"
    
  3. Zaten mevcut değilse, <UserJourneyBehaviors> düğüme bir alt düğüm ekleyin <RelyingParty> . Bu, öğesinden sonra yerleştirilmelidir <DefaultUserJourney ReferenceId="UserJourney Id" from your extensions policy, or equivalent (for example:SignUpOrSigninWithAAD" /> .

  4. Aşağıdaki düğümü öğesinin alt öğesi olarak ekleyin <UserJourneyBehaviors> . ' i {Your Application Insights Key} daha önce kaydettiğiniz Application Insights {Your Application Insights Key} değiştirdiğinizden emin olun.

    <JourneyInsights TelemetryEngine="ApplicationInsights" InstrumentationKey="{Your Application Insights Key}" DeveloperMode="true" ClientEnabled="false" ServerEnabled="true" TelemetryVersion="1.0.0" />
    
    • DeveloperMode="true" ApplicationInsights 'ın işleme işlem hattı aracılığıyla Telemetriyi hızlandırmasını söyler. Geliştirme için iyi, ancak yüksek birimlerde kısıtlanmıştır. Üretimde öğesini DeveloperMode olarak ayarlayın false .
    • ClientEnabled="true" İzleme sayfası görünümü ve istemci tarafı hataları için ApplicationInsights istemci tarafı betiği gönderir. bunları, Application Insights portalındaki browserzamanlamalar tablosunda görüntüleyebilirsiniz. ayar olarak ClientEnabled= "true" , sayfa betiklerine Application Insights ekler ve sayfa yüklerinin ve ajax çağrılarının, sayımların, tarayıcı özel durumlarının ve ajax hatalarının ayrıntılarının yanı sıra kullanıcı ve oturum sayımlarının zamanlamalarını alırsınız. Bu alan isteğe bağlıdırve varsayılan olarak olarak ayarlanır .
    • ServerEnabled="true"Application Insights için, var olan kullanıcıgünneyıkaydedicisi JSON 'sini özel bir olay olarak gönderir.

    Örneğin:

    <TrustFrameworkPolicy
      ...
      TenantId="fabrikamb2c.onmicrosoft.com"
      PolicyId="SignUpOrSignInWithAAD"
      DeploymentMode="Development"
      UserJourneyRecorderEndpoint="urn:journeyrecorder:applicationinsights"
    >
    ...
    <RelyingParty>
      <DefaultUserJourney ReferenceId="UserJourney ID from your extensions policy, or equivalent (for example: SignUpOrSigninWithAzureAD)" />
      <UserJourneyBehaviors>
        <JourneyInsights TelemetryEngine="ApplicationInsights" InstrumentationKey="{Your Application Insights Key}" DeveloperMode="true" ClientEnabled="false" ServerEnabled="true" TelemetryVersion="1.0.0" />
      </UserJourneyBehaviors>
      ...
    </TrustFrameworkPolicy>
    
  5. ilkeyi Upload.

günlüklere bakın Application Insights

Application Insights yeni günlükler görebilmeniz için genellikle beş dakikadan kısa bir gecikme olur.

  1. Azure portaloluşturduğunuz Application Insights kaynağını açın.
  2. Genel bakış sayfasında Günlükler' i seçin.
  3. Application Insights yeni bir sekme açın.

Günlükleri görmek için kullanabileceğiniz bir sorgu listesi aşağıda verilmiştir:

Sorgu Description
traces Azure AD B2C tarafından oluşturulan tüm günlükleri al
traces | where timestamp > ago(1d) Son gün için Azure AD B2C tarafından oluşturulan tüm günlükleri alın.
traces | where message contains "exception" | where timestamp > ago(2h) Son iki saatten hata içeren tüm günlükleri alın.
traces | where customDimensions.Tenant == "contoso.onmicrosoft.com" and customDimensions.UserJourney == "b2c_1a_signinandup" Azure AD B2C contoso.onmicrosoft.com kiracısı tarafından oluşturulan tüm günlükleri alın ve Kullanıcı yolculuğu b2c_1a_signinandup.
traces | where customDimensions.CorrelationId == "00000000-0000-0000-0000-000000000000" İlişki KIMLIĞI için Azure AD B2C tarafından oluşturulan tüm günlükleri alın. Bağıntı KIMLIĞINI bağıntı KIMLIĞINIZ ile değiştirin.

Girişler uzun olabilir. Daha yakından bir görünüm için CSV 'ye aktarın.

Sorgulama hakkında daha fazla bilgi için bkz. Azure izleyici 'de günlük sorgularına genel bakış.

VS Code uzantılı günlüklere bakın

Vs Codeiçin Azure AD B2C uzantısını yüklemenizi öneririz. Azure AD B2C Uzantısı ile, Günlükler sizin için ilke adı, bağıntı KIMLIĞI (Application Insights bağıntı KIMLIĞI için ilk basamağı gösterir) ve günlük zaman damgası tarafından düzenlenir. Bu özellik, yerel zaman damgasına göre ilgili günlüğü bulmanıza ve Azure AD B2C tarafından yürütülen kullanıcının yolculuğunu görmenizi sağlar.

Not

Topluluk, kimlik geliştiricilerine yardımcı olmak için Azure AD B2C vs Code uzantısını geliştirmiştir. Uzantı Microsoft tarafından desteklenmez ve tamamen olduğu gibi kullanılabilir hale getirilir.

Application Insights apı erişimi ayarla

Application Insights ayarladıktan ve özel ilkeyi yapılandırdıktan sonra, Application Insights apı kimliğinizialmanız ve apı anahtarıoluşturmanız gerekir. hem apı kimliği hem de apı anahtarı, Application Insights olaylarını okumak için Azure AD B2C uzantısı tarafından kullanılır (telemetriler). API anahtarlarınızın parolalar gibi yönetilmesi gerekir. Gizli tut.

Not

daha önce oluşturduğunuz Application Insights izleme anahtarı, Application Insights telemetriler göndermek için Azure AD B2C tarafından kullanılır. İzleme anahtarını, vs Code uzantısında değil yalnızca Azure AD B2C ilkenizde kullanırsınız.

Application Insights kimliği ve anahtarı almak için:

  1. Azure portal, uygulamanız için Application Insights kaynağını açın.

  2. Ayarlar' yi seçin ve ardından apı erişimi' ni seçin.

  3. Uygulama kimliğini kopyalama

  4. API anahtarı oluştur ' u seçin

  5. Telemetriyi oku kutusunu işaretleyin.

  6. API anahtarı oluştur dikey penceresini kapatmadan önce anahtarı kopyalayın ve güvenli bir yere kaydedin. Anahtarı kaybederseniz, bir tane oluşturmanız gerekir.

    Screenshot that demonstrates how to create API access key.

Azure AD B2C VS Code uzantısını ayarlama

Artık Azure Application Insights API 'SI KIMLIĞINIZ ve anahtarınız varsa, vs Code uzantısını günlükleri okumak için yapılandırabilirsiniz. Azure AD B2C VS Code uzantısı ayarlar için iki kapsam sağlar:

  • Kullanıcı Genel Ayarlar - Ayarlar herhangi bir örnek için genel olarak geçerli VS Code genel olarak uygulanır.
  • Çalışma Ayarlar - Ayarlar içinde depolanır ve yalnızca çalışma alanı açıldığında uygulanır (açık klasör VS Code kullanılarak).
  1. İzleme gezgininde Azure AD B2C simgesine Ayarlar tıklayın.

    Screenshot that demonstrates select the application insights settings.

  2. Azure Application Analizler kimliğini ve anahtarını girin.

  3. Kaydet’e tıklayın

Ayarları kaydetdikten sonra Application Insights günlükleri Azure AD B2C İzleme (Uygulama Analizler) penceresinde görünür.

Screenshot of Azure AD B2C extension for vscode, presenting the Azure Application insights trace.

Üretimde Uygulama Analizler Yapılandırma

Üretim ortamı performansınızı ve daha iyi kullanıcı deneyimini geliştirmek için ilkenizi önemli olmayan iletileri yoksayacak şekilde yapılandırmak önemlidir. Üretim ortamlarında aşağıdaki yapılandırmayı kullanın.

  1. DeploymentModeDeploymentModeProduction ayarlayın.

    <TrustFrameworkPolicy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06" PolicySchemaVersion="0.3.0.0"
    TenantId="yourtenant.onmicrosoft.com"
    PolicyId="B2C_1A_signup_signin"
    PublicPolicyUri="http://yourtenant.onmicrosoft.com/B2C_1A_signup_signin"
    DeploymentMode="Production"
    UserJourneyRecorderEndpoint="urn:journeyrecorder:applicationinsights">
    
  2. DeveloperModeDeveloperModefalse ayarlayın.

    <UserJourneyBehaviors>
      <JourneyInsights TelemetryEngine="ApplicationInsights" InstrumentationKey="{Your Application Insights Key}" DeveloperMode="false" ClientEnabled="false" ServerEnabled="true" TelemetryVersion="1.0.0" />
    </UserJourneyBehaviors>
    
  3. Upload ilkenizi test etmek için.

Sonraki adımlar