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()
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk