2017-01-27 66 views
3

我在Azure WebJob(.exe)中託管了一些遺留代碼,這些代碼正在生成大量用於記錄到自定義事件提供程序的ETW事件。將ETW事件發送給Application Insights?

如何以簡單的方式將這些ETW事件獲取到Application Insights?我希望他們出現在與我的網站託管WebJob相同的AI實例中。

回答

2

下面是事件源跟蹤模塊的一個簡單示例。 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> 
+0

如何將ApplicationInsights.config和NuGets添加到我的WebJob?這只是我的WebJob中的一個.exe文件,我無法修改代碼。另外,如何指定我想要登錄到Application Insights的ETW提供者? –

+0

我假設我的答案是,您可以通過安裝Nuget包來啓用Application Insights,並將您的控制檯應用程序重新部署爲Azure Web作業。這不是那種情況嗎? –

+0

因爲我無法修改exe的原始代碼,所以我無法真正瞭解如何使這個工作。無論如何,感謝您的幫助。 –

相關問題