Aracılığıyla paylaş


IIS 8.5'te izlemeyi kullanarak başarısız isteklerle ilgili sorunları giderme

Şunlar için geçerlidir: Internet Information Services 8.5

Giriş

İstek tabanlı izleme hem tek başına IIS Sunucularında hem de Microsoft Azure Web Sitelerinde (WAWS) kullanılabilir. Karşılaştığınız sorunu yeniden oluşturabiliyorsanız, İstek tabanlı izleme isteklerinizde tam olarak ne olduğunu ve neden olduğunu saptamak için bir yol sağlar. Bazı isteklerde düşük performans, diğer isteklerde kimlik doğrulamasıyla ilgili hatalar veya ASP veya ASP.NET sunucu 500 hatası gibi sorunlar, oluştuğunda sorunun izini yakalamadığınız sürece genellikle sorun gidermesi zor olabilir. Bu makalede IIS Sunucusunda Başarısız İstek İzleme açıklanır. Bunu Microsoft Azure Web Siteleri ile yapma hakkında bilgi için bkz. Visual Studio kullanarak Azure App Service'da uygulama sorunlarını giderme.

Başarısız İstek İzleme, bir isteğin izleme olaylarını arabelleğe almak ve yalnızca istek başarısız olursa diske boşaltmak için tasarlanmıştır; burada hata tanımını sağlarsınız. İsteklerinizin neden belirli bir HTTP durum kodunu (örneğin, 401 veya 404) döndürdüğünü veya bir isteğin işlenmesinin zaman aldığını veya yanıt vermediğini öğrenmek istiyorsanız Başarısız İstek İzleme'yi kullanabilirsiniz.

Bu makalede açıklanan görevler şunlardır:

  • Başarısız İstek İzleme modülünü etkinleştirme.
  • Başarısız İstek İzleme günlük dosyası semantiğini yapılandırma.
  • Hata tanımları ve izleyebileceğiniz alanlar da dahil olmak üzere başarısız istek izlemelerinin tutulacak URL'sini tanımlama.
  • Hata koşulu oluşturuluyor ve sonuçta elde edilen izleme görüntüleniyor.

Önkoşullar

IIS yükleme

Bu makalede açıklanan görevleri gerçekleştirmeden önce IIS 8.5'i yükleyin. http://localhost/ Internet Information Services giriş ekranının görüntülendiğini bulun ve doğrulayın. IIS yüklü değilse yükleme yönergeleri için bkz. Windows Server 2012 R2'ye IIS 8.5'i yükleme. IIS'yi yüklerken aşağıdaki özellikleri de yüklediğinizden emin olun:

  • ASP.NET 3.5 ( Web Sunucusu (IIS)/Web Sunucusu/Uygulama Geliştirme Özellikleri/ASP.NET 3.5 altında)
  • ASP.NET 4.5 ( Web Sunucusu (IIS)/Web Sunucusu/Uygulama Geliştirme Özellikleri/ASP.NET 4.5 altında)
  • İzleme ( Web Sunucusu (IIS)/Web Sunucusu/Sistem Durumu ve Tanılama - İzleme altında)

Yönetici olarak oturum açın

Oturum açmak için kullandığınız hesabın yönetici hesabı olduğundan veya yöneticiler grubunda olduğundan emin olun.

Not

Yöneticiler grubunda olmak size varsayılan olarak tam yönetici kullanıcı hakları vermez. Uygulama simgesine sağ tıklayıp Yönetici olarak çalıştır'ı seçerek uygulamaları yönetici olarak çalıştırmanız gerekir.

Yedek oluşturma

Aşağıdaki görevleri gerçekleştirmeden önce yapılandırma dosyalarını yedekleyin:

  1. Windows logo tuşunu ve X tuşunu aynı anda seçin, Komut İstemi (Yönetici) öğesini ve ardından Evet'i seçin.

    Windows görev çubuğundaki Komut İstemi Yönetici ekran görüntüsü.

  2. Komut isteminde aşağıdaki komutu çalıştırın:

    %windir%\system32\inetsrv\appcmd add backup cleanInstall
    

    Bu komut, %windir%\system32\inetsrv\backup içinde yedekleme yapılandırma dosyalarını içeren bir cleanInstall klasörü oluşturur.

Örnek içerik oluşturma

  1. %systemdrive%\inetpub\wwwroot konumuna gidin.

  2. İçeriği güvenli bir konuma taşıyın (mevcut içeriği geri yüklemek istemeniz durumunda) veya silin.

  3. Boş bir dosya oluşturun ve test.asp olarak adlandırlayın.

  4. Komut isteminde \inetpub\wwwrootiçindeki test.asp dosyasına gidin.

  5. test.asp dosyasına aşağıdaki içeriği yapıştırın:

    <h2>Failed Request Tracing Lab</h2><br>
    <br>Today's date is <% response.write(Date()) %>
    

