Application Insights ile Azure Active Directory B2C günlüklerini toplama

Başlamadan önce, ayarladığınız ilke türünü seçmek için İlke türü seçin seçicisini kullanın. Azure Active Directory B2C, kullanıcıların uygulamalarınızla nasıl etkileşim kurduğunu tanımlamak için iki yöntem sunar: önceden tanımlanmış kullanıcı akışları veya tam olarak yapılandırılabilir özel ilkeler aracılığıyla. 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ılayabilmek için Active Directory B2C'den (Azure AD B2C) günlük toplama adımları sağlanı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 YALNIZCA özel ilkelerinizin geliştirilmesi sırasında etkinleştirilmelidir.

Uyarı

üretim ortamlarında olarak Development ayarlamayınDeploymentMode. Günlükler, kimlik sağlayıcılarına gönderilen ve kimlik sağlayıcılarından gönderilen tüm talepleri toplar. Application Insights günlüklerinizde toplanan tüm kişisel verilerin sorumluluğunu geliştirici olarak siz üstlenirsiniz. Bu ayrıntılı günlükler yalnızca ilke GELİşTİrİCİ MODU'na yerleştirildiğinde toplanır.

Application Insights'i ayarlama

Henüz bir uygulamanız yoksa aboneliğinizde Application Insights örneği oluşturun.

İpucu

Application Insights'ın tek bir örneği birden çok Azure AD B2C kiracısı için kullanılabilir. Ardından sorgunuzda kiracıya veya ilke adına göre filtreleyebilirsiniz. Daha fazla bilgi için Bkz. Application Insights örneklerindeki günlükler .

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

  1. Azure Portal’ında oturum açın.
  2. Azure AD B2C dizininizi değil Azure aboneliğinizin bulunduğu Azure AD dizinini kullandığınızdan emin olun. Portal araç çubuğunda Dizinler + abonelikler simgesini seçin.
  3. Portal ayarlarında | Dizinler + abonelikler sayfası, Dizin adı listesinde 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 İzleme Anahtarı'nı kaydedin

