Отправлять события ETW в Application Insights?

У меня есть устаревший код, размещенный в Azure WebJob (.exe), который создает множество событий ETW для регистрации в пользовательском поставщике событий.

Как легко передать эти события ETW в Application Insights? Я хотел бы, чтобы они отображались в том же экземпляре ИИ, что и мой веб-сайт, на котором размещено веб-задание.


person Lee G.    schedule 27.01.2017    source источник


Ответы (1)


Вот простой пример модуля отслеживания источника событий. https://github.com/AlexBulankou/ai-samples/blob/master/ETWTrackingModule.cs

Модуль заключает в себе прослушиватель ETW, который подписывается на настроенные источники событий. Вы можете указать, на какие источники событий вы хотели бы подписаться и хотите ли вы, чтобы ваши события ETW отслеживались как события и/или как трассировки. В своем ApplicationInsights.config зарегистрируйте этот модуль следующим образом:

 <Add Type="Microsoft.ApplicationInsights.Samples.ETWTrackingModule, YourAssemblyName">
  <TrackEvent>True</TrackEvent>
  <TrackTrace>True</TrackTrace>
  <EventSources>
    <Add Name="System.Collections.Concurrent.ConcurrentCollectionsEventSource" EventLevel="LogAlways"/>
    <Add Name="System.Diagnostics.Eventing.FrameworkEventSource" EventLevel="LogAlways"/>
  </EventSources>
</Add>
person Alex Bulankou    schedule 28.01.2017
comment
Как добавить ApplicationInsights.config и NuGets в свое веб-задание? Это просто .exe в моем веб-задании, у меня нет доступа к изменению кода. Кроме того, как указать поставщика ETW, который я хочу использовать для входа в Application Insights? - person Lee G.; 28.01.2017
comment
В своем ответе я предполагал, что вы можете включить Application Insights, установив пакеты Nuget и повторно развернув консольное приложение в качестве веб-задания Azure. Это не тот случай? - person Alex Bulankou; 29.01.2017
comment
Поскольку я не могу изменить исходный код для exe, я не могу понять, как заставить это работать. Все равно, спасибо за помощь. - person Lee G.; 01.02.2017
comment
Я понимаю, что вы не можете изменять код и повторно развертывать, но можете ли вы добавить дополнительные файлы (двоичные файлы и AppInsights.config) в папку веб-задания с помощью консоли Kudu? - person Alex Bulankou; 02.02.2017