Потребление событий “Event Tracing for Windows”

Ответ на этот вопрос привел меня изучать использование "Трассировки событий для Windows" для наших потребностей трассировки. Я столкнулся с NTrace, который, кажется, хороший способ произвести события ETW из кода C# (использующий совместимого с XP "классического поставщика" модель).

Однако я не могу найти простой способ использовать эти события - чтобы видеть их в режиме реального времени и/или зарегистрировать их в файл. Единственным путем я нашел, то, который описал в документации NTrace: использование инструмента, который только доступен как часть Windows DDK.

В случае сложной проблемы в поле мы, возможно, должны попросить, чтобы пользователь произвел файл, содержащий трассировку. Мы не можем попросить, чтобы пользователи загрузили DDK или провели много сложных операций, чтобы сделать это.

Существует ли простой, удобный для пользователя способ зарегистрировать события ETW в файл?

Кроме того, для кого-то действительно ли возможно использовать события ETW на Windows Vista/7, если они не работают как администратор?

7
задан Community 23 May 2017 в 11:53
поделиться

4 ответа

TraceView - это самое простое готовое решение, но можно написать собственное средство просмотра трассировки событий Windows, специфичное для вашего провайдер. Это даст вам полный контроль над презентацией и упростит задачу для конечного пользователя, поскольку TraceView на самом деле является скорее инструментом отладки, чем тем, что вы можете попросить запустить конечных пользователей.

Что касается трассировки в реальном времени, согласно документации :

Только пользователи с административными привилегиями, пользователи из группы «Пользователи журнала производительности» и службы, работающие как LocalSystem, LocalService, NetworkService, могут потреблять события в реальном времени. Чтобы предоставить пользователю с ограниченными правами возможность получать события в реальном времени, добавьте их в группу «Пользователи журнала производительности».

Windows XP и Windows 2000: любой может получать события в реальном времени.

Если вы хотите написать свою собственную программу просмотра ETW (файл реального времени или файл журнала), вот соответствующая документация .

3
ответ дан 7 December 2019 в 01:19
поделиться

Журнал событий Windows считывает ETW. Фактически, я бы сказал, что это правильный способ для потребителя (не программы) просматривать и экспортировать трассировки ETW.

См. Здесь пример. http://blogs.microsoft.co.il/blogs/applisec/archive/2009/10/12/reading-etw-tracing-using-event-viewer.aspx

Этот вопрос на msdn Обсуждает, что делать, когда логи не появляются. Здесь что-нибудь помогает?

3
ответ дан 7 December 2019 в 01:19
поделиться

Трассировка ETW была разработана для запуска только администраторами, поскольку трассировка может содержать личную идентифицирующую информацию. И это может создать угрозу безопасности, если не администратор сможет зафиксировать трассировку.

Вот предупреждение. Пример из xperf

Только что записанная вами трассировка "C: \ Windows \ system32 \ kernel.etl" может содержать личную информацию, включая, но не обязательно ограничиваясь, пути к файлы, к которым осуществляется доступ, пути к реестру и имена процессов. Точная информация зависит от зарегистрированных событий. Помните об этом, когда делитесь этим следом с другими людьми.

Надеюсь, это ответит на ваш вопрос

2
ответ дан 7 December 2019 в 01:19
поделиться

Вот как можно получить настраиваемые трассировки трассировки событий Windows от собственного настраиваемого поставщика и как можно использовать трассировку событий Windows в управляемом коде .

Надеюсь, это поможет.

1
ответ дан 7 December 2019 в 01:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: