net - application insights tutorial c#
Usar Azure Application Insights con Azure WebJob (2)
Dado que la respuesta anterior tiene 2 años y muchas cosas han cambiado desde entonces. Ahora hay un paquete nuget disponible para la integración de insights de aplicaciones con Azure Webjobs. Necesita instalar los siguientes paquetes:
- Microsoft.Azure.WebJobs.Logging.ApplicationInsights (actualmente en versión beta)
- Microsoft.Extensions.Logging
- Microsoft.Extensions.Logging.Console
Configure JobHostConfiguration de la siguiente manera:
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;
}
Ver la publicación completa en esto here
La documentación de Azure abarca muchos ejemplos de integración de Azure Application Insights en diferentes tipos de aplicaciones, como ASP.NET, Java, etc. Sin embargo, la documentación no muestra ejemplos de integración de Application Insights en Azure WebJob.
¿Alguien tiene un enlace a un ejemplo o artículo que cubra cómo integrar Azure Application Insights en Azure WebJob que está desarrollado como una aplicación de consola?
He escrito una aplicación de consola que rastrea eventos y métricas a través de Application Insights, y me imagino que un WebJob no será tan diferente, al agregar los siguientes paquetes NuGet:
- Microsoft.ApplicationInsights
- Microsoft.ApplicationInsights.TraceListener (esto puede no ser necesario)
Mi ApplicationInsights.config
ve así:
<ApplicationInsights xmlns="http://schemas.microsoft.com/ApplicationInsights/2013/Settings">
<TelemetryModules>
<Add Type="Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.DiagnosticsTelemetryModule, Microsoft.ApplicationInsights" />
</TelemetryModules>
</ApplicationInsights>
Y el programa simple hace esto:
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
También está esto: Application Insights en aplicaciones de escritorio de Windows, servicios y roles de trabajador