2015-09-09 16 views
20

Dokumentacja Azure obejmuje wiele przykładów integracji Analizy aplikacji Azure z różnymi typami aplikacji, takimi jak ASP.NET, Java itp. Dokumentacja nie zawiera jednak przykładów integracji Analizy aplikacji w usłudze Azure WebJob.Korzystanie z Analizy aplikacji Azure przy użyciu usługi Azure WebJob

Czy ktoś ma link do przykładu lub artykułu, który opisuje, jak zintegrować Analitykę aplikacji Azure z platformą WebJob platformy Azure, która została zbudowana jako aplikacja konsolowa?

+0

Jeśli chodzi o oficjalne dokumenty, jest to obecnie najbliżej: https://docs.microsoft.com/en-us/azure/application-insights/app-insights-windows-desktop. –

Odpowiedz

19

Napisałem aplikację konsoli, która śledzi wydarzenia i metryk przez aplikację Insights, a ja Rysunek A WebJob nie będzie wszystko, co różni, dodając następujące pakiety Nuget:

  • Microsoft.ApplicationInsights
  • Microsoft.ApplicationInsights.TraceListener (może to nie być konieczne)

My ApplicationInsights.config wygląda następująco:

<ApplicationInsights xmlns="http://schemas.microsoft.com/ApplicationInsights/2013/Settings"> 
    <TelemetryModules> 
     <Add Type="Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.DiagnosticsTelemetryModule, Microsoft.ApplicationInsights" /> 
    </TelemetryModules> 
</ApplicationInsights> 

I prosty program robi to:

TelemetryConfiguration.Active.InstrumentationKey = "the_key"; 
TelemetryConfiguration.Active.TelemetryChannel.DeveloperMode = true; 

var tc = new TelemetryClient(); 
tc.TrackRequest("Track Some Request", DateTimeOffset.UtcNow, new TimeSpan(0, 0, 3), "200", true); 
tc.TrackMetric("XYZ Metric", 100); 
tc.TrackEvent("Tracked Event"); 

tc.Flush(); //need to do this, otherwise if the app exits the telemetry data won't be sent 

Istnieje również to: Application Insights on Windows Desktop apps, services and worker roles

+4

Właśnie zaimplementowałem to w WebJob i nie potrzebowałem pakietu 'Microsoft.ApplicationInsights.TraceListener' lub' ApplicationInsights.config'. – BenV

+0

Ogólnie lepiej jest użyć 'Microsoft.ApplicationInsights.WindowsServer', aby uzyskać więcej domyślnych kolektorów. –

+1

@Brendan, gdzie napisać kod inicjujący wgląd w aplikacje w lazurowym serwisie Job jak program.cs lub functions.cs. czy możesz mi powiedzieć, jakie jest zalecane podejście do napisania kodu inicjalizacji AI. – pradeep

3

Ponieważ powyższa odpowiedź 2 lat i wiele się zmieniło od tamtego czasu. Teraz dostępny jest pakiet nuget do integracji Insight aplikacji z Azure Webjobs. Trzeba zainstalować pakiety poniżej:

  1. Microsoft.Azure.WebJobs.Logging.ApplicationInsights (obecnie w wersji beta)
  2. Microsoft.Extensions.Logging
  3. Microsoft.Extensions.Logging.Console

Konfiguracja JobHostConfiguration jak poniżej:

string instrumentationKey = Environment.GetEnvironmentVariable("APPINSIGHTS_INSTRUMENTATIONKEY"); 
if (!string.IsNullOrEmpty(instrumentationKey)) 
{ 
     // build up a LoggerFactory with ApplicationInsights and a Console Logger 
     config.LoggerFactory = new LoggerFactory().AddApplicationInsights(instrumentationKey, null).AddConsole(); 
     config.Tracing.ConsoleLevel = TraceLevel.Off; 
} 

Zobacz cały post na tym here

+0

Mam niektóre z tych instrukcji do pracy (projekt nie będzie budować i nie może znaleźć konkretnej klasy LoggerFactory). Zdecydowanie może to być coś w moim projekcie, ale wydawało się, że te instrukcje były dla webworku .NET Core. Nie było jasne, czy kroki te działały również w przypadku projektu innego niż Core. Czy coś mi umyka? –

+0

@AaronKrone Upewnij się, że masz wspomniany 3 pakiet nuget. Powinno to również działać w przypadku projektów podstawowych innych niż .net – Unnie

Powiązane problemy