Bagikan melalui


Http Tracing <httpTracing>

Gambaran Umum

Elemen ini <httpTracing> memungkinkan Anda mengonfigurasi pelacakan peristiwa berbasis permintaan selektif untuk permintaan IIS yang masuk. <httpTracing><traceUrls> berisi elemen , yang berisi kumpulan <add> elemen. Setiap <add> elemen menentukan URL unik untuk mengaktifkan pelacakan.

Catatan

Pelacakan Peristiwa untuk Windows (ETW) adalah fasilitas pelacakan berkecepatan tinggi tujuan umum yang disediakan oleh sistem operasi. Menggunakan mekanisme buffering dan pengelogan yang diterapkan dalam kernel, ETW menyediakan mekanisme pelacakan untuk peristiwa yang diangkat oleh aplikasi mode pengguna dan driver perangkat mode kernel. Selain itu, ETW memberi Anda kemampuan untuk mengaktifkan dan menonaktifkan pengelogan secara dinamis, sehingga mudah untuk melakukan pelacakan terperinci di lingkungan produksi tanpa memerlukan boot ulang atau mulai ulang aplikasi. Mekanisme pengelogan menggunakan buffer per prosesor yang ditulis ke disk oleh utas penulis asinkron. Ini memungkinkan aplikasi server skala besar untuk menulis peristiwa dengan gangguan minimum.

Catatan

Untuk mengaktifkan ETW berbasis permintaan IIS, instal TracingModule.

Secara default, IIS memancarkan peristiwa ETW berbasis permintaan untuk semua URL melalui penyedia IIS: WWW Server dengan GUID {3A2A4E84-4C21-4981-AE10-3FDA0D9B0F83} (informasi terperinci dapat ditemukan dalam <traceProviderDefinitions> elemen ). Untuk mengaktifkan filter URL untuk ETW yang ditentukan oleh <traceUrls> koleksi di bawah <httpTracing> elemen , bit pertama (paling tidak signifikan) dari bendera pelacakan harus diatur sebagai 1 saat menjalankan sesi ETW. Misalnya, untuk mengaktifkan peristiwa ETW berbasis permintaan IIS HANYA untuk URL yang dikonfigurasi dalam <traceUrls> koleksi, atur bendera pelacakan ke 0xFFFFFFFF untuk sesi ETW dengan penyedia IIS: WWW Server. Bendera pelacakan tersebut memungkinkan filter URL serta semua area pelacakan. Untuk mengaktifkan peristiwa yang sama untuk semua URL, atur bendera pelacakan ke 0xFFFFFFE sebagai gantinya.

Catatan

Filter URL yang <traceUrls> ditentukan dalam koleksi di bawah <httpTracing> elemen hanya memengaruhi ETW berbasis permintaan IIS dan tidak berdampak pada pelacakan permintaan yang gagal.

Kompatibilitas

Versi Catatan
IIS 10.0 Elemen <httpTracing> tidak dimodifikasi di IIS 10.0.
IIS 8.5 Elemen <httpTracing> tidak dimodifikasi di IIS 8.5.
IIS 8.0 Elemen <httpTracing> tidak dimodifikasi di IIS 8.0.
IIS 7.5 Elemen <httpTracing> tidak dimodifikasi dalam IIS 7.5.
IIS 7.0 Elemen <httpTracing> ini diperkenalkan di IIS 7.0.
IIS 6.0 T/A

Siapkan

Elemen <httpTracing> ini disertakan dalam penginstalan default IIS 7.

Bagaimana Caranya

Tidak ada antarmuka pengguna untuk <httpTracing> elemen untuk IIS 7. Untuk contoh cara mengakses <httpTracing> elemen secara terprogram, lihat bagian Sampel Kode dari dokumen ini.

Konfigurasi

Anda dapat mengonfigurasi <httpTracing> elemen di tingkat server dalam file ApplicationHost.config, atau di tingkat situs, aplikasi, atau direktori dalam file Web.config.

Atribut

Tidak ada.

Elemen Anak

Elemen Deskripsi
traceUrls Elemen opsional.

Menentukan URL yang ingin Anda aktifkan pelacakan ETW berbasis permintaan.

Sampel Konfigurasi

Contoh berikut akan mengaktifkan pelacakan untuk halaman beranda sampel yang dikirim dengan IIS 7 ketika ditempatkan dalam file Web.config di akar Situs Web Default.

<configuration>
   <system.webServer>
      <httpTracing>
         <traceUrls>
            <add value="/iisstart.htm" />
         </traceUrls>
      </httpTracing>
   </system.webServer>
</configuration>

Kode Sampel

Contoh berikut memungkinkan pelacakan untuk beranda sampel yang dikirim dengan IIS 7 di situs Web bernama Contoso dengan menambahkan entri ke kumpulan untuk situs tersebut <traceUrls> .

AppCmd.exe

appcmd.exe set config "Contoso" -section:system.webServer/httpTracing /+"traceUrls.[value='/iisstart.htm']" /commit:apphost

Catatan

Anda harus memastikan untuk mengatur parameter penerapan ke apphost saat Anda menggunakan AppCmd.exe untuk mengonfigurasi pengaturan ini. Ini menerapkan pengaturan konfigurasi ke bagian lokasi yang sesuai dalam file ApplicationHost.config.

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetApplicationHostConfiguration();
         ConfigurationSection httpTracingSection = config.GetSection("system.webServer/httpTracing", "Contoso");
         ConfigurationElementCollection traceUrlsCollection = httpTracingSection.GetCollection("traceUrls");

         ConfigurationElement addElement = traceUrlsCollection.CreateElement("add");
         addElement["value"] = @"/iisstart.htm";
         traceUrlsCollection.Add(addElement);

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample
   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration
      Dim httpTracingSection As ConfigurationSection = config.GetSection("system.webServer/httpTracing", "Contoso")

      Dim traceUrlsCollection As ConfigurationElementCollection = httpTracingSection.GetCollection("traceUrls")
      Dim addElement As ConfigurationElement = traceUrlsCollection.CreateElement("add")
      addElement("value") = "/iisstart.htm"
      traceUrlsCollection.Add(addElement)

      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var httpTracingSection = adminManager.GetAdminSection("system.webServer/httpTracing", "MACHINE/WEBROOT/APPHOST/Contoso");

var traceUrlsCollection = httpTracingSection.ChildElements.Item("traceUrls").Collection;
var addElement = traceUrlsCollection.CreateNewElement("add");
addElement.Properties.Item("value").Value = "/iisstart.htm";
traceUrlsCollection.AddElement(addElement);

adminManager.CommitChanges();

Vbscript

Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set httpTracingSection = adminManager.GetAdminSection("system.webServer/httpTracing", "MACHINE/WEBROOT/APPHOST/Contoso")

Set traceUrlsCollection = httpTracingSection.ChildElements.Item("traceUrls").Collection
Set addElement = traceUrlsCollection.CreateNewElement("add")
addElement.Properties.Item("value").Value = "/iisstart.htm"
traceUrlsCollection.AddElement addElement

adminManager.CommitChanges()