ASP'yi devre dışı bırakma

Bu görev için ASP devre dışı bırakılmalıdır. ASP yalnızca örnek olarak ve bu makaledeki görevlerin amaçları doğrultusunda devre dışı bırakılmıştır.

ASP'yi devre dışı bırakmak için şu adımları izleyin:

  1. IIS Yöneticisi'ni açın ve sunucuyu seçin.

  2. ISAPI ve CGI Kısıtlamaları'ne çift tıklayın.

    I S A P I ve C G I Kısıtlamaları'nın seçili olduğunu gösteren I I S Manager bölmesinin ekran görüntüsü.

  3. ISAPI ve CGI Kısıtlamaları bölmesinde Etkin Sunucu Sayfaları'nı seçin. Eylemler bölmesinde, ASP'yi devre dışı bırakmak için Reddet'i seçin. Etkin Sunucu Sayfaları İzin Verilmiyor olarak gösterilir.

    Etkin Sunucu Sayfalarının seçili olarak görüntülendiği I S A P I ve C G I Kısıtlamaları bölmesinin ekran görüntüsü. Eylemler bölmesinde Reddet seçeneği seçilidir.

Başarısız İstek İzlemeyi Etkinleştirme

Başarısız İstek İzleme'yi etkinleştirdikten sonra günlük dosyalarının yolunu yapılandırmanız gerekir. Bu bölümde, varsayılan web sitesi için Başarısız İstek İzleme'yi etkinleştirecek, günlük dosyalarının depolanacağı yeri belirtecek ve ardından hata günlüklerinin oluşturulacağı hatayı yapılandıracaksınız.

1. Adım: Site için Başarısız İstek İzleme'yi etkinleştirme ve günlük dosyası dizinini yapılandırma

  1. Yönetici kullanıcı haklarıyla bir komut istemi açın ve %systemdrive%\windows\system32\inetsrv adresine gidin.

  2. KOMUTUNU çalıştırarak inetmgr IIS Yöneticisi'nin açılmasını sağlayın.

  3. Connections bölmesinde makine adını genişletin, Siteler'i genişletin ve ardından Varsayılan Web Sitesi'ni seçin.

  4. Eylemler bölmesindeki Yapılandır'ın altında Başarısız İstek İzleme... öğesini seçin.

    Yapılandır sekmesinin altında Başarısız İstek İzleme seçeneğini gösteren Eylemler bölmesinin ekran görüntüsü.

  5. Web Sitesi Başarısız İstek İzleme Ayarlarını Düzenle iletişim kutusunda aşağıdakileri yapılandırın:

    • Etkinleştir onay kutusunu seçin.
    • Diğer ayarlar için varsayılan değerleri koruyun.

    Dizin alanını dolduran komut ve Etkinleştir onay kutusunun seçili olduğu Web Sitesi Başarısız İstek İzleme Ayarlarını Düzenle iletişim kutusunu gösteren ekran görüntüsü.

  6. Tamam'ı seçin.

    Başarısız İstek İzleme günlüğü artık Varsayılan Web Sitesi için etkinleştirildi. Yapılandırmanın aşağıdaki gibi göründüğünü onaylamak için %windir%\system32\inetsrv\config\applicationHost.config dosyasını denetleyin:

    <system.applicationHost>
       <!-- other system configuration --> 
       <sites> 
          <site name="Default Web Site" id="1"> 
             <!-- other site configuration --> 
             <traceFailedRequestsLogging  enabled="true" /> 
          </site> 
          <!-- site & app defaults --> 
          <!-- other sites configuration --> 
       </sites> 
       <!-- other system configuration --> 
    </system.applicationHost>
    

2. Adım: Hata tanımlarınızı yapılandırma