Aboneliğinizde Application Insights örneği oluşturmak için şu adımları izleyin:

  1. Azure Portal’ında oturum açın.
  2. Azure AD B2C dizininizi değil Azure aboneliğinizin bulunduğu Azure AD dizinini kullandığınızdan emin olun. Portal araç çubuğunda Dizinler + abonelikler simgesini seçin.
  3. Portal ayarlarında | Dizinler + abonelikler sayfası, Dizin adı listesinde Azure AD dizininizi bulun ve ardından Değiştir'i seçin.
  4. Sol gezinti menüsünde Kaynak oluştur'u seçin.
  5. Application Insights'ı arayıp seçin, ardından Oluştur'u seçin.
  6. Formu doldurun, Gözden geçir + oluştur'u 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'ın altında Özellikler'i seçin.
  9. İZLEME 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. öğesine aşağıdaki öznitelikleri <TrustFrameworkPolicy> ekleyin:

    DeploymentMode="Development"
    UserJourneyRecorderEndpoint="urn:journeyrecorder:applicationinsights"
    
  3. Henüz yoksa düğüme <RelyingParty> bir <UserJourneyBehaviors> alt düğüm ekleyin. sonrasında bulunmalıdır <DefaultUserJourney ReferenceId="UserJourney Id" from your extensions policy, or equivalent (for example:SignUpOrSigninWithAAD" />.

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

    <JourneyInsights TelemetryEngine="ApplicationInsights" InstrumentationKey="{Your Application Insights Key}" DeveloperMode="true" ClientEnabled="false" ServerEnabled="true" TelemetryVersion="1.0.0" />
    
    • DeveloperMode="true" ApplicationInsights'a işleme işlem hattı aracılığıyla telemetriyi hızlandırmasını söyler. Geliştirme için iyi, ancak yüksek hacimlerde kısıtlanmış. Üretimde değerini olarak falseayarlayınDeveloperMode.
    • ClientEnabled="true" sayfa görünümünü ve istemci tarafı hatalarını izlemek için ApplicationInsights istemci tarafı betiğini gönderir. Bunları Application Insights portalındaki browserTimings tablosunda görüntüleyebilirsiniz. ayarını ClientEnabled= "true"yaparak application insights'ı sayfa betiğinize ekler ve sayfa yüklemelerinin ve AJAX çağrılarının zamanlamalarını, sayıları, tarayıcı özel durumlarının ayrıntılarını ve AJAX hatalarının ayrıntılarını, kullanıcı ve oturum sayılarını alırsınız. Bu alan isteğe bağlıdır ve varsayılan olarak olarak false ayarlanır.
    • ServerEnabled="true" mevcut UserJourneyRecorder JSON dosyasını Application Insights'a özel bir olay olarak gönderir.

    Örnek:

    <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. İlkeyi karşıya yükleyin.

Application Insights'ta günlüklere bakın

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

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

Günlükleri görmek için kullanabileceğiniz sorguların listesi aşağıdadır:

Sorgu Description
traces Azure AD B2C tarafından oluşturulan tüm günlükleri alma
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 saatdeki hatalarla 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; kullanıcı yolculuğu b2c_1a_signinandup.
traces | where customDimensions.CorrelationId == "00000000-0000-0000-0000-000000000000" bir bağıntı 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.

Girdiler uzun olabilir. Daha yakından bakmak için CSV'ye aktarın.

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

VS Code uzantısındaki günlüklere bakın

VS Code için Azure AD B2C uzantısını yüklemenizi öneririz. Azure AD B2C uzantısıyla günlükler sizin için ilke adı, bağıntı kimliği (uygulama içgörüleri bağıntı kimliğinin ilk rakamını gösterir) ve günlük zaman damgasına göre düzenlenir. Bu özellik, yerel zaman damgasına göre ilgili günlüğü bulmanıza ve B2C Azure AD tarafından yürütülen kullanıcı yolculuğunu görmenize yardımcı olur.

Not

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

Application Insights API erişimini ayarlama

Application Insights'ı ayarladıktan ve özel ilkeyi yapılandırdıktan sonra Application Insights API Kimliğinizi almanız ve API Anahtarı oluşturmanız gerekir. Api Kimliği ve API anahtarı, Azure AD B2C uzantısı tarafından Application Insights olaylarını (telemetriler) okumak için kullanılır. API anahtarlarınız parolalar gibi yönetilmelidir. Gizli tutun.

Not

Daha önce oluşturduğunuz Application Insights izleme anahtarı, Azure AD B2C tarafından Application Insights'a telemetri göndermek için kullanılır. İzleme anahtarını yalnızca Azure AD B2C ilkenizde kullanırsınız, vs kod uzantısında kullanmazsınız.

Application Insights Kimliğini ve anahtarını almak için:

  1. Azure portal'da uygulamanızın Application Insights kaynağını açın.

  2. Yapılandır'ı ve ardından API 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 başka bir anahtar oluşturmanız gerekir.

    API erişim anahtarının nasıl oluşturulacağını gösteren ekran görüntüsü.

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

Artık Azure Uygulaması içgörüler API kimliğine ve Anahtarına sahip olduğunuzdan, vs code uzantısını günlükleri okuyacak şekilde yapılandırabilirsiniz. Azure AD B2C VS Code uzantısı ayarlar için iki kapsam sağlar:

  • Kullanıcı Genel Ayarları - Açtığınız herhangi bir VS Code örneğine genel olarak uygulanan ayarlar.
  • Çalışma Alanı Ayarları - Çalışma alanınızda depolanan ve yalnızca çalışma alanı açıldığında (VS Code açık klasör kullanılarak) uygulanan ayarlar.
  1. Azure AD B2C İzleme gezgininde Ayarlar simgesine tıklayın.

    Uygulama içgörüleri ayarlarını seçmeyi gösteren ekran görüntüsü.

  2. Azure Uygulaması İçgörüler kimliğini ve anahtarını sağlayın.

  3. Kaydet’e tıklayın

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

Azure Uygulaması içgörü izlemesini sunan vscode için Azure AD B2C uzantısının ekran görüntüsü.

Üretimde Application Insights'ı yapılandırma

Üretim ortamınızın performansını ve daha iyi kullanıcı deneyimini geliştirmek için, ilkenizi önemli olmayan iletileri yoksayacak şekilde yapılandırmanız önemlidir. Üretim ortamlarında aşağıdaki yapılandırmayı kullanın, uygulama içgörülerinize hiçbir günlük gönderilmez.

  1. DeploymentModeTrustFrameworkPolicy özniteliğini olarak Productionayarlayı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. DeveloperModeJourneyInsights'ın değerini olarak falseayarlayın.

    <UserJourneyBehaviors>
      <JourneyInsights TelemetryEngine="ApplicationInsights" InstrumentationKey="{Your Application Insights Key}" DeveloperMode="false" ClientEnabled="false" ServerEnabled="true" TelemetryVersion="1.0.0" />
    </UserJourneyBehaviors>
    
  3. İlkenizi karşıya yükleyin ve test edin.

Sonraki adımlar