Azure Depolama ölçümlerini ve günlüğe kaydetmeyi, AzCopy’yi ve İleti Çözümleyicisi’ni kullanarak uçtan uca sorun giderme

Tanılama ve sorun giderme, Microsoft Azure Depolama ile istemci uygulamaları oluşturmak ve desteklemek için önemli bir beceridir. Bir Azure uygulamasının dağıtılmış yapısı nedeniyle, hataları ve performans sorunlarını tanılamak ve gidermek geleneksel ortamlardan daha karmaşık olabilir.

Bu öğreticide, performansı etkileyebilecek belirli hataları tanımlamayı ve istemci uygulamasını iyileştirmek için Microsoft ve Azure Depolama tarafından sağlanan araçları kullanarak bu hataları uçtan uca nasıl giderebileceğimizi göstereceğiz.

Bu öğretici, uçtan uca sorun giderme senaryosunu uygulamalı olarak inceleme olanağı sağlar. Azure depolama uygulamalarında sorun gidermeye yönelik ayrıntılı kavramsal kılavuz için bkz. Microsoft Azure Depolama izleme, tanılama ve sorun giderme.

Azure Depolama uygulamalarında sorun giderme araçları

Microsoft Azure Depolama kullanarak istemci uygulamalarıyla ilgili sorunları gidermek için, bir sorunun ne zaman oluştuğu ve sorunun nedenini belirlemek için bir araç birleşimi kullanabilirsiniz. Bu araçlar şunları içerir:

  • Azure Depolama Analizi. Azure Depolama Analizi, Azure Depolama için ölçümler ve günlüğe kaydetme sağlar.

    • Depolama ölçümleri, depolama hesabınız için işlem ölçümlerini ve kapasite ölçümlerini izler. Ölçümleri kullanarak uygulamanızın çeşitli ölçülere göre nasıl performans sergilediğini belirleyebilirsiniz. Depolama Analizi tarafından izlenen ölçüm türleri hakkında daha fazla bilgi için bkz. Depolama Analizi Ölçüm Tablosu Şeması.
    • Depolama günlüğü her isteği Azure Depolama hizmetlerine sunucu tarafı günlüğüne kaydeder. Günlük, gerçekleştirilen işlem, işlemin durumu ve gecikme süresi bilgileri de dahil olmak üzere her istek için ayrıntılı verileri izler. Depolama Analizi tarafından günlüklere yazılan istek ve yanıt verileri hakkında daha fazla bilgi için bkz. Depolama Analizi Günlük Biçimi.
  • Azure portalı. Azure portal depolama hesabınız için ölçümleri ve günlüğe kaydetmeyi yapılandırabilirsiniz. Ayrıca, uygulamanızın zaman içinde nasıl performans gösterdiğini gösteren grafikleri ve grafikleri görüntüleyebilir ve uygulamanızın belirli bir ölçüm için beklenenden farklı performans gösterdiğini bildiren uyarılar yapılandırabilirsiniz.

    Azure portal izlemeyi yapılandırma hakkında bilgi için bkz. Azure portal depolama hesabını izleme.

  • AzCopy. Azure Depolama için sunucu günlükleri blob olarak depolanır, bu nedenle Microsoft Message Analyzer kullanarak analiz için günlük bloblarını yerel bir dizine kopyalamak için AzCopy'yi kullanabilirsiniz. AzCopy hakkında daha fazla bilgi için bkz . AzCopy Command-Line Yardımcı Programı ile veri aktarma .

  • Microsoft Message Analyzer. İleti Çözümleyicisi, günlük dosyalarını kullanan ve günlük verilerini görsel bir biçimde görüntüleyen ve günlük verilerini filtrelemeyi, aramayı ve günlük verilerini hataları ve performans sorunlarını analiz etmek için kullanabileceğiniz yararlı kümelerde gruplandırmayı kolaylaştıran bir araçtır. İleti Çözümleyicisi hakkında daha fazla bilgi için bkz. Microsoft İleti Çözümleyicisi İşletim Kılavuzu.

Örnek senaryo hakkında

Bu öğreticide, Azure Depolama ölçümlerinin Azure depolamayı çağıran bir uygulama için düşük başarı oranını gösterdiği bir senaryoyu inceleyeceğiz. Düşük başarı oranı ölçümü (Azure portal ve ölçüm tablolarında PercentSuccess olarak gösterilir), başarılı olan ancak 299'dan büyük bir HTTP durum kodu döndüren işlemleri izler. Sunucu tarafı depolama günlüğü dosyalarında, bu işlemler ClientOtherErrors işlem durumuyla kaydedilir. Düşük başarı yüzdesi ölçümü hakkında daha fazla ayrıntı için bkz . Ölçümler düşük PercentSuccess gösteriyor veya analiz günlüğü girişlerinde ClientOtherErrors işlem durumuyla işlemler var.

Azure Depolama işlemleri, normal işlevlerinin bir parçası olarak 299'dan büyük HTTP durum kodları döndürebilir. Ancak bazı durumlarda bu hatalar, istemci uygulamanızı iyileştirilmiş performans için iyileştirebildiğinizi gösterir.