Bu adımda, url'nizin hata tanımlarını, iz sürülecek alanlar da dahil olmak üzere yapılandırın. Henüz etkinleştirilmemiş uzantılara yönelik istekler için IIS tarafından döndürülen 404.2 durum kodunun sorunlarını giderebilirsiniz. Hangi uzantıları etkinleştirmeniz gerektiğini belirlemenize yardımcı olur. Daha fazla bilgi için bkz. IIS'de HTTP durum kodları.

  1. Yönetici kullanıcı haklarıyla bir komut istemi açın ve %systemdrive%\windows\system32\inetsrv adresine gidin.

  2. KOMUTUNU çalıştırarak inetmgr IIS Yöneticisi'nin açılmasını sağlayın.

  3. Connections bölmesinde makine adını genişletin, Siteler'i genişletin ve ardından Varsayılan Web Sitesi'ni seçin.

  4. Başarısız İstek İzleme Kuralları'ne çift tıklayın.

    Başarısız İstek İzleme Kuralları özelliğinin seçili olduğunu gösteren Varsayılan Web Sitesi Giriş bölmesinin ekran görüntüsü.

  5. Eylemler bölmesinde Ekle...'yi seçin.

  6. Başarısız İstek İzleme Kuralı Ekle sihirbazında, İzlemek için İçerik Belirtin sayfasında Tüm içerik (*) öğesini ve ardından İleri'yi seçin.

    Başarısız İstek İzleme Kuralı Ekleme Sihirbazı'nı gösteren ekran görüntüsü. İzlemek için İçerik Belirt sayfasında tüm içerik seçeneği belirlenir.

  7. İzleme Koşullarını Tanımla sayfasında Durum kodları onay kutusunu seçin ve iz eklenecek durum kodu olarak 404.2 girin.

    durum kodu olarak girilen İzleme Koşullarını Tanımla sayfasını ve 404 nokta 2'yi gösteren Başarısız İstek İzleme Kuralı Ekle'nin ekran görüntüsü.

  8. İleri'yi seçin.

  9. İzleme Sağlayıcılarını Seç sayfasındaki Sağlayıcılar'ın altında WWW Sunucusu onay kutusunu seçin ve diğer tüm onay kutularını temizleyin. Alanlar'ın altında Güvenlik onay kutusunu seçin ve diğer tüm onay kutularını temizleyin.

    Oluşturduğunuz sorun, bir güvenlik hatası izleme olayının oluşturulmasına neden oluyor. Genel olarak, kimlik doğrulama ve yetkilendirme (ISAPI kısıtlama listesi sorunları dahil) sorunları, izleme için WWW Sunucusu - Güvenlik alanı yapılandırması kullanılarak tanılanabilir. Ancak FREB.xsl stil sayfası hataları ve uyarıları vurgulamanıza yardımcı olduğundan, tüm alanlarda ve sağlayıcılarda tüm olayları günlüğe kaydetmek için varsayılan yapılandırmayı kullanmaya devam edebilirsiniz.

  10. Ayrıntı'nın altında Ayrıntılı'yı seçin.

    Not

    İzleme rolü hizmetini yüklediğinizde, IIS varsayılan olarak WWW Sunucusu, ASP ve ISAPI Uzantısı izleme sağlayıcılarını yükler. ASP.NET 2.0 veya üzerini yüklerseniz IIS, ASPNET izleme sağlayıcısını otomatik olarak ekler. Ek sağlayıcılar, URL Yeniden Yazma modülünü, Web Grubu Yönetimi'ni ve Dış Önbelleği de yükleyen Uygulama İsteği Yönlendirme (ARR) yükleyici paketi tarafından yüklenir. öğesi içindeki <traceProviderDefinitions> öğesini kullanarak <add> daha fazla izleme sağlayıcısı ekleyebilirsiniz.

    Sağlayıcılar listesinden WWW Sunucusu'nun ve Alanlar menüsünden Güvenlik'in seçildiğini gösteren Başarısız İstek İzleme Kuralı Ekleme Sihirbazı'nın ekran görüntüsü.

  11. Bitir'iseçin.

  12. Varsayılan Web Sitesi için aşağıdaki tanımı görürsünüz:

    İlişkili Sağlayıcı ve 404 nokta 2'de Durum Kodu olarak girilen WWW Sunucusu'nu gösteren Başarısız İstek İzleme Kuralları sayfasının ekran görüntüsü.

    IIS Yöneticisi, yapılandırmayı bir <location> etiket kullanarak dosyaya %systemdrive%\inetpub\wwwroot\web.config yazar. Yapılandırma aşağıdakileri yeniden başlatmalıdır:

    <configuration> 
        <system.webServer> 
            <tracing> 
                <traceFailedRequests> 
                    <add path="*"> 
                        <traceAreas> 
                            <add provider="WWW Server" areas="Security" verbosity="Verbose" /> 
                        </traceAreas> 
                        <failureDefinitions statusCodes="404.2" /> 
                    </add> 
                </traceFailedRequests> 
            </tracing> 
        </system.webServer> 
    </configuration>
    

Hata isteği günlük dosyasını test edin ve görüntüleyin

Bu bölüm, başarısız bir istek oluşturmanıza ve sonuçta elde edilen izleme günlüğünü görüntülemenize yardımcı olur. IIS'yi, 404.2 HTTP yanıt koduyla başarısız olan isteklerin izleme günlüklerini http://localhost/*.asp yakalayacak şekilde zaten yapılandırmıştınız. Şimdi çalıştığını doğrulayın.

1. Adım: Hata ve hata isteği günlük dosyası oluşturma

  1. Yeni bir Internet Explorer penceresi açın.

  2. yazın http://localhost/test.asp ve ENTER tuşuna basın. "HTTP Hatası 404.2 - Bulunamadı" hata iletisi görüntülenir.

    H T P Hatası 404 nokta 2 tire Bulunamadı ileti sayfasını gösteren Internet Explorer penceresinin ekran görüntüsü.

2. Adım: Hata isteği günlük dosyasını görüntüleme

  1. Başarısız bir istek oluşturduğunuza göre, Windows Gezgini'ni açın ve %systemdrive%\inetpub\logs\FailedReqLogFiles\W3SVC1 konumuna gidin.

    Başarısız Req Günlük Dosyaları dizinindeki W 3 S V C 1 klasörünün ekran görüntüsü.

    Not

    IIS başarısız istek günlük dosyasını yazdığında, başarısız istek başına bir dosya yazar. Dizin başına bir freb.xsl stil sayfası da yazılır. Bu, sonuçta elde edilen hata isteği günlük dosyalarını (örneğin, bu örnektekifr000001.xml ) görüntülediğinizde yardımcı olur.

  2. 404.2 hatası için günlük dosyasına sağ tıklayın ve ->Internet Explorerile Aç'ı seçin. Başarısız İstek İzleme dosyasını ilk kez açıyorsanız, Internet Explorer'ın Gelişmiş Güvenlik Yapılandırması varsayılan olarak etkinleştirildiğinden, güvenilen siteler listesine about:internet eklemeniz gerekir. Öyleyse, aşağıdakileri görürsünüz:

    Web sitesi içeriği engellendiğinde sorulmaya devam et seçeneğinin belirlenildiği Internet Explorer iletişim kutusunun ekran görüntüsü.

  3. Internet Explorer iletişim kutusunda, aşağıdaki adımları izleyerek about:internet öğesini güvenilen siteler listesine ekleyin:

    1. Araçlar menüsünü ve ardından İnternet Seçenekleri'ni seçin.
    2. Güvenlik sekmesini seçin.
    3. Güvenilen Bölge'yi ve ardından Siteler'i seçin.
    4. Bu, XSL'nin çalışmasını sağlar.
  4. Güvenilen siteler listesine about:internet ekledikten sonra bir İstek Özeti sayfası görürsünüz:

    Önem Derecesi, Olay ve modül Adı sütunlarını görüntüleyen Hatalar ve Uyarılar tablosunun gösterildiği İstek Özeti sayfasının ekran görüntüsü.

    Başarısız isteğin özeti en üstte günlüğe kaydedilir ve Hatalar & Uyarılar tablosu , ERRORveya CRITICAL ERROR önem derecesinde olan olayları WARNINGtanımlar. Bu örnekte önem WARNING düzeyi ISAPI KISITLAMASINDAN kaynaklanır. Yüklemeye çalıştığınız görüntü %windir%\system32\inetsrv\asp.dll.

  5. Ham XML dosyasını bir metin düzenleyicisi kullanarak doğrudan açın ve olayın içeriğine bakın.

Özet

İki görevi tamamladınız: IIS'nin 404.2 durum koduyla döndürdüğü isteklerin izlemelerini yakalamak için Başarısız İstek İzleme'yi yapılandırma ve IIS'nin isteğinizin izlemesini yakaladığını doğrulama. Ayrıcafreb.xml günlük dosyasının 404.2 dönüş koduna sahip istekler dışında herhangi bir istek içermediğini de doğruladınız. Hata günlük dosyasına başvurduğunuzda, hatanın nedeninin uzantının bu istek için devre dışı bırakılması olduğunu belirlediniz. HTML olmayan diğer sayfaları (.gif veya .jpg dosyaları gibi) deneyebilir ve günlük dosyasının bu izlemeleri eklemediğini unutmayın. Ayrıca bu olayı kolayca 404 olarak değiştirebilir veya isteğin 30 saniyeden uzun sürmesi durumunda failureDefinitions içinde timeTaken alanını ayarlayarak hatayı yakalayabilirsiniz.

Yedeklemenizi geri yükleme

Bu makaledeki görevleri tamamladığınıza göre, yapılandırmanın yedeğini geri yükleyebilirsiniz. Yönetici kullanıcı haklarıyla aşağıdaki komutu çalıştırın:

%windir%\system32\inetsrv\appcmd restore backup cleanInstall