Aracılığıyla paylaş


IIS 7'de izlemeyi kullanarak başarısız isteklerin sorunlarını giderme

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

Not

Bu makale IIS 7.0 için geçerlidir. Daha yeni sürümler için bkz. IIS 8.5'te izlemeyi kullanarak başarısız istekleri giderme.

İstek tabanlı izleme hem tek başına IIS sunucularında hem de Azure web uygulamalarında kullanılabilir ve karşılaştığınız sorunu yeniden oluşturabiliyorsanız isteklerinizde tam olarak neler olduğunu ve neden olduğunu saptamak için bir yol sağlar. Bazı isteklerde düşük performans veya diğer isteklerde kimlik doğrulamasıyla ilgili hatalar ya da ASP veya ASP.NET sunucu 500 hatası gibi sorunların giderilmesi genellikle zor olabilir; sorun oluştuğunda sorunun izini yakalamadıysanız. Bu makalede IIS Sunucusunda Başarısız İstek İzleme açıklanır. Bunu Azure web uygulamalarıyla 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 ve burada "failure" tanımını sağlarsınız. Neden 404.2 hata iletileri aldığınızı veya isteğin yanıt vermemeye başladığını öğrenmek istiyorsanız Başarısız İstek İzleme'yi kullanın.

Bu makalede gösterilen 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 makaledeki görevleri yerine getirebilmeniz için önce IIS 7 veya üzerini yüklemeniz gerekir. IIS'nin http://localhost/ yüklü olup olmadığını görmek için adresine gidin. IIS yüklü değilse yükleme yönergeleri için bkz . Windows Server 2008'de IIS yükleme . IIS'yi yüklerken aşağıdaki özellikleri de yüklediğinizden emin olun:

  • ASP.NET ( World Wide Web Services - Uygulama Geliştirme Özellikleri - ASP.NET altında)
  • İzleme ( World Wide Web Hizmetleri - 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. Uygulamaları yönetici olarak çalıştırmanız gerekir. Bunu uygulama simgesine sağ tıklayıp Yönetici olarak çalıştır'ı seçerek yapabilirsiniz.

Yedek oluşturma

Aşağıdaki bölümlerde yer alan görevleri gerçekleştirmeden önce yapılandırmanın yedeğini oluşturmanız gerekir.

Yapılandırmanın yedeğini almak için şu adımları izleyin:

  1. Tüm Programlar Donatılarını Başlat'ı>> seçin.

  2. Komut İstemi'ne sağ tıklayın ve yönetici olarak çalıştır'ı seçin.

    Yönetici olarak çalıştır'ın seçili olduğu Komut İstemi bağlam menüsünü gösteren ekran görüntüsü.

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

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

Örnek içerik oluşturma

  1. %systemdrive%\inetpub\wwwroot'a 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

  1. Internet Information Services (IIS) Yöneticisi'ne gidin.

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

    I A P I ve C G I Kısıtlamaları'nın seçili olduğu I I S Yöneticisi'ni gösteren ekran görüntüsü.

  3. Etkin Sunucu Sayfaları'nu seçin. Eylemler bölmesinde, ASP'yi devre dışı bırakmak için Reddet'i seçin.

    I S A P I ve C G I Kısıtlamaları ve Eylemleri bölmesinin açık olduğunu gösteren ekran görüntüsü.

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

Başarısız İstek İzleme'yi etkinleştirdikten sonra günlük dosyalarının nerede bulunacağını yapılandırmanız gerekir. Bu görevde, Varsayılan Web Sitesi için Başarısız İstek İzleme'yi etkinleştirecek ve günlük dosyalarının nereye yerleştirileceğini belirteceksiniz. 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 İzlemeyi 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'yi seçin.

    Yapılandır'ın altında Başarısız İstek İzleme'yi gösteren 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.

    Etkinleştir'in 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>
   <sites> 
      <!-- site & app defaults --> 
      <site name="Default Web Site" id="1"> 
         <!-- other site configuration --> 
         <traceFailedRequestsLogging  enabled="true" /> 
      </site> 
   </sites> 
</system.applicationHost>

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

Bu adımda, url'nizin hata tanımlarını yapılandıracak ve izlemeniz gereken alanlar da dahil olacak. Henüz etkinleştirilmemiş uzantılara yönelik istekler için IIS tarafından döndürülen 404.2 sorunlarını gidereceksiniz. Bu, hangi uzantıları etkinleştirmeniz gerektiğini belirlemenize yardımcı olur.

  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.

    Varsayılan Web Sitesi Giriş bölmesini gösteren ve Başarısız İstek İzleme Kuralları'nın seçildiğini gösteren ekran görüntüsü.

  5. Bitir'iseçin.

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

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

    Tüm içerik seçiliyken Başarısız İstek İzleme Kuralı Ekle sihirbazını gösteren ekran görüntüsü.

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

    İzleme Koşullarını Tanımla sayfasını gösteren ekran görüntüsü. Durum kodu, Durum kodu alanında 404 nokta 2 ile seçilir.

  9. İleri'yi seçin.

  10. İzleme Sağlayıcılarını Seç sayfasındaki Sağlayıcılar'ın altında WWW Sunucusu onay kutusunu seçin. 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. Ayrıntı'nın altında Ayrıntılı'yı seçin.

    İzleme Sağlayıcılarını Seç sayfasını gösteren ekran görüntüsü. W W W Sunucusu Sağlayıcılar'ın altında, Güvenlik ise Ayrıntılı'nın altında seçilir.

  11. Bitir'iseçin. Varsayılan Web Sitesi için aşağıdaki tanımı görmeniz gerekir:

    Başarısız İstek İzleme Kuralları bölmesini gösteren ekran görüntüsü. W W W Sunucusu, İlişkili Sağlayıcılar altında listelenir.

IIS Yöneticisi, yapılandırmayı bir <location> etiket kullanarak dosyaya %windir%\system32\inetsrv\config\applicationHost.config yazar. Yapılandırma aşağıdaki gibi görünmelidir:

<location path="Default Web Site"> 
    <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> 
</location>

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

Bu görevde, başarısız bir istek oluşturacak ve sonuçta elde edilen izleme günlüğünü görüntüleyebileceksiniz. 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. Şu adresi girin: http://localhost/test.asp.

  3. "HTTP Hatası 404.2 - Bulunamadı" hatası alıyorsunuz.

    Uygulama Varsayılan Web Sitesinde Sunucu Hatası başlıklı bir web sayfasını gösteren ekran görüntüsü. Hata Özeti'nin altında H T T P Hatası 404 nokta 2 Bulunamadı yazıyor.

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, yönetici kullanıcı haklarıyla bir komut istemi açın ve %systemdrive%\inetpub\logs\FailedReqLogFiles\W3SVC1 adresine gidin.

  2. Dizinden bir Internet Explorer penceresi başlatmak için start komutunu çalıştırın.

    W 3 S V C 1 yoluna giden Internet Explorer'ı gösteren ekran görüntüsü. İki dosya listelenir: freb ve f r 0 0 0 0 0 1.

  3. Burada birkaç şeye dikkat edin: 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.

  4. 404.2 hatasının günlük dosyasına sağ tıklayın veInternet 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:

    Internet Explorer Artırılmış Güvenlik Yapılandırması iletişim kutusunu gösteren ekran görüntüsü. İki nokta üst üste interneti hakkında engellendi.

  5. Internet Explorer iletişim kutusunda Ekle... öğesini seçerek güvenilen siteler listesine about:internet ekleyin. Bu, XSL'nin çalışmasını sağlar. şunu ekledikten sonra şunları görürsünüz: güvenilen siteler listesine about:internet :

    Internet Explorer'ı gösteren ekran görüntüsü. İstek Özeti sekmesi seçilidir ve iki uyarı listelenir.

    Başarısız isteğin özeti en üstte günlüğe kaydedilir ve Hatalar & Uyarılar tablosu ÖNEM DerecesindeUYARI, HATA veya KRİtİk HATA olan tüm olayları tanımlar. Bu örnekte UYARI önem düzeyi ISAPI KISITLAMASINDAN kaynaklanır. Yüklemeye çalıştığınız görüntü %windir%\system32\inetsrv\asp.dll.

  6. Ham XML dosyasını bir metin düzenleyicisi kullanarak doğrudan açın ve her 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ırdı ve IIS'nin isteğinizin izlemesini yakaladığını doğruladınız. ayrıca ,freb.xml günlük dosyasının, isteklerin 404.2 dönüş kodu olmadığından, yaptığınız istekler için başka istek içermediğini de doğruladınız. Hata günlük dosyasına danıştığınızda, 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 EKLEMEDİĞİne dikkat edin. Ayrıca bunu 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