Настройка и запуск сеанса глобального средства ведения журнала
Сеанс трассировки событий Global Logger записывает события, которые происходят на ранних этапах процесса загрузки операционной системы. Приложения и драйверы устройств могут использовать сеанс глобального средства ведения журнала для записи трассировок перед вхоженным пользователем. Обратите внимание, что некоторые драйверы устройств, например драйверы дисковых устройств, не загружаются во время начала сеанса глобального средства ведения журнала.
Примечание
При создании сеанса глобального ведения журнала в Windows Vista следует рассмотреть возможность создания сеанса автозалога .
Реестр используется для настройки сеанса глобального средства ведения журнала. Добавьте раздел GlobalLogger в следующий раздел реестра, если он еще отсутствует:
HKEY_LOCAL_MACHINE
\SYSTEM
\CurrentControlSet
\Control
\WMI
В следующей таблице описаны значения, которые можно определить для ключа GlobalLogger . Для указания этих значений реестра у вас должны быть права администратора. Значения реестра влияют на всех поставщиков, которые регистрируют события в сеансе глобального средства ведения журнала. Значение Start — это единственное значение, необходимое для запуска сеанса глобального средства ведения журнала. Все остальные значения имеют параметры по умолчанию, которые используются, если значение отсутствует в реестре. Как правило, следует использовать значения по умолчанию. Если указать значение, которое не поддерживается трассировкой событий Windows, трассировка событий Windows переопределит это значение.
Значение | Тип | Описание |
---|---|---|
Запуск | REG_DWORD | Присвойте этому значению значение 1 (включено), чтобы запустить сеанс глобального средства ведения журнала при следующем запуске системы. Чтобы остановить запуск сеанса, присвойте этому значению значение 0 (выкл.). |
BufferSize | REG_DWORD | Размер каждого буфера в килобайтах. Это значение должно быть меньше одного мегабайта. Трассировка событий Windows использует размер физической памяти для вычисления этого значения. |
ClockType | REG_DWORD | Таймер, используемый при регистрации метки времени для каждого события.
Значение по умолчанию — 1 (значение счетчика производительности) в Windows Vista и более поздних версиях. До Windows Vista значение по умолчанию — 2 (системный таймер). |
EnableKernelFlags | REG_BINARY | Используйте это значение, чтобы включить один или несколько поставщиков ядра. Если включить поставщики ядра, сеанс глобального средства ведения журнала при запуске переименовывается в NT Kernel Logger. Возможные значения см. в элементе EnableFlagsEVENT_TRACE_PROPERTIES. |
FileCounter | REG_DWORD | Количество файлов журнала трассировки событий, созданных сеансами глобального средства ведения журнала. Система увеличивает это значение до тех пор, пока не достигнет значения FileMax. Затем он сбрасывает значение до 0. Этот счетчик не позволяет системе перезаписать файл журнала трассировки глобального средства ведения журнала. |
FileMax | REG_DWORD | Максимальное число файлов журнала трассировки событий, разрешенное в системе. Когда число журналов трассировки достигает указанного максимума, система начинает перезаписывать журналы, начиная с самого старого. Если файл журнала, указанный в параметре FileName , существует, трассировка событий Windows добавляет значение FileCounter к имени файла. Например, если используется имя файла журнала по умолчанию, используется форма %SystemRoot%\System32\LogFiles\WMI\GlobalLogger.etl.NNNN. Значение по умолчанию — 0, что означает отсутствие максимального значения. |
FileName | REG_SZ | Полный путь к файлу журнала. Путь к этому файлу должен существовать. Файл журнала является последовательным файлом журнала. Обратите внимание, что все поставщики, записывщие события в сеанс глобального средства ведения журнала, записывают события в этот файл журнала. Путь ограничен 1024 символами. Если fileName не указано, события записываются в %SystemRoot%\System32\LogFiles\WMI\GlobalLogger.etl.
До Windows Vista: Файл по умолчанию — %SystemRoot%\System32\LogFiles\WMI\Trace.log. |
FlushTimer | REG_DWORD | Частота принудительной очистки буферов трассировки в секундах. Минимальное время очистки составляет 1 секунду. Эта принудительная очистка является дополнением к автоматической очистке, которая происходит при заполнении буфера и при остановке сеанса трассировки. Для средства ведения журнала в режиме реального времени нулевое значение (значение по умолчанию) означает, что время очистки будет равно 1 секунде. Средство ведения журнала в режиме реального времени — это, когда для Параметра LogFileMode задано значение EVENT_TRACE_REAL_TIME_MODE. Значение по умолчанию — 0. По умолчанию буферы очищаются только при заполнении. |
LogFileMode | REG_DWORD | Задает параметры сеанса журнала. Значения см. в разделе Константы режима ведения журнала. Эти значения поддерживаются в Windows Vista и более поздних версиях. |
MaximumBuffers | REG_DWORD | Максимальное количество выделенных буферов. Как правило, это минимальное число буферов плюс двадцать. Трассировка событий Windows использует размер буфера и размер физической памяти для вычисления этого значения. Это значение должно быть больше или равно значению параметра MinimumBuffers. |
Maxfilesize | REG_DWORD | Максимальный размер файла журнала трассировки событий в мегабайтах. По умолчанию максимальный размер файла отсутствует. |
MinimumBuffers | REG_DWORD | Минимальное количество буферов, выделяемых при запуске сеанса глобального средства ведения журнала. Минимальное количество буферов, которое можно указать, составляет два буфера на процессор. Например, на компьютере с одним процессором минимальное количество буферов равно двум. Значение по умолчанию в однопроцессорной системе — 0x3. |
Состояние | REG_DWORD | Состояние запуска глобального средства ведения журнала. Если не удалось запустить средство глобального ведения журнала, значением этого ключа будет соответствующий код ошибки Win32. Если глобальное средство ведения журнала успешно запущено, значение этого ключа будет ERROR_SUCCESS (0). |
После изменения реестра и перезагрузки компьютера сеанс глобального ведения журнала запускается автоматически и используется, как и любой другой сеанс с одним исключением: для ссылки на сеанс глобального средства ведения журнала используется дескриптор константы WMI_GLOBAL_LOGGER_ID (определенный в Wmistr.h). Эту константу можно использовать в качестве аргумента для любой функции трассировки событий, принимающей дескриптор сеанса. В функциях, которые принимают имя сеанса, используйте GLOBAL_LOGGER_NAME.
Контроллер глобального средства ведения журнала не вызывает функцию EnableTrace для включения поставщиков. Поставщик отвечает за определение того, запущен ли сеанс глобального средства ведения журнала, а затем включается сам.
Чтобы определить, запущен ли сеанс глобального средства ведения журнала, можно вызвать функцию ControlTrace , установив для SessionHandle значение WMI_GLOBAL_LOGGER_ID а controlCode — EVENT_TRACE_CONTROL_QUERY. Если вызов ControlTrace выполнен успешно, сеанс глобального ведения журнала существует, и поставщик может включить себя и записывать события в сеанс глобального средства ведения журнала (функция ControlTrace возвращает ERROR_WMI_INSTANCE_NOT_FOUND, если средство глобального ведения журнала не активно).
Как правило, контроллер отвечает за передачу флагов и уровня включения поставщику, когда он включает поставщик, но так как глобальный контроллер средства ведения журнала не включает поставщик, поставщик несет ответственность за передачу этой информации самому себе, если это необходимо.
Сеанс глобального средства ведения журнала является ограниченным ресурсом, и его следует использовать с осторожностью. Службам, которые хотят собирать сведения во время процесса загрузки, следует рассмотреть возможность добавления логики контроллера вместо использования сеанса глобального средства ведения журнала.
Дополнительные сведения о запуске сеанса трассировки событий см. в разделе Настройка и запуск сеанса трассировки событий.
Дополнительные сведения о запуске закрытого сеанса средства ведения журнала см. в разделе Настройка и запуск частного сеанса средства ведения журнала.
Дополнительные сведения о запуске сеанса ведения журнала ядра NT см. в разделе Настройка и запуск сеанса средства ведения журнала ядра NT.