Bu senaryoda, düşük bir başarı oranının %100'in altında olduğunu düşüneceğiz. Ancak ihtiyaçlarınıza göre farklı bir ölçüm düzeyi seçebilirsiniz. Uygulamanızı test etme sırasında temel performans ölçümleriniz için bir temel tolerans oluşturmanızı öneririz. Örneğin, teste bağlı olarak uygulamanızın %90 veya %85 tutarlı bir başarı yüzdesine sahip olması gerektiğini belirleyebilirsiniz. Ölçüm verileriniz uygulamanın bu sayıdan saptığını gösteriyorsa artışa neyin neden olabileceğini araştırabilirsiniz.

Örnek senaryomuzda başarı yüzdesi ölçümünü %100'in altında bulduktan sonra günlükleri inceleyerek ölçümlerle bağıntılı hataları bulacağız ve bunları kullanarak daha düşük başarı oranına neyin neden olduğunu öğreneceğiz. Özellikle 400 aralığındaki hatalara bakacağız. Ardından 404 (Bulunamadı) hatalarını daha yakından inceleyeceğiz.

400 aralıklı hataların bazı nedenleri

Aşağıdaki örneklerde, Azure Blob Depolama yönelik istekler için 400 aralıklı hataların bir örneklemesi ve olası nedenleri gösterilmektedir. Bu hatalardan herhangi birinin yanı sıra 300 aralığındaki ve 500 aralığındaki hatalar, düşük bir başarı oranına katkıda bulunabilir.

Aşağıdaki listelerin tamamlanmak için çok uzak olduğunu unutmayın. Genel Azure Depolama hataları ve depolama hizmetlerinin her birine özgü hatalar hakkında ayrıntılı bilgi için msdn'de Durum ve Hata Kodları bölümüne bakın.

Durum Kodu 404 (Bulunamadı) Örnekleri

Bir kapsayıcıya veya bloba karşı okuma işlemi, blob veya kapsayıcı bulunamadığından başarısız olduğunda gerçekleşir.

  • Bu istek öncesinde bir kapsayıcı veya blob başka bir istemci tarafından silindiyse gerçekleşir.
  • Var olup olmadığını denetledikten sonra kapsayıcıyı veya blobu oluşturan bir API çağrısı kullanıyorsanız gerçekleşir. CreateIfNotExists API'leri, kapsayıcının veya blobun varlığını denetlemek için önce bir HEAD çağrısı yapar; yoksa 404 hatası döndürülür ve kapsayıcıyı veya blobu yazmak için ikinci bir PUT çağrısı yapılır.

Durum Kodu 409 (Çakışma) Örnekleri

  • Yeni bir kapsayıcı veya blob oluşturmak için önce var olup olmadığını denetlemeden bir CREATE API kullanırsanız ve bu ada sahip bir kapsayıcı veya blob zaten varsa gerçekleşir.
  • Bir kapsayıcı siliniyorsa ve silme işlemi tamamlanmadan önce aynı ada sahip yeni bir kapsayıcı oluşturmaya çalışırsanız gerçekleşir.
  • Bir kapsayıcı veya blob üzerinde kira belirtirseniz ve zaten bir kira varsa gerçekleşir.

Durum Kodu 412 (Önkoşul Başarısız) Örnekleri

  • Koşullu üst bilgi tarafından belirtilen koşul karşılanmadığında gerçekleşir.
  • Belirtilen kira kimliği kapsayıcı veya blob üzerindeki kira kimliğiyle eşleşmediğinde gerçekleşir.

Analiz için günlük dosyaları oluşturma

Bu öğreticide, üç farklı günlük dosyası türüyle çalışmak için İleti Çözümleyicisi'ni kullanacağız, ancak aşağıdakilerden herhangi biriyle çalışmayı seçebilirsiniz:

  • Azure Depolama günlüğünü etkinleştirdiğinizde oluşturulan sunucu günlüğü. Sunucu günlüğü blob, kuyruk, tablo ve dosya gibi Azure Depolama hizmetlerinden birine karşı çağrılan her işlemle ilgili verileri içerir. Sunucu günlüğü, hangi işlemin çağrıldığını ve hangi durum kodunun döndürüldiğini ve istek ve yanıt hakkındaki diğer ayrıntıları gösterir.
  • .NET uygulamanızın içinden istemci tarafı günlüğe kaydetmeyi etkinleştirdiğinizde oluşturulan .NET istemci günlüğü. İstemci günlüğü, istemcinin isteği nasıl hazırlayıp yanıtı alıp işlediği hakkında ayrıntılı bilgiler içerir.
  • Azure Depolama'ya yönelik işlemler de dahil olmak üzere HTTP/HTTPS istek ve yanıt verileriyle ilgili verileri toplayan HTTP ağ izleme günlüğü. Bu öğreticide, İleti Çözümleyicisi aracılığıyla ağ izlemesini oluşturacağız.

Sunucu tarafı günlüğünü ve ölçümlerini yapılandırma

İlk olarak Azure Depolama günlüğünü ve ölçümlerini yapılandırmamız gerekir, böylece analiz etmek için hizmet tarafından veri alacağız. Günlüğü ve ölçümleri çeşitli yollarla yapılandırabilirsiniz: Azure portal aracılığıyla, PowerShell'i kullanarak veya program aracılığıyla. Günlüğü ve ölçümleri yapılandırma hakkında ayrıntılı bilgi için bkz. Ölçümleri etkinleştirme ve Günlüğü etkinleştirme .

.NET istemci tarafı günlüğünü yapılandırma

Bir .NET uygulaması için istemci tarafı günlüğü yapılandırmak için uygulamanın yapılandırma dosyasında (web.config veya app.config) .NET tanılamasını etkinleştirin. Ayrıntılar için bkz. .NET Depolama İstemci Kitaplığı ile İstemci Tarafı Günlüğü ve MSDN'de Java için Microsoft Azure Depolama SDK ile İstemci Tarafı Günlüğü.

İstemci tarafı günlüğü, istemcinin isteği nasıl hazırlayıp yanıtı alıp işlediği hakkında ayrıntılı bilgiler içerir.

Depolama İstemci Kitaplığı, istemci tarafı günlük verilerini uygulamanın yapılandırma dosyasında belirtilen konumda (web.config veya app.config) depolar.

Ağ izlemesi toplama

İstemci uygulamanız çalışırken http/HTTPS ağ izlemesi toplamak için İleti Çözümleyicisi'ni kullanabilirsiniz. İleti Çözümleyicisi arka uçta Fiddler kullanır. Ağ izlemesini toplamadan önce Fiddler'ı şifrelenmemiş HTTPS trafiğini kaydedecek şekilde yapılandırmanızı öneririz:

  1. Fiddler'ı yükleyin.
  2. Fiddler'ı başlatın.
  3. Araçlar |'ı seçin Fiddler Seçenekleri.
  4. Seçenekler iletişim kutusunda, aşağıda gösterildiği gibi HTTPS ARALIKLARINI YAKALA ve HTTPS Trafiğinin Şifresini Çöz'ün seçili olduğundan emin olun.

Fiddler Seçeneklerini Yapılandırma

Öğretici için önce İleti Çözümleyicisi'nde bir ağ izlemesini toplayın ve kaydedin, ardından izleme ve günlükleri analiz etmek için bir analiz oturumu oluşturun. İleti Çözümleyicisi'nde bir ağ izlemesi toplamak için:

  1. İleti Çözümleyicisi'nde Dosya | öğesini seçin Hızlı İzleme | Şifrelenmemiş HTTPS.

  2. İzleme hemen başlar. İzlemeyi durdur'u seçerek izlemeyi yalnızca depolama trafiğini izlemek üzere yapılandırabiliriz.

  3. İzleme oturumunu düzenlemek için Düzenle'yi seçin.

  4. Microsoft-Pef-WebProxy ETW sağlayıcısının sağındaki Yapılandır bağlantısını seçin.

  5. Gelişmiş Ayarlar iletişim kutusunda Sağlayıcı sekmesine tıklayın.

  6. Konak Adı Filtresi alanında, depolama uç noktalarınızı boşluklarla ayırarak belirtin. Örneğin, uç noktalarınızı aşağıdaki gibi belirtebilirsiniz; depolama hesabınızın adına değiştirin storagesample :

    storagesample.blob.core.windows.net storagesample.queue.core.windows.net storagesample.table.core.windows.net

  7. İzlemeye yalnızca Azure Depolama ağ trafiğinin dahil olması için, iletişim kutusundan çıkın ve ana bilgisayar adı filtresiyle izlemeyi toplamaya başlamak için Yeniden Başlat'a tıklayın.

Not

Ağ izlemenizi toplamayı tamamladıktan sonra, HTTPS trafiğinin şifresini çözmek için Fiddler'da değiştirmiş olabileceğiniz ayarları geri döndürmenizi kesinlikle öneririz. Fiddler Seçenekleri iletişim kutusunda HTTPS CONNECTs Yakala ve HTTPS Trafiğinin Şifresini Çöz onay kutularının seçimini kaldırın.

Daha fazla ayrıntı için bkz. Technet'te Ağ İzleme Özelliklerini Kullanma .

Azure portal ölçüm verilerini gözden geçirme

Uygulamanız belirli bir süre çalıştırıldıktan sonra, hizmetinizin performansını gözlemlemek için Azure portal görüntülenen ölçüm grafiklerini gözden geçirebilirsiniz.

İlk olarak, Azure portal depolama hesabınıza gidin. Varsayılan olarak, hesap dikey penceresinde Başarı yüzdesi ölçümünü içeren bir izleme grafiği görüntülenir. Grafiği daha önce farklı ölçümleri görüntüleyecek şekilde değiştirdiyseniz Başarı yüzdesi ölçümünü ekleyin.

Şimdi, eklemiş olabileceğiniz diğer ölçümlerle birlikte izleme grafiğinde Başarı yüzdesini göreceksiniz. Daha sonra İleti Çözümleyicisi'ndeki günlükleri analiz ederek araştıracağımız senaryoda başarı yüzdesi oranı %100'ün biraz altındadır.

Ölçüm grafiklerini ekleme ve özelleştirme hakkında daha fazla ayrıntı için bkz. Ölçüm grafiklerini özelleştirme.

Not

Depolama ölçümlerini etkinleştirdikten sonra ölçüm verilerinizin Azure portal gösterilmesi biraz zaman alabilir. Bunun nedeni, geçerli saat geçene kadar önceki saat için saatlik ölçümlerin Azure portal görüntülenmemesidir. Ayrıca, dakika ölçümleri şu anda Azure portal görüntülenmez. Bu nedenle ölçümleri ne zaman etkinleştirdiğinize bağlı olarak ölçüm verilerinin görülmesi iki saate kadar sürebilir.

Sunucu günlüklerini yerel bir dizine kopyalamak için AzCopy kullanma

Azure Depolama, sunucu günlük verilerini bloblara yazarken ölçümler tablolara yazılır. Günlük blobları, depolama hesabınız için iyi bilinen $logs kapsayıcıda kullanılabilir. Günlük blobları yıla, aya, güne ve saate göre hiyerarşik olarak adlandırılır, böylece araştırmak istediğiniz zaman aralığını kolayca bulabilirsiniz. Örneğin hesapta storagesample , 02.01.2015 için 08-9 arası günlük bloblarının kapsayıcısı şeklindedir https://storagesample.blob.core.windows.net/$logs/blob/2015/01/08/0800. Bu kapsayıcıdaki tek tek bloblar, ile 000000.logbaşlayarak sıralı olarak adlandırılır.

Bu sunucu tarafı günlük dosyalarını yerel makinenizde istediğiniz bir konuma indirmek için AzCopy komut satırı aracını kullanabilirsiniz. Örneğin, 2 Ocak 2015'te gerçekleşen blob işlemlerinin günlük dosyalarını klasörüne C:\Temp\Logs\Serverindirmek için aşağıdaki komutu kullanabilirsiniz; değerini depolama hesabınızın adıyla değiştirin <storageaccountname> :

azcopy copy 'http://<storageaccountname>.blob.core.windows.net/$logs/blob/2015/01/02' 'C:\Temp\Logs\Server'  --recursive

AzCopy, Azure İndirmeleri sayfasından indirilebilir. AzCopy kullanma hakkında ayrıntılı bilgi için bkz . AzCopy Command-Line Yardımcı Programı ile veri aktarma.

Sunucu tarafı günlüklerini indirme hakkında ek bilgi için bkz. Depolama Günlüğü günlük verilerini indirme.

Günlük verilerini çözümlemek için Microsoft Message Analyzer'ı kullanma

Microsoft Message Analyzer, sorun giderme ve tanılama senaryolarında protokol mesajlaşma trafiğini, olaylarını ve diğer sistem veya uygulama iletilerini yakalamak, görüntülemek ve analiz etmek için kullanılan bir araçtır. İleti Çözümleyicisi ayrıca günlük ve kaydedilen izleme dosyalarındaki verileri yüklemenizi, toplamanızı ve analiz etmenizi sağlar. İleti Çözümleyicisi hakkında daha fazla bilgi için bkz. Microsoft Message Analyzer İşletim Kılavuzu.

İleti Çözümleyicisi, sunucu, istemci ve ağ günlüklerini analiz etmeye yardımcı olan Azure Depolama varlıkları içerir. Bu bölümde, depolama günlüklerinde düşük başarı yüzdesi sorununu gidermek için bu araçların nasıl kullanılacağını ele alacağız.

İleti Çözümleyicisi'ni ve Azure Depolama Varlıklarını indirme ve yükleme

  1. İleti Çözümleyicisi'ni indirin.
  2. İleti Çözümleyicisi'ni başlatın.
  3. Araçlar menüsünde Varlık Yöneticisi'ni seçin. Varlık Yöneticisi iletişim kutusunda İndirmeler'i seçin, ardından Azure Depolama'yı filtreleyin. Aşağıdaki resimde gösterildiği gibi Azure Depolama Varlıkları'nı görürsünüz.
  4. Azure Depolama Varlıklarını yüklemek için Görüntülenen Tüm Öğeleri Eşitle'ye tıklayın. Kullanılabilir varlıklar şunlardır:
    • Azure Depolama Renk Kuralları: Azure Depolama renk kuralları, bir izlemede belirli bilgiler içeren iletileri vurgulamak için renk, metin ve yazı tipi stilleri kullanan özel filtreler tanımlamanızı sağlar.
    • Azure Depolama Grafikleri: Azure Depolama grafikleri, sunucu verilerini günlüğe kaydeden önceden tanımlanmış grafiklerdir. Şu anda Azure Depolama grafiklerini kullanmak için sunucu oturumunu yalnızca Analysis Grid'e yükleyebilirsiniz.
    • Azure Depolama Ayrıştırıcıları: Azure Depolama ayrıştırıcıları Azure Depolama istemcisini, sunucusunu ve HTTP günlüklerini Ayrıştırarak Analysis Grid'de görüntüler.
    • Azure Depolama Filtreleri: Azure Depolama filtreleri, Analysis Grid'de verilerinizi sorgulamak için kullanabileceğiniz önceden tanımlanmış ölçütlerdir.
    • Azure Depolama Görünümü Düzenleri: Azure Depolama görünümü düzenleri Analysis Grid'de önceden tanımlanmış sütun düzenleri ve gruplandırmalardır.
  5. Varlıkları yükledikten sonra İleti Çözümleyicisi'ni yeniden başlatın.

İleti Çözümleyicisi Varlık Yöneticisi

Not

