- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个新的 Azure Web 作业、一个新的 Application Insights 资源,并且只是尝试让一个作业登录到另一个作业。据我了解,它应该像添加适当的 NuGet 包一样简单,并按照以下方式添加一些代码:
TelemetryClient tc = new TelemetryClient();
tc.InstrumentationKey = "my-key";
tc.TrackEvent("testing");
tc.TrackTrace("test diag");
tc.Flush();
System.Threading.Thread.Sleep(1000);
sleep 就在那里,因为我发现this MS 文章表明可能需要它。此代码在 Web 作业启动时发生(实际上,它只是一个控制台应用程序)。但是,当我运行它时,我没有得到任何指标。
我尝试将 key 放入 ApplicationInsights.config
中,但这没有什么区别。我还尝试了不同类型的日志记录,包括异常。
我的猜测是上面的代码没有按照我的想法进行,但如果有人能指出我正确的方向,说明原因,我将不胜感激。
最佳答案
我可以track user events通过在Azure Webjobs函数代码中插入TrackEvent调用,以下示例在我这边运行良好,您可以引用。
packages.config
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.ApplicationInsights" version="2.4.0" targetFramework="net461" />
<package id="Microsoft.ApplicationInsights.Agent.Intercept" version="2.4.0" targetFramework="net461" />
<package id="Microsoft.ApplicationInsights.DependencyCollector" version="2.4.1" targetFramework="net461" />
<package id="Microsoft.ApplicationInsights.PerfCounterCollector" version="2.4.1" targetFramework="net461" />
<package id="Microsoft.ApplicationInsights.WindowsServer" version="2.4.1" targetFramework="net461" />
<package id="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel" version="2.4.0" targetFramework="net461" />
<package id="Microsoft.Azure.KeyVault.Core" version="1.0.0" targetFramework="net461" />
<package id="Microsoft.Azure.WebJobs" version="2.0.0" targetFramework="net461" />
<package id="Microsoft.Azure.WebJobs.Core" version="2.0.0" targetFramework="net461" />
<package id="Microsoft.Azure.WebJobs.Extensions" version="2.0.0" targetFramework="net461" />
<package id="Microsoft.Data.Edm" version="5.7.0" targetFramework="net461" />
<package id="Microsoft.Data.OData" version="5.7.0" targetFramework="net461" />
<package id="Microsoft.Data.Services.Client" version="5.7.0" targetFramework="net461" />
<package id="Microsoft.Tpl.Dataflow" version="4.5.24" targetFramework="net461" />
<package id="Microsoft.WindowsAzure.ConfigurationManager" version="3.2.1" targetFramework="net461" />
<package id="ncrontab" version="3.3.0" targetFramework="net461" />
<package id="Newtonsoft.Json" version="9.0.1" targetFramework="net461" />
<package id="System.Diagnostics.DiagnosticSource" version="4.4.0" targetFramework="net461" />
<package id="System.Spatial" version="5.7.0" targetFramework="net461" />
<package id="WindowsAzure.Storage" version="7.2.1" targetFramework="net461" />
</packages>
Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Azure.WebJobs;
using Microsoft.ApplicationInsights.Extensibility;
using Microsoft.ApplicationInsights;
namespace WebJob1
{
// To learn more about Microsoft Azure WebJobs SDK, please see https://go.microsoft.com/fwlink/?LinkID=320976
class Program
{
// Please set the following connection strings in app.config for this WebJob to run:
// AzureWebJobsDashboard and AzureWebJobsStorage
static void Main()
{
var config = new JobHostConfiguration();
TelemetryConfiguration.Active.InstrumentationKey = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
new TelemetryClient().TrackEvent("WebJobStart", new Dictionary<string, string> { { "appInsightsInstrumentationKey", TelemetryConfiguration.Active.InstrumentationKey } });
config.DashboardConnectionString = "";
config.UseTimers();
var host = new JobHost(config);
// The following code ensures that the WebJob will be running continuously
host.RunAndBlock();
}
}
}
函数.cs
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Azure.WebJobs;
using Microsoft.ApplicationInsights;
using Microsoft.ApplicationInsights.Extensibility;
namespace WebJob1
{
public class Functions
{
public static void TimerJob([TimerTrigger("00:01:00")] TimerInfo timerInfo, TextWriter log)
{
new TelemetryClient().TrackEvent("testing "+ DateTime.UtcNow.ToShortDateString(), new Dictionary<string, string> { { "appInsightsInstrumentationKey", TelemetryConfiguration.Active.InstrumentationKey } });
log.WriteLine("Process Something called at : " + DateTime.Now.ToShortDateString());
}
}
}
Azure 门户中的事件
关于c# - 无法获取要跟踪的 ApplicationInsights,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45811385/
我创建了一个新的 Azure Web 作业、一个新的 Application Insights 资源,并且只是尝试让一个作业登录到另一个作业。据我了解,它应该像添加适当的 NuGet 包一样简单,并按
我有问题 Microsoft.ApplicationInsights对象。每次代码第一次命中这些对象时,初始化的时间都非常长(有时甚至大约 40 秒)。 示例 1: 示例 2: 第一次加载这么长的原因
我正在使用 ApplicationInsights API Explorer 来测试过滤器子句。但它会导致错误。 我发现了罕见的语法示例(startswith(request/name, 'GET')
我不知道是否可以在没有 applicationInsight.config 的情况下创建完整的 TelemetryConfiguration 我看到有 TelemetryInitializers。添加
ApplicationInsights TrackException() 未记录堆栈跟踪。 调用非常简单,如下所示: this.telemetry.TrackException(ex, propert
我正在我的 ASP.NET Core Web 应用程序中创建一些 LogError 调用 _logger.LogError(new EventId(5000,"CustomName"),"descri
ApplicationInsights TrackException() 未记录堆栈跟踪。 调用非常简单,如下所示: this.telemetry.TrackException(ex, propert
我正在我的 ASP.NET Core Web 应用程序中创建一些 LogError 调用 _logger.LogError(new EventId(5000,"CustomName"),"descri
目前有人成功使用 ApplicationInsight 吗? 除了尝试让它发挥作用之外,我什么也没遇到。 首先,我遇到了很多问题,VS 拒绝使用 ApplicationInsight 创建新网站以及将
我在启动 ASP.NET MVC5 应用程序时遇到问题。到目前为止一切正常。启动应用程序时出现以下错误: Could not load file or assembly 'Microsoft.Appl
我正在实现自定义 ApplicationInsights 记录器,并且能够在跟踪、异常和请求等写入位置写入所有日志,但跟踪和异常中的 OperationId 为空。 昨天我使用相同的代码并在所有表中获
我的应用程序是 Microsoft Azure Function App。与 HttpTrigger 以及 Microsoft.Extensions.Logging - ILogger 一起使用。 如
鉴于此 appsettings.json { "ApplicationInsights": { "InstrumentationKey": "foobar", "LogLevel"
我正在尝试手动将一些 PerformanceCounters 发送到 ApplicationInsights。 我尝试使用以下正文直接发布到 https://dc.services.visualstu
各位, 我在 Wildfly 应用程序服务器上使用 v3.2.4 版的 applicationinsights.jar,并且能够看到进入 Azure(Application Insights)门户的所
我有一个 Azure 函数应用程序无法运行。我似乎因应用程序洞察而陷入了版本控制 hell 。 在 Function App 页面上显示错误: Microsoft.Azure.WebJobs.Exte
我在前端应用程序中实现了应用程序洞察,我想根据一个可以在应用程序的生命周期内更改的变量来禁用/启用它。 (例如,用户拒绝 Application Insights 同意 => 禁用遥测) 我尝试的是:
在工作中,我们有一个应用程序会在很长一段时间内(> 1 小时)定期陷入 CPU 使用率过高的情况。该应用程序托管在 IIS 下并与其他应用程序一起运行。此应用程序是在 .NET 4.5 中构建的,使用
我们正在使用 Azure 的 Application Insights。目前,我必须在每次部署后手动检查异常,以查看是否出现新的异常。有没有人找到一种在出现新异常时获得通知(通过 Azure 警报)的
我正在使用 Azure Application Insights JavaScript 库来跟踪应用程序中的某些业务流程。 AppInsights 使用 session_id(保存到 cookie)将
我是一名优秀的程序员,十分优秀!