Aracılığıyla paylaş


Dayanıklılık için uygulama oturum açma durumunu izleme

Altyapı dayanıklılığını artırmak için, kritik uygulamalarınız için uygulama oturum açma durumunu izlemeyi ayarlayın. Etkileyen bir olay oluştuğunda uyarı alabilirsiniz. Bu makalede, kullanıcılarınızın oturum açma işlemlerinde yaşanan kesintileri izlemek için Uygulama oturum açma durumu çalışma kitabını ayarlama adımları açıklanıyor.

Uyarıları Uygulama oturum açma durumu çalışma kitabına göre yapılandırabilirsiniz. Bu çalışma kitabı yöneticilerin kiracılarındaki uygulamalar için kimlik doğrulama isteklerini izlemesine olanak tanır. Şu önemli özellikleri sağlar:

  • Çalışma kitabını neredeyse gerçek zamanlı verilere sahip tüm uygulamaları veya tek tek uygulamaları izleyecek şekilde yapılandırın.
  • Araştırıp yanıt verebilmeniz için kimlik doğrulama düzeni değişiklikleri için uyarıları yapılandırın.
  • Belirli bir süre içindeki eğilimleri karşılaştırın. Çalışma kitabının varsayılan ayarı hafta içindedir.

Not

Raporlar için Azure İzleyici çalışma kitaplarını kullanma bölümünde tüm kullanılabilir çalışma kitaplarına ve bunları kullanmaya yönelik önkoşullara bakın.

Etkileyen bir olay sırasında iki şey olabilir:

  • Kullanıcılar oturum açamadıklarında bir uygulamanın oturum açma sayısı aniden düşebilir.
  • Oturum açma hatası sayısı artabilir.

Önkoşullar

  • Microsoft Entra kiracısı.
  • En azından Güvenlik Yöneticisi rolü atanmış bir kullanıcı.
  • Azure aboneliğinizde günlükleri Azure İzleyici günlüklerine göndermek için bir Log Analytics çalışma alanı. Log Analytics çalışma alanı oluşturmayı öğrenin.
  • Azure İzleyici günlükleriyle tümleştirilmiş Microsoft Entra günlükleri. Microsoft Entra oturum açma günlüklerini Azure İzleyici Stream ile tümleştirmeyi öğrenin.

Uygulama oturum açma durumu çalışma kitabını yapılandırma

Azure portalında çalışma kitaplarına erişmek için Microsoft Entra Id ve Çalışma Kitapları'nı seçin.

Çalışma kitapları Kullanım, Koşullu Erişim ve Sorun Giderme altında görünür. Uygulama oturum açma sistem durumu çalışma kitabı Sistem Durumu bölümünde görünür. Çalışma kitabını kullandıktan sonra, çalışma kitabı Son değiştirilen çalışma kitapları bölümünde görünebilir.

Oturum açma işlemlerinizde neler olduğunu görselleştirmek için Uygulama oturum açma durumu çalışma kitabını kullanabilirsiniz. Aşağıdaki ekran görüntüsünde gösterildiği gibi, çalışma kitabı iki grafik sunar.

Oturum açma sistem durumu grafiklerini gösteren ekran görüntüsü.

Yukarıdaki ekran görüntüsünde iki grafik vardır:

  • Saatlik kullanım (başarılı kullanıcı sayısı). Geçerli başarılı kullanıcı sayınızı tipik bir kullanım dönemiyle karşılaştırmak, araştırma gerektirebilecek bir kullanım düşüşünü belirlemenize yardımcı olur. Açılan başarılı kullanım oranı, hata oranının algılayamaması performans ve kullanım sorunlarını algılamaya yardımcı olabilir. Örneğin, kullanıcılar oturum açmaya çalışmak için uygulamanıza ulaşamadıklarında kullanımda bir düşüş olur ancak hata olmaz. Bu makalenin sonraki bölümünde bu veriler için örnek sorguya bakın.
  • Saatlik hata oranı. Hata oranındaki ani artış, kimlik doğrulama mekanizmalarınızla ilgili bir sorunu gösterebilir. Hata oranı ölçüleri yalnızca kullanıcılar kimlik doğrulamayı denediğinde görünür. Kullanıcılar bu girişimi gerçekleştirmek için erişim sağlayamazsa hata olmaz.

Sorguyu ve uyarıları yapılandırma

Azure İzleyici'de uyarı kuralları oluşturursunuz ve kayıtlı sorguları veya özel günlük aramalarını düzenli aralıklarla otomatik olarak çalıştırabilirsiniz. Kullanım veya hata oranı belirtilen eşiği aştığında belirli bir gruba bildirimde bulunan bir uyarı yapılandırabilirsiniz.

Graflara yansıtılan sorgulara göre e-posta uyarıları oluşturmak için aşağıdaki yönergeleri kullanın. Örnek betikler aşağıdaki durumlarda bir e-posta bildirimi gönderir:

  • Önceki saatlik kullanım grafı örneğinde gösterildiği gibi, başarılı kullanım iki gün önce aynı saatten %90 düşer.
  • Önceki saatlik hata oranı graf örneğinde gösterildiği gibi, hata oranı iki gün önceki aynı saatle %90 artar.

Temel alınan sorguyu yapılandırmak ve uyarıları ayarlamak için, yapılandırmanızın temeli olarak örnek sorguyu kullanarak aşağıdaki adımları tamamlayın. Sorgu yapısı açıklaması bu bölümün sonunda görüntülenir. Günlük uyarılarını yönetme bölümünde Azure İzleyici'yi kullanarak günlük uyarıları oluşturmayı, görüntülemeyi ve yönetmeyi öğrenin.

  1. Çalışma kitabında, aşağıdaki ekran görüntüsünde gösterildiği gibi Düzenle'yi seçin. Grafiğin sağ üst köşesindeki sorgu simgesini seçin.

    Çalışma kitabını düzenlemeyi gösteren ekran görüntüsü.

  2. Sorgu günlüğünü aşağıdaki ekran görüntüsünde gösterildiği gibi görüntüleyin.

    Sorgu günlüğünü gösteren ekran görüntüsü.

  3. Yeni bir Kusto sorgusu için aşağıdaki örnek betiklerden birini kopyalayın.

  4. Sorguyu pencereye yapıştırın. Çalıştır seçin. Aşağıdaki ekran görüntüsünde gösterildiği gibi Tamamlandı iletisini ve sorgu sonuçlarını arayın.

    Çalıştırma sorgusu sonuçlarını gösteren ekran görüntüsü.

  5. Sorguyu vurgulayın. + Yeni uyarı kuralı’nı seçin.

    Yeni uyarı kuralı ekranını gösteren ekran görüntüsü.

  6. Uyarı koşullarını yapılandırın. Aşağıdaki örnek ekran görüntüsünde gösterildiği gibi, Koşul bölümünde Ölçü'nin altında Ölçü için Tablo satırları'nı seçin. Toplama türü için Sayı'ya tıklayın. Toplama ayrıntı düzeyi için 2 gün seçin.

    Uyarıları yapılandırma ekranını gösteren ekran görüntüsü.

    • Tablo satırları. Windows olay günlükleri, Syslog ve uygulama özel durumları gibi olaylarla çalışmak için döndürülen satır sayısını kullanabilirsiniz.
    • Toplama türü. Count ile uygulanan veri noktaları.
    • Toplama ayrıntı düzeyi. Bu değer, değerlendirme sıklığı ile çalışan dönemi tanımlar.
  7. Uyarı Mantığı'nda, parametreleri örnek ekran görüntüsünde gösterildiği gibi yapılandırın.

    Uyarı mantığı ekranını gösteren ekran görüntüsü.

    • Eşik değeri: 0. Bu değer herhangi bir sonuçla ilgili uyarı verir.
    • Değerlendirme sıklığı: 1 saat. Bu değer, önceki saat için değerlendirme süresini saatte bir olarak ayarlar.
  8. Eylemler bölümünde, örnek ekran görüntüsünde gösterildiği gibi ayarları yapılandırın.

    Uyarı kuralı oluştur ekranını gösteren ekran görüntüsü.

    • Eylem grubu seç'i seçin ve uyarı bildirimlerini istediğiniz grubu ekleyin.
    • Eylemleri özelleştir'in altında E-posta uyarıları'nı seçin.
    • Konu satırı ekleyin.
  9. Ayrıntılar bölümünde, örnek ekran görüntüsünde gösterildiği gibi ayarları yapılandırın.

    Ayrıntılar bölümünü gösteren ekran görüntüsü.

    • Abonelik adı ve açıklama ekleyin.
    • Uyarıyı eklemek istediğiniz Kaynak grubunu seçin.
    • Varsayılan Önem Derecesi'ni seçin.
    • Hemen canlı yayına geçmek istiyorsanız Oluşturma sırasında etkinleştir'i seçin. Aksi takdirde, Eylemlerin sesini kapat'ı seçin.
  10. Gözden geçir ve oluştur bölümünde, örnek ekran görüntüsünde gösterildiği gibi ayarları yapılandırın.

    Gözden Geçir ve oluştur bölümünü gösteren ekran görüntüsü.

  11. Kaydet'i seçin. Sorgu için bir ad girin. Farklı kaydet için Sorgu'yu seçin. Kategori için Uyarı'yı seçin. Yeniden Kaydet'i seçin.

    Sorguyu kaydet düğmesini gösteren ekran görüntüsü.

Sorgularınızı ve uyarılarınızı daraltma

Maksimum etkinlik için sorgularınızı ve uyarılarınızı değiştirmek için:

  • Uyarıları her zaman test edin.
  • Önemli bildirimleri almak için uyarı duyarlılığını ve sıklığını değiştirin. Yöneticiler uyarılara duyarsızlaşabilir ve çok fazla uyarı alırlarsa önemli bir şeyi kaçırabilir.
  • Yöneticinin e-posta istemcilerinde, uyarıların izin verilen gönderenler listesine geldiği e-postayı ekleyin. Bu yaklaşım, e-posta istemcilerindeki istenmeyen posta filtresi nedeniyle kaçırılan bildirimleri engeller.
  • Tasarım gereği Azure İzleyici'deki uyarı sorguları yalnızca son 48 saatin sonuçlarını içerebilir.

Örnek betikler

Hata oranında artış için Kusto sorgusu

Aşağıdaki sorguda artan hata oranlarını algılıyoruz. Gerekirse, alttaki oranı ayarlayabilirsiniz. Aynı anda dünkü trafikle karşılaştırıldığında, son saatteki trafikteki yüzde değişimini temsil eder. 0,5 sonucu trafikte %50 fark olduğunu gösterir.

let today = SigninLogs
| where TimeGenerated > ago(1h) // Query failure rate in the last hour
| project TimeGenerated, UserPrincipalName, AppDisplayName, status = case(Status.errorCode == "0", "success", "failure")
// Optionally filter by a specific application
//| where AppDisplayName == **APP NAME**
| summarize success = countif(status == "success"), failure = countif(status == "failure") by bin(TimeGenerated, 1h) // hourly failure rate
| project TimeGenerated, failureRate = (failure * 1.0) / ((failure + success) * 1.0)
| sort by TimeGenerated desc
| serialize rowNumber = row_number();
let yesterday = SigninLogs
| where TimeGenerated between((ago(1h) – totimespan(1d))..(now() – totimespan(1d))) // Query failure rate at the same time yesterday
| project TimeGenerated, UserPrincipalName, AppDisplayName, status = case(Status.errorCode == "0", "success", "failure")
// Optionally filter by a specific application
//| where AppDisplayName == **APP NAME**
| summarize success = countif(status == "success"), failure = countif(status == "failure") by bin(TimeGenerated, 1h) // hourly failure rate at same time yesterday
| project TimeGenerated, failureRateYesterday = (failure * 1.0) / ((failure + success) * 1.0)
| sort by TimeGenerated desc
| serialize rowNumber = row_number();
today
| join (yesterday) on rowNumber // join data from same time today and yesterday
| project TimeGenerated, failureRate, failureRateYesterday
// Set threshold to be the percent difference in failure rate in the last hour as compared to the same time yesterday
// Day variable is the number of days since the previous Sunday. Optionally ignore results on Sat, Sun, and Mon because large variability in traffic is expected.
| extend day = dayofweek(now())
| where day != time(6.00:00:00) // exclude Sat
| where day != time(0.00:00:00) // exclude Sun
| where day != time(1.00:00:00) // exclude Mon
| where abs(failureRate – failureRateYesterday) > 0.5

Kullanımda bırakma için Kusto sorgusu

Aşağıdaki sorguda, son bir saat içindeki trafiği aynı anda dünkü trafikle karşılaştırıyoruz. Önceki günün trafiğinde aynı anda büyük değişkenlik beklediğimiz için Cumartesi, Pazar ve Pazartesi hariç tutulur.

Gerekirse, alttaki oranı ayarlayabilirsiniz. Aynı anda dünkü trafikle karşılaştırıldığında, son saatteki trafikteki yüzde değişimini temsil eder. 0,5 sonucu trafikte %50 fark olduğunu gösterir. Bu değerleri iş operasyon modelinize uyacak şekilde ayarlayın.

Let today = SigninLogs // Query traffic in the last hour
| where TimeGenerated > ago(1h)
| project TimeGenerated, AppDisplayName, UserPrincipalName
// Optionally filter by AppDisplayName to scope query to a single application
//| where AppDisplayName contains "Office 365 Exchange Online"
| summarize users = dcount(UserPrincipalName) by bin(TimeGenerated, 1hr) // Count distinct users in the last hour
| sort by TimeGenerated desc
| serialize rn = row_number();
let yesterday = SigninLogs // Query traffic at the same hour yesterday
| where TimeGenerated between((ago(1h) – totimespan(1d))..(now() – totimespan(1d))) // Count distinct users in the same hour yesterday
| project TimeGenerated, AppDisplayName, UserPrincipalName
// Optionally filter by AppDisplayName to scope query to a single application
//| where AppDisplayName contains "Office 365 Exchange Online"
| summarize usersYesterday = dcount(UserPrincipalName) by bin(TimeGenerated, 1hr)
| sort by TimeGenerated desc
| serialize rn = row_number();
today
| join // Join data from today and yesterday together
(
yesterday
)
on rn
// Calculate the difference in number of users in the last hour compared to the same time yesterday
| project TimeGenerated, users, usersYesterday, difference = abs(users – usersYesterday), max = max_of(users, usersYesterday)
| extend ratio = (difference * 1.0) / max // Ratio is the percent difference in traffic in the last hour as compared to the same time yesterday
// Day variable is the number of days since the previous Sunday. Optionally ignore results on Sat, Sun, and Mon because large variability in traffic is expected.
| extend day = dayofweek(now())
| where day != time(6.00:00:00) // exclude Sat
| where day != time(0.00:00:00) // exclude Sun
| where day != time(1.00:00:00) // exclude Mon
| where ratio > 0.7 // Threshold percent difference in sign-in traffic as compared to same hour yesterday

Uyarıları yönetmek için işlemler oluşturma

Sorguları ve uyarıları ayarladıktan sonra, uyarıları yönetmek için iş süreçleri oluşturun.

  • Çalışma kitabını kim ve ne zaman izler?
  • Uyarılar oluştuğunda bunları kim araştırır?
  • İletişim gereksinimleri nelerdir? İletişimi kim oluşturur ve kim alır?
  • Bir kesinti oluştuğunda hangi iş süreçleri geçerli olur?

Sonraki adımlar

Çalışma kitapları hakkında daha fazla bilgi edinin