Bu öğreticinin amaçları doğrultusunda gösterilen tüm Azure Depolama varlıklarını yükleyin.

Günlük dosyalarınızı İleti Çözümleyicisi'ne aktarma

Kaydedilen tüm günlük dosyalarınızı (sunucu tarafı, istemci tarafı ve ağ) analiz için Microsoft Message Analyzer'da tek bir oturuma aktarabilirsiniz.

  1. Microsoft İleti Çözümleyicisi'ndeki Dosya menüsünde Yeni Oturum'a ve ardından Boş Oturum'a tıklayın. Yeni Oturum iletişim kutusunda analiz oturumunuz için bir ad girin. Oturum Ayrıntıları panelinde Dosyalar düğmesine tıklayın.
  2. İleti Çözümleyicisi tarafından oluşturulan ağ izleme verilerini yüklemek için Dosya Ekle'ye tıklayın, web izleme oturumunuzda .matp dosyanızı kaydettiğiniz konuma gidin, .matp dosyasını seçin ve Aç'a tıklayın.
  3. Sunucu tarafı günlük verilerini yüklemek için Dosya Ekle'ye tıklayın, sunucu tarafı günlüklerinizi indirdiğiniz konuma gidin, çözümlemek istediğiniz zaman aralığı için günlük dosyalarını seçin ve Aç'a tıklayın. Ardından, Microsoft Message Analyzer'ın günlük dosyasını doğru ayrıştırabilmesini sağlamak için Oturum Ayrıntıları panelinde her sunucu tarafı günlük dosyası için Metin Günlüğü Yapılandırması açılan listesini AzureStorageLog olarak ayarlayın.
  4. İstemci tarafı günlük verilerini yüklemek için Dosya Ekle'ye tıklayın, istemci tarafı günlüklerinizi kaydettiğiniz konuma gidin, çözümlemek istediğiniz günlük dosyalarını seçin ve Aç'a tıklayın. Ardından , Microsoft Message Analyzer'ın günlük dosyasını doğru ayrıştırabilmesini sağlamak için Oturum Ayrıntıları panelinde her istemci tarafı günlük dosyası için Metin Günlüğü Yapılandırması açılan listesini AzureStorageClientDotNetV4 olarak ayarlayın.
  5. Günlük verilerini yüklemek ve ayrıştırmak için Yeni Oturum iletişim kutusunda Başlat'a tıklayın. Günlük verileri İleti Çözümleyicisi Analysis Grid'de görüntülenir.

Aşağıdaki resimde sunucu, istemci ve ağ izleme günlük dosyalarıyla yapılandırılmış örnek bir oturum gösterilmektedir.

İleti Çözümleyicisi Oturumlarını Yapılandırma

İleti Çözümleyicisi'nin günlük dosyalarını belleğe yüklediğini unutmayın. Büyük bir günlük veri kümeniz varsa, İleti Çözümleyicisi'nden en iyi performansı elde etmek için verileri filtrelemek istersiniz.

İlk olarak, gözden geçirmek istediğiniz zaman dilimini belirleyin ve bu zaman dilimini olabildiğince küçük tutun. Çoğu durumda, en fazla dakika veya saat aralığını gözden geçirmek istersiniz. gereksinimlerinizi karşılayabilecek en küçük günlük kümesini içeri aktarın.

Hala büyük miktarda günlük verileriniz varsa, günlük verilerinizi yüklemeden önce filtrelemek için bir oturum filtresi belirtmek isteyebilirsiniz. Oturum Filtresi kutusunda Kitaplık düğmesini seçerek önceden tanımlanmış bir filtre seçin; örneğin, bir zaman aralığına göre filtrelemek için Azure Depolama filtrelerinden Genel Zaman Filtresi I'yi seçin. Ardından, görmek istediğiniz aralığın başlangıç ve bitiş zaman damgasını belirtmek için filtre ölçütlerini düzenleyebilirsiniz. Ayrıca belirli bir durum koduna göre filtreleyebilirsiniz; örneğin, yalnızca durum kodunun 404 olduğu günlük girdilerini yüklemeyi seçebilirsiniz.

Günlük verilerini Microsoft Message Analyzer'a aktarma hakkında daha fazla bilgi için bkz. TechNet'te İleti Verilerini Alma .

Günlük dosyası verilerini ilişkilendirmek için istemci istek kimliğini kullanma

Azure Depolama İstemci Kitaplığı her istek için otomatik olarak benzersiz bir istemci istek kimliği oluşturur. Bu değer istemci günlüğüne, sunucu günlüğüne ve ağ izlemesine yazılır, böylece İleti Çözümleyicisi'nin içindeki üç günlükte de verileri ilişkilendirmek için kullanabilirsiniz. İstemci istek kimliği hakkında ek bilgi için bkz. İstemci istek kimliği.

Aşağıdaki bölümlerde, istemci istek kimliğine göre verileri ilişkilendirmek ve gruplandırmak için önceden yapılandırılmış ve özel düzen görünümlerinin nasıl kullanılacağı açıklanmaktadır.

Analysis Grid'de görüntülenecek görünüm düzenini seçme

