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.
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:
|
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.
Topik terkait
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