Bagikan melalui


Mengonfigurasi dan Memulai Sesi AutoLogger

Sesi pelacakan peristiwa AutoLogger merekam peristiwa yang terjadi di awal proses boot sistem operasi. Aplikasi dan driver perangkat dapat menggunakan sesi AutoLogger untuk mengambil jejak sebelum pengguna masuk. Perhatikan bahwa beberapa driver perangkat, seperti driver perangkat disk, tidak dimuat pada saat sesi AutoLogger dimulai.

AutoLogger berbeda dari Global Logger dengan cara berikut:

  • Anda dapat menentukan satu atau beberapa sesi AutoLogger (Global Logger adalah sesi tunggal tempat semua orang mencatat peristiwa).
  • AutoLogger mengirimkan pemberitahuan aktifkan ke penyedia ketika sesi dimulai (Global Logger tidak mengirim pemberitahuan aktif ke penyedia, sehingga penyedia harus mengandalkan cara lain untuk mengetahui apakah sesi Global Logger dimulai untuk mulai mencatat peristiwa).
  • AutoLogger tidak mendukung pengelogan peristiwa NT Kernel Logger (lihat anggota EnableFlags dari EVENT_TRACE_PROPERTIES). Untuk mencatat peristiwa NT Kernel Logger, Anda harus menggunakan Global Logger.

Untuk informasi selengkapnya tentang seesion Global Logger, lihat Mengonfigurasi dan Memulai Sesi Pencatat Global.

Catatan

ETW mendukung AutoLogger di Windows Vista dan yang lebih baru. Gunakan Global Logger pada sistem operasi sebelumnya.

Anda menggunakan registri untuk mengonfigurasi sesi AutoLogger. Tambahkan kunci registri berikut, jika belum ada:

HKEY_LOCAL_MACHINE
   \SYSTEM
      \CurrentControlSet
         \Control
            \WMI
               \Autologger

Di bawah kunci Autologger , buat kunci untuk setiap sesi AutoLogger yang ingin Anda konfigurasi seperti yang ditunjukkan dalam contoh berikut.

HKEY_LOCAL_MACHINE
   \SYSTEM
      \CurrentControlSet
         \Control
            \WMI
               \Autologger
                  \Logger Session A
                  \Logger Session B
                  \Logger Session C

Untuk setiap sesi, buat kunci untuk setiap penyedia yang ingin Anda aktifkan ke sesi. Gunakan GUID penyedia sebagai kunci.

HKEY_LOCAL_MACHINE
   \SYSTEM
      \CurrentControlSet
         \Control
            \WMI
               \Autologger
                  \Logger Session A
                     \{ProviderGuid1}
                     \{ProviderGuid2}
                  \Logger Session B
                  \Logger Session C

Tabel berikut ini menjelaskan nilai yang bisa Anda tentukan untuk setiap sesi AutoLogger. Anda harus memiliki hak istimewa administrator untuk menentukan nilai registri ini. Nilai Mulai dan Guid adalah satu-satunya nilai yang diperlukan untuk memulai sesi AutoLogger; semua nilai lain memiliki pengaturan default yang digunakan jika nilai tidak ada di registri. Biasanya, Anda harus menggunakan nilai default. Jika Anda menentukan nilai yang tidak dapat didukung ETW, ETW akan mengambil alih nilai.

Value Jenis Deskripsi
BufferSize REG_DWORD Ukuran setiap buffer, dalam kilobyte. Harus kurang dari satu megabyte. ETW menggunakan ukuran memori fisik untuk menghitung nilai ini.
ClockType REG_DWORD Timer yang digunakan saat mencatat stempel waktu untuk setiap peristiwa.
  • 1 = Nilai penghitung kinerja (resolusi tinggi)
  • 2 = Timer sistem
  • 3 = Penghitung siklus CPU
Untuk deskripsi setiap jenis jam, lihat anggota ClientContext dari WNODE_HEADER.
Nilai defaultnya adalah 1 (nilai penghitung kinerja) pada Windows Vista dan yang lebih baru. Sebelum Windows Vista, nilai defaultnya adalah 2 (timer sistem).
DisableRealtimePersistence REG_DWORD Untuk menonaktifkan persistensi real time, atur nilai ini ke 1. Defaultnya adalah 0 (diaktifkan) untuk sesi real time.
Jika persistensi real time diaktifkan, peristiwa real-time yang tidak dikirimkan pada saat komputer dimatikan akan dipertahankan. Peristiwa kemudian akan dikirimkan kepada konsumen saat konsumen terhubung ke sesi berikutnya.
FileCounter REG_DWORD Jangan atur atau ubah nilai ini. Nilai ini adalah nomor seri yang digunakan untuk menaikkan nama file log jika FileMax ditentukan. Jika nilai tidak valid, 1 akan diasumsikan.
FileName REG_SZ Jalur file log yang sepenuhnya memenuhi syarat. Jalur ke file ini harus ada. File log adalah file log berurutan. Jalur dibatasi hingga 1024 karakter.
Jika FileName tidak ditentukan, peristiwa ditulis ke %SystemRoot%\System32\LogFiles\WMI< sessionname.etl>.
FileMax REG_DWORD Jumlah maksimum instans file log yang dibuat ETW. Jika file log yang ditentukan dalam FileName ada, ETW menambahkan nilai FileCounter ke nama file. Misalnya, jika nama file log default digunakan, formulirnya adalah %SystemRoot%\System32\LogFiles\WMI< sessionname.etl>. NNNN.
Pertama kali komputer dimulai, nama file adalah <sessionname.etl.0001>, kedua kalinya nama file adalah <sessionname.etl.0002>, dan sebagainya. Jika FileMax adalah 3, pada mulai ulang komputer keempat, ETW mengatur ulang penghitung ke 1 dan menimpa <sessionname.etl.0001>, jika ada.
Jumlah maksimum instans file log yang didukung adalah 16.
Jangan gunakan fitur ini dengan mode file log EVENT_TRACE_FILE_MODE_NEWFILE .
FlushTimer REG_DWORD Seberapa sering, dalam hitungan detik, pelacakan buffer dibersihkan secara paksa. Waktu flush minimum adalah 1 detik. Flush paksa ini selain flush otomatis yang terjadi ketika buffer penuh dan ketika sesi pelacakan berhenti.
Untuk kasus pencatat real-time, nilai nol (nilai default) berarti bahwa waktu flush akan diatur ke 1 detik. Pencatat real-time adalah ketika LogFileMode diatur ke EVENT_TRACE_REAL_TIME_MODE.
Nilai default adalah 0. Secara default, buffer dibersihkan hanya ketika penuh.
Guid REG_SZ String yang berisi GUID yang mengidentifikasi sesi secara unik. Nilai ini diperlukan.
LogFileMode REG_DWORD Tentukan satu atau beberapa mode log. Untuk nilai yang mungkin, lihat Konstanta Mode Pengelogan. Defaultnya adalah EVENT_TRACE_FILE_MODE_SEQUENTIAL. Alih-alih menulis ke file log, Anda dapat menentukan EVENT_TRACE_BUFFERING_MODE atau EVENT_TRACE_REAL_TIME_MODE.
Menentukan EVENT_TRACE_BUFFERING_MODE menghindari biaya pembilasan konten sesi ke disk ketika sistem file tersedia.
Perhatikan bahwa menggunakan EVENT_TRACE_BUFFERING_MODE akan menyebabkan sistem mengabaikan nilai MaximumBuffers , karena ukuran buffer adalah sebagai gantinya produk MinimumBuffers dan BufferSize.
Sesi AutoLogger tidak mendukung mode pengelogan EVENT_TRACE_FILE_MODE_NEWFILE .
Jika EVENT_TRACE_FILE_MODE_APPEND ditentukan, BufferSize harus disediakan secara eksplisit dan harus sama di pencatat dan file yang ditambahkan.
MaxFileSize REG_DWORD Ukuran file maksimum file log, dalam megabyte. Sesi ditutup ketika ukuran maksimum tercapai, kecuali Anda berada dalam mode file log melingkar. Untuk menentukan tanpa batas, atur nilai ke 0. Defaultnya adalah 100 MB, jika tidak diatur. Perilaku yang terjadi ketika ukuran file maksimum tercapai tergantung pada nilai LogFileMode.
MaximumBuffers REG_DWORD Jumlah maksimum buffer yang akan dialokasikan. Biasanya, nilai ini adalah jumlah minimum buffer ditambah dua puluh. ETW menggunakan ukuran buffer dan ukuran memori fisik untuk menghitung nilai ini. Nilai ini harus lebih besar dari atau sama dengan nilai untuk MinimumBuffers.
MinimumBuffers REG_DWORD Jumlah minimum buffer untuk dialokasikan saat startup. Jumlah minimum buffer yang dapat Anda tentukan adalah dua buffer per prosesor. Misalnya, pada satu komputer prosesor, jumlah minimum buffer adalah dua.
Mulai REG_DWORD Agar sesi AutoLogger dimulai lain kali komputer dimulai ulang, atur nilai ini ke 1; jika tidak, atur nilai ini ke 0.
Keadaan REG_DWORD Status pengaktifan AutoLogger. Jika AutoLogger gagal dimulai, nilai kunci ini adalah kode kesalahan Win32 yang sesuai. Jika AutoLogger berhasil dimulai, nilai kunci ini ERROR_SUCCESS (0).
Boot REG_DWORD Fitur ini tidak boleh digunakan di luar skenario penelusuran kesalahan.
Jika kunci registri ini diatur ke 1, autologger akan dimulai lebih awal dari normal selama inisialisasi kernel, memungkinkannya untuk menangkap peristiwa selama inisialisasi banyak subsistem kernel penting. Namun, mengaktifkan opsi ini memiliki dampak negatif pada waktu boot dan memberlakukan pembatasan tambahan pada autologger. Jika fitur ini diaktifkan, GUID sesi autologger harus diisi, dan banyak pengaturan autologger lainnya mungkin tidak berfungsi.
Kunci ini didukung pada Windows Server 2022 dan yang lebih baru.

Tabel berikut ini menjelaskan nilai yang bisa Anda tentukan untuk setiap penyedia yang ingin Anda aktifkan ke sesi Anda. Anda harus memiliki hak istimewa administrator untuk menentukan nilai registri ini. Jika Anda menentukan nilai yang tidak dapat didukung ETW, ETW akan mengambil alih nilai.

Value Jenis Deskripsi
Diaktifkan REG_DWORD Menentukan apakah penyedia diaktifkan. Untuk mengaktifkan penyedia, atur nilai ini ke 1. Untuk menonaktifkan penyedia, atur nilai ini ke 0. Defaultnya adalah 0.
EnableFlags REG_DWORD Nilai yang ditentukan penyedia yang menentukan kelas peristiwa tempat penyedia menghasilkan peristiwa. Untuk detailnya, lihat parameter EnableFlags dari fungsi EnableTrace . Tentukan nama nilai ini jika penyedia tidak mendukung MatchAnyKeyword atau MatchAllKeyword.
EnableLevel REG_DWORD Nilai yang ditentukan penyedia yang menentukan tingkat detail yang disertakan dalam peristiwa tersebut. Misalnya, Anda dapat menggunakan nilai ini untuk menunjukkan tingkat keparahan peristiwa (informasi, peringatan, kesalahan) yang dihasilkan penyedia. Untuk daftar tingkat yang telah ditentukan sebelumnya, lihat parameter tingkat fungsi EnableTraceEx.
EnableProperty REG_DWORD Gunakan nilai ini untuk menyertakan satu atau beberapa item berikut dalam file log:
  • EVENT_ENABLE_PROPERTY_SID (0x00000001) = Sertakan dalam data yang diperluas pengidentifikasi keamanan (SID) pengguna.
  • EVENT_ENABLE_PROPERTY_TS_ID (0x00000002) = Sertakan dalam data yang diperluas pengidentifikasi sesi terminal.
  • EVENT_ENABLE_PROPERTY_STACK_TRACE (0x00000004) = Sertakan dalam data yang diperluas pelacakan tumpukan panggilan untuk peristiwa yang ditulis menggunakan EventWrite.
  • EVENT_ENABLE_PROPERTY_IGNORE_KEYWORD_0 (0x00000010) = Memfilter semua peristiwa yang tidak memiliki kata kunci bukan nol yang ditentukan.
  • EVENT_ENABLE_PROPERTY_PROVIDER_GROUP (0x00000020) = Menunjukkan bahwa panggilan ke EnableTraceEx2 ini harus mengaktifkan Grup Penyedia daripada Penyedia Peristiwa individual.
  • EVENT_ENABLE_PROPERTY_PROCESS_START_KEY (0x00000080) = Sertakan Kunci Mulai Proses dalam data yang diperluas.
  • EVENT_ENABLE_PROPERTY_EVENT_KEY (0x00000100) = Sertakan Kunci Peristiwa dalam data yang diperluas.
  • EVENT_ENABLE_PROPERTY_EXCLUDE_INPRIVATE (0x00000200) = Memfilter semua peristiwa yang ditandai sebagai peristiwa InPrivate atau berasal dari proses yang ditandai sebagai InPrivate.
Untuk informasi selengkapnya tentang item ini, lihat EnableProperty dari struktur ENABLE_TRACE_PARAMETERS .
MatchAnyKeyword REG_QWORD Bitmask kata kunci yang menentukan kategori peristiwa yang Anda inginkan untuk ditulis oleh penyedia. Penyedia menulis peristiwa jika salah satu bit kata kunci peristiwa cocok dengan salah satu bit yang diatur dalam masker ini. Untuk menentukan bahwa penyedia menulis semua peristiwa, atur nilai ini ke nol. Misalnya, lihat bagian Keterangan dari fungsi EnableTraceEx.
MatchAllKeyword REG_QWORD Bitmask ini bersifat opsional. Masker ini selanjutnya membatasi kategori peristiwa yang Anda inginkan untuk ditulis oleh penyedia. Jika kata kunci peristiwa memenuhi kondisi MatchAnyKeyword , penyedia akan menulis peristiwa hanya jika semua bit dalam masker ini ada di kata kunci peristiwa. Masker ini tidak digunakan jika MatchAnyKeyword adalah nol. Misalnya, lihat bagian Keterangan dari fungsi EnableTraceEx.

Setelah registri dimodifikasi, sesi AutoLogger dimulai lain kali komputer dimulai ulang. Sesi AutoLogger memanggil fungsi EnableTraceEx untuk mengaktifkan penyedia.

Sesi AutoLogger meningkatkan waktu boot sistem dan harus digunakan dengan hemat. Layanan yang ingin mengambil informasi selama proses boot harus mempertimbangkan untuk menambahkan logika pengontrol ke dirinya sendiri alih-alih menggunakan sesi AutoLogger.

Untuk menghentikan sesi AutoLogger, panggil fungsi ControlTrace. Nama sesi yang Anda berikan ke fungsi adalah nama kunci registri yang Anda gunakan untuk menentukan sesi dalam registri.

Untuk detail tentang memulai sesi pelacakan peristiwa, lihat Mengonfigurasi dan Memulai Sesi Pelacakan Peristiwa.

Untuk detail tentang memulai sesi pencatat privat, lihat Mengonfigurasi dan Memulai Sesi Pencatat Privat.

Untuk detail tentang memulai sesi NT Kernel Logger, lihat Mengonfigurasi dan Memulai Sesi Pencatat Kernel NT.

Mengonfigurasi dan Memulai Sesi Pencatat Privat

Mengonfigurasi dan Memulai Sesi SystemTraceProvider

Mengonfigurasi dan Memulai Sesi Pelacakan Peristiwa

Mengonfigurasi dan Memulai Sesi Pencatat Kernel NT

EnableTraceEx2

ENABLE_TRACE_PARAMETERS

EVENT_FILTER_DESCRIPTOR

PAYLOAD_FILTER_PREDICATE

TdhAggregatePayloadFilters

TdhCreatePayloadFilter

Memperbarui Sesi Pelacakan Peristiwa