Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Ş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 belirlemenin bir yolunu 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ığınız sürece. 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 Uygulaması Hizmeti'nde 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 "failure" tanımını sağlarsınız. Neden 404.2 hata iletileri aldığınızı veya isteğin kilitlenmeye 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üğünün dosya semantiğini yapılandırma.
- Hata tanımları ve izlenecek alanlar da dahil olmak üzere başarısız istek izlemelerinin tutulacağı URL'nin tanımlanması.
- Hata durumu oluşturuluyor ve sonuçta elde edilen iz izleniyor.
Önkoşullar
IIS yükleme
Bu makaledeki görevleri gerçekleştirebilmeniz için önce IIS 7 veya üzerini yüklemeniz gerekir. IIS'nin http://localhost/ yüklü olup olmadığını görmek için göz atın. 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
- İzleme (World Wide Web Hizmetleri 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 yerine getirmeden önce yapılandırmanın yedeğini oluşturmanız gerekir.
Yapılandırmanın yedeğini almak için şu adımları izleyin:
Başlat>Tüm Programlar>Donatılar seçin.
Komut İstemi'ne sağ tıklayın ve yönetici olarak çalıştır'ı seçin.
Komut isteminde aşağıdaki komutu çalıştırın:
%windir%\system32\inetsrv\appcmd add backup cleanInstall
Örnek içerik oluşturma
Şuraya gidin:
%systemdrive%\inetpub\wwwrootİçeriği güvenli bir konuma taşıyın (mevcut içeriği geri yüklemek istiyorsanız) veya silin.
Boş bir dosya oluşturun ve test.asp olarak adlandırlayın.
Komut isteminde \inetpub\wwwroot içindeki test.asp dosyasına gidin.
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
İnternet Bilgi Hizmetleri (IIS) Yöneticisini açın.
ISAPI ve CGI Kısıtlamaları'ne çift tıklayın.
Etkin Sunucu Sayfaları'nu seçin. Eylemler bölmesinde, ASP'yi devre dışı bırakmak için Reddet'i seçin.
Başarısız İstek İzlemeyi etkinleştirin
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
Yönetici kullanıcı haklarıyla bir komut istemi açın ve %systemdrive%\windows\system32\inetsrv adresine gidin.
KOMUTUNU çalıştırarak
inetmgrIIS Yöneticisi'nin açılmasını sağlayın.Bağlantılar bölmesinde makine adını genişletin, Siteler'i genişletin ve ardından Varsayılan Web Sitesi'ni seçin.
Eylemler bölmesinde, Yapılandır altında Başarısız İstek İzleme'yi seçin.
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.
Tamam'ı seçin.
Başarısız İstek İzleme kaydı 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ı, iz sürülecek alanlar da dahil olmak üzere yapılandıracaksınız. 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.
Yönetici kullanıcı haklarıyla bir komut istemi açın ve %systemdrive%\windows\system32\inetsrv adresine gidin.
KOMUTUNU çalıştırarak
inetmgrIIS Yöneticisi'nin açılmasını sağlayın.Bağlantılar bölmesinde makine adını genişletin, Siteler'i genişletin ve ardından Varsayılan Web Sitesi'ni seçin.
Başarısız İstek İzleme Kuralları'na çift tıklayın.
Bitir'i seçin.
Eylemler bölmesinde Ekle'yi seçin.
Başarısız İstek İzleme Kuralı Ekle sihirbazında, İzlenecek İçeriği Belirt sayfasında Tüm içerik (*) i seçin. İleri'yi seçin.
İzleme Koşullarını Tanımla sayfasında Durum kodları onay kutusunu seçin ve izlenecek durum kodu olarak 404.2 girin.
İleri'yi seçin.
İzleme Sağlayıcılarını Seç sayfasında, 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 iz hatası olayının oluşmasına neden oluyor. Genel olarak, kimlik doğrulaması 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.
Bitir'i seçin. Varsayılan Web Sitesi için aşağıdaki tanımı görmeniz gerekir:
IIS Yöneticisi, bir %windir%\system32\inetsrv\config\applicationHost.config etiket kullanarak yapılandırmayı <location> dosyasına 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
Yeni bir Internet Explorer penceresi açın.
Şu adresi girin:
http://localhost/test.asp."HTTP Hatası 404.2 - Bulunamadı" hatası alıyorsunuz.
2. Adım: Hata isteği günlük dosyasını görüntüleme
Başarısız bir istek oluşturduğunuzda, yönetici kullanıcı haklarıyla bir komut istemi açın ve %systemdrive%\inetpub\logs\FailedReqLogFiles\W3SVC1 dizinine gidin.
start komutunu çalıştırarak dizinden bir Internet Explorer penceresi açın.
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. Freb.xsl stil sayfası da dizin başına bir tane olmak üzere yazılır. Bu, sonuçta elde edilen hata talep günlük dosyalarını (bu örnekte fr000001.xml gibi) görüntülediğinizde yardımcı olur.
404.2 hatası için günlük dosyasına sağ tıklayın ve Birlikte Aç>Internet Explorer'ı 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. Bu durumda aşağıdakileri görürsünüz:
Internet Explorer iletişim kutusunda Ekle... öğesini seçerek güvenilen siteler listesine about:internet ekleyin. Bu, XSL'nin çalışmasını sağlar. about:internet öğesini güvenilen siteler listesine ekledikten sonra aşağıdakileri görürsünüz:
Başarısız isteğin özeti üst kısımda günlüğe kaydedilir ve Hatalar ve Uyarılar tablosu, Önem Derecesinde UYARI, 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.
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 eklemediğini unutmayın. Ayrıca bunu kolayca 404 olarak değiştirebilir veya failureDefinitions içinde timeTaken alanını ayarlayarak istek 30 saniyeden uzun sürüyorsa 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