İleti Çözümleyicisi için Depolama Varlıkları, verilerinizi farklı senaryolar için yararlı gruplandırmalar ve sütunlarla görüntülemek için kullanabileceğiniz önceden yapılandırılmış görünümler olan Azure Depolama Görünümü Düzenlerini içerir. Ayrıca özel görünüm düzenleri oluşturabilir ve bunları yeniden kullanmak üzere kaydedebilirsiniz.

Aşağıdaki resimde, araç çubuğu şeridinden Görünüm Düzeni'ni seçerek kullanılabilen Görünüm Düzeni menüsü gösterilmektedir. Azure Depolama için görünüm düzenleri, menüdeki Azure Depolama düğümü altında gruplandırılır. Yalnızca Azure Depolama görünümü düzenlerini filtrelemek için Azure Storage arama kutusunda arama yapabilirsiniz. Ayrıca görünüm düzeninin yanındaki star seçerek sık kullanılanlara ekleyebilir ve menünün en üstünde görüntüleyebilirsiniz.

Görünüm Düzeni menüsü

Başlangıç olarak ClientRequestID ve Module ile Gruplandır'ı seçin. Bu görünüm düzeni, üç günlükteki günlük verilerini önce istemci istek kimliğine, ardından kaynak günlük dosyasına (veya İleti Çözümleyicisi'ndeki Modüle ) göre gruplar. Bu görünümle, belirli bir istemci istek kimliğinde detaya gidebilir ve bu istemci istek kimliği için üç günlük dosyasındaki verileri görebilirsiniz.

Aşağıdaki resimde örnek günlük verilerine uygulanan bu düzen görünümü gösterilir ve sütunların bir alt kümesi görüntülenir. Analysis Grid'in belirli bir istemci istek kimliği için istemci günlüğünden, sunucu günlüğünden ve ağ izlemesinden verileri görüntülediğini görebilirsiniz.

Azure Depolama Görünüm Düzeni

Not

Farklı günlük dosyalarının farklı sütunları vardır, bu nedenle Analysis Grid'de birden çok günlük dosyasından veriler görüntülendiğinde bazı sütunlar belirli bir satır için veri içermeyebilir. Örneğin, yukarıdaki resimde, istemci günlük satırları Zaman Damgası, ZamanElapsed, Kaynak ve Hedef sütunları için herhangi bir veri göstermez, çünkü bu sütunlar istemci günlüğünde yoktur, ancak ağ izlemesinde yoktur. Benzer şekilde , Zaman Damgası sütunu sunucu günlüğünden zaman damgası verilerini görüntüler, ancak sunucu günlüğünün parçası olmayan TimeElapsed, Source ve Destination sütunları için hiçbir veri görüntülenmez.

Azure Depolama görünümü düzenlerini kullanmanın yanı sıra kendi görünüm düzenlerinizi de tanımlayabilir ve kaydedebilirsiniz. Verileri gruplandırma için diğer istenen alanları seçebilir ve gruplandırma işlemini özel düzeninizin bir parçası olarak kaydedebilirsiniz.

Analysis Grid'e renk kuralları uygulama

Depolama Varlıkları, Analysis Grid'deki farklı hata türlerini tanımlamaya yönelik görsel araçlar sunan renk kurallarını da içerir. Önceden tanımlanmış renk kuralları HTTP hatalarına uygulanır, bu nedenle bunlar yalnızca sunucu günlüğü ve ağ izlemesi için görünür.

Renk kuralları uygulamak için araç çubuğu şeridinden Renk Kuralları'nı seçin. Menüde Azure Depolama renk kurallarını görürsünüz. Öğretici için, aşağıdaki resimde gösterildiği gibi İstemci Hataları (400 ile 499 arasında StatusCode) öğesini seçin.

Azure Depolama Görünüm Düzeni

Azure Depolama renk kurallarını kullanmanın yanı sıra kendi renk kurallarınızı da tanımlayabilir ve kaydedebilirsiniz.

400 aralıklı hataları bulmak için günlük verilerini gruplandırma ve filtreleme

Ardından, 400 aralığındaki tüm hataları bulmak için günlük verilerini gruplandırıp filtreleyeceğiz.

  1. Analysis Grid'de StatusCode sütununu bulun, sütun başlığına sağ tıklayın ve Grup'u seçin.

  2. Ardından ClientRequestId sütununda gruplandırın. Analysis Grid'deki verilerin artık durum koduna ve istemci istek kimliğine göre düzenlendiğini göreceksiniz.

  3. Zaten görüntülenmediyse Filtreyi Görüntüle araç penceresini görüntüleyin. Araç çubuğu şeridinde Araç Pencereleri'ni ve ardından Filtreyi Görüntüle'yi seçin.

  4. Günlük verilerini yalnızca 400 aralıklı hataları görüntüleyecek şekilde filtrelemek için, Filtreyi Görüntüle penceresine aşağıdaki filtre ölçütlerini ekleyin ve Uygula'ya tıklayın:

    (AzureStorageLog.StatusCode >= 400 && AzureStorageLog.StatusCode <=499) || (HTTP.StatusCode >= 400 && HTTP.StatusCode <= 499)

Aşağıdaki resimde bu gruplandırma ve filtrenin sonuçları gösterilmektedir. Örneğin, durum kodu 409 için gruplandırma altındaki ClientRequestID alanının genişletilmesi, bu durum koduyla sonuçlanan bir işlemi gösterir.

Azure Depolama Görünüm Düzeni

Bu filtreyi uyguladıktan sonra istemci günlüğünde StatusCode sütunu olmadığından istemci günlüğündeki satırların dışlandığını görürsünüz. Başlangıç olarak, 404 hatalarını bulmak için sunucu ve ağ izleme günlüklerini gözden geçireceğiz ve ardından istemci günlüğüne dönüp bunlara yol açan istemci işlemlerini inceleyeceğiz.

Not

StatusCode sütununa filtre ekleyebilir ve durum kodunun null olduğu günlük girdilerini içeren filtreye bir ifade eklerseniz istemci günlüğü de dahil olmak üzere üç günlükteki verileri görüntüleyebilirsiniz. Bu filtre ifadesini oluşturmak için şunu kullanın:

*StatusCode >= 400 or !*StatusCode

Bu filtre, istemci günlüğündeki tüm satırları ve yalnızca durum kodunun 400'den büyük olduğu sunucu günlüğü ve HTTP günlüğündeki satırları döndürür. Bunu istemci istek kimliğine ve modülüne göre gruplandırılmış görünüm düzenine uygularsanız, üç günlüğün de temsil edildiği günlük girişlerini bulmak için günlük girdilerinde arama yapabilir veya gezinebilirsiniz.

404 hatalarını bulmak için günlük verilerini filtreleme

Depolama Varlıkları, aradığınız hataları veya eğilimleri bulmak üzere günlük verilerini daraltmak için kullanabileceğiniz önceden tanımlanmış filtreler içerir. Ardından, önceden tanımlanmış iki filtre uygulayacağız: biri sunucu ve ağ izleme günlüklerine 404 hataları için filtre uygulayan, diğeri de belirli bir zaman aralığındaki verileri filtreleyen filtre.

  1. Zaten görüntülenmediyse Filtreyi Görüntüle araç penceresini görüntüleyin. Araç çubuğu şeridinde Araç Pencereleri'ni ve ardından Filtreyi Görüntüle'yi seçin.

  2. Filtreyi Görüntüle penceresinde Kitaplık'ı seçin ve Azure Depolama filtrelerini bulmak için arama Azure Storage yapın. Tüm günlüklerde 404 (Bulunamadı) ileti filtresini seçin.

  3. Kitaplık menüsünü yeniden görüntüleyin ve Genel Saat Filtresi'ni bulup seçin.

  4. Filtrede gösterilen zaman damgalarını görüntülemek istediğiniz aralıkla düzenleyin. Bu, analiz edilecek veri aralığını daraltmaya yardımcı olur.

  5. Filtreniz aşağıdaki örneğe benzer şekilde görünmelidir. Filtreyi Analysis Grid'e uygulamak için Uygula'ya tıklayın.

    ((AzureStorageLog.StatusCode == 404 || HTTP.StatusCode == 404)) And (#Timestamp >= 2014-10-20T16:36:38 and #Timestamp <= 2014-10-20T16:36:39)

    Azure Depolama Görünüm Düzeni

Günlük verilerinizi analiz etme

Artık verilerinizi gruplandırdığınıza ve filtrelediğinize göre, 404 hataları oluşturan tek tek isteklerin ayrıntılarını inceleyebilirsiniz. Geçerli görünüm düzeninde veriler istemci istek kimliğine ve ardından günlük kaynağına göre gruplandırılır. StatusCode alanının 404 içerdiği isteklere göre filtreleme yaptığımızdan, istemci günlük verilerini değil yalnızca sunucu ve ağ izleme verilerini göreceğiz.

Aşağıdaki resimde Blob Alma işleminin blob mevcut olmadığından 404'lüğü gösterdiği belirli bir istek gösterilmektedir. İlgili verileri görüntülemek için bazı sütunların standart görünümden kaldırıldığını unutmayın.

Filtrelenmiş Sunucu ve Ağ İzleme Günlükleri

Ardından, hata oluştuğunda istemcinin hangi eylemleri gerçekleştirdiğini görmek için bu istemci istek kimliğini istemci günlük verileriyle ilişkilendireceğiz. İstemci günlük verilerini görüntülemek için bu oturum için yeni bir Analysis Grid görünümü görüntüleyebilirsiniz ve bu görünüm ikinci bir sekmede açılır:

  1. İlk olarak ClientRequestId alanının değerini panoya kopyalayın. Bunu yapmak için iki satırdan birini seçip ClientRequestId alanını bulun, veri değerine sağ tıklayın ve Kopyala 'ClientRequestId' seçeneğini belirleyin.

  2. Araç çubuğu şeridinde Yeni Görüntüleyici'yi ve ardından Analysis Grid'i seçerek yeni bir sekme açın. Yeni sekme gruplandırma, filtreleme veya renk kuralları olmadan günlük dosyalarınızdaki tüm verileri gösterir.

  3. Araç çubuğu şeridinde Düzeni Görüntüle'yi ve ardından Azure Depolama bölümünün altında Tüm .NET İstemci Sütunları'nı seçin. Bu görünüm düzeni, istemci günlüğünün yanı sıra sunucu ve ağ izleme günlüklerindeki verileri gösterir. Varsayılan olarak MessageNumber sütununda sıralanır.

  4. Ardından istemci günlüğünde istemci istek kimliğini arayın. Araç çubuğu şeridinde İletileri Bul'u seçin, ardından Bul alanında istemci istek kimliğinde özel bir filtre belirtin. Filtre için kendi istemci istek kimliğinizi belirterek bu söz dizimini kullanın:

    *ClientRequestId == "398bac41-7725-484b-8a69-2a9e48fc669a"

İleti Çözümleyicisi, arama ölçütlerinin istemci istek kimliğiyle eşleştiği ilk günlük girdisini bulur ve seçer. İstemci günlüğünde, her istemci istek kimliği için birkaç girdi vardır, bu nedenle tümünü birlikte görmeyi kolaylaştırmak için bunları ClientRequestId alanında gruplandırmak isteyebilirsiniz. Aşağıdaki resimde, belirtilen istemci istek kimliği için istemci günlüğündeki tüm iletiler gösterilir.

404 hatalarını gösteren istemci günlüğü

Bu iki sekmedeki görünüm düzenlerinde gösterilen verileri kullanarak, hataya neyin neden olmuş olabileceğini belirlemek için istek verilerini analiz edebilirsiniz. Önceki bir olayın 404 hatasına yol açmış olup olmadığını görmek için bundan önceki isteklere de bakabilirsiniz. Örneğin, blob'un silinmiş olup olmadığını veya hatanın bir kapsayıcı veya blob üzerinde CreateIfNotExists API'sini çağıran istemci uygulamasından kaynaklanıp kaynaklanmadığını belirlemek için bu istemci istek kimliğinden önceki istemci günlüğü girişlerini gözden geçirebilirsiniz. İstemci günlüğünde, blob'un adresini Açıklama alanında bulabilirsiniz; bu bilgiler, sunucu ve ağ izleme günlüklerinde Özet alanında görünür.

404 hatasını veren blobun adresini bildiğinizde daha fazla araştırma yapabilirsiniz. Aynı blob üzerindeki işlemlerle ilişkili diğer iletiler için günlük girdilerinde arama yaparsanız, istemcinin varlığı daha önce silip silmediğini de kontrol edebilirsiniz.

Diğer depolama hata türlerini analiz etme

Artık günlük verilerinizi analiz etmek için İleti Çözümleyicisi'ni kullanmaya alıştığınız için görünüm düzenlerini, renk kurallarını ve arama/filtrelemeyi kullanarak diğer hata türlerini analiz edebilirsiniz. Aşağıdaki tablolarda karşılaşabileceğiniz bazı sorunlar ve bunları bulmak için kullanabileceğiniz filtre ölçütleri listelenmiştir. Filtre oluşturma ve İleti Çözümleyicisi filtreleme dili hakkında daha fazla bilgi için bkz. İleti Verilerini Filtreleme.

Araştırmak için... Filtre İfadesi Kullan... İfade Günlük için Geçerlidir (İstemci, Sunucu, Ağ, Tümü)
Kuyrukta ileti tesliminde beklenmeyen gecikmeler AzureStorageClientDotNetV4.Description "Başarısız işlemi yeniden deneme" ifadesini içerir. İstemci
PercentThrottlingError'da HTTP Artışı HTTP. Response.StatusCode == 500 || HTTP. Response.StatusCode == 503
PercentTimeoutError'da Artış HTTP. Response.StatusCode == 500
PercentTimeoutError'da Artış (tümü) *StatusCode == 500 Tümü
PercentNetworkError'da Artış AzureStorageClientDotNetV4.EventLogEntry.Level < 2 İstemci
HTTP 403 (Yasak) iletileri HTTP. Response.StatusCode == 403
HTTP 404 (Bulunamadı) iletileri HTTP. Response.StatusCode == 404
404 (tümü) *StatusCode == 404 Tümü
Paylaşılan Erişim İmzası (SAS) yetkilendirme sorunu AzureStorageLog.RequestStatus == "SASAuthorizationError"
HTTP 409 (Çakışma) iletileri HTTP. Response.StatusCode == 409
409 (tümü) *StatusCode == 409 Tümü
Düşük PercentSuccess veya analiz günlüğü girişlerinde ClientOtherErrors işlem durumuna sahip işlemler vardır AzureStorageLog.RequestStatus == "ClientOtherError" Sunucu
Nagle Uyarısı ((AzureStorageLog.EndToEndLatencyMS - AzureStorageLog.ServerLatencyMS) > (AzureStorageLog.ServerLatencyMS * 1.5)) and (AzureStorageLog.RequestPacketSize <1460) ve (AzureStorageLog.EndToEndLatencyMS - AzureStorageLog.ServerLatencyMS >= 200) Sunucu
Sunucu ve Ağ günlüklerindeki zaman aralığı >#Timestamp = 2014-10-20T16:36:38 ve #Timestamp <= 2014-10-20T16:36:39 Sunucu, Ağ
Sunucu günlüklerindeki zaman aralığı AzureStorageLog.Timestamp >= 2014-10-20T16:36:38 ve AzureStorageLog.Timestamp <= 2014-10-20T16:36:39 Sunucu

Sonraki adımlar

Azure Depolama'da uçtan uca senaryolarda sorun giderme hakkında daha fazla bilgi için şu kaynaklara bakın: