托管在Azure VM上的ASP.NET站点。 VM上安装的ApplicationInsights状态监视器。由Visual Studio中的“添加AppInsights”菜单创建的默认ApplicationInsights.config,仅添加了自定义初始化程序,而不是ikey:
<Add Type="WebSite.WebSiteTelemetryInitializer, WebSite" />
码:
public class WebSiteTelemetryInitializer : ITelemetryInitializer
{
public void Initialize(ITelemetry telemetry)
{
TelemetryConfiguration.Active.InstrumentationKey = WebConfigurationManager.AppSettings["ikey"];
telemetry.Context.User.Id = Environment.UserName;
telemetry.Context.Session.Id = Guid.NewGuid().ToString();
telemetry.Context.Component.Version = typeof(WebSiteTelemetryInitializer).Assembly.GetName().Version.ToString();
}
}
一切都按预期工作,但没有性能数据(CPU,内存)。将apppool用户添加到
Performance Monitor Users
组后:$group = [ADSI]"WinNT://$Env:ComputerName/Performance Monitor Users,group"
$ntAccount = New-Object System.Security.Principal.NTAccount("IIS APPPOOL\DefaultAppPool")
$strSID = $ntAccount.Translate([System.Security.Principal.SecurityIdentifier])
$user = [ADSI]"WinNT://$strSID"
$group.Add($user.Path)
没有用于依赖项调用的数据。
更新
有3个重复的跟踪日志:
AI(内部):完成创建扩展的卷影副本,
extensionBaseDirectory:C:\ inetpub \ wwwroot \ site \ bin,extensionName:
Microsoft.ApplicationInsights.Extensions.Intercept出现错误
System.UnauthorizedAccessException: Access to the path 'C:\Windows\system32\config\systemprofile' is denied.
AI(内部):扩展附加失败,无法附加,baseFolder:C:\ inetpub \ wwwroot \ site \ bin,nativeExtensionName:Microsoft.ApplicationInsights.Extensions.Intercept
AI(内部):[msg = RemoteDependencyModule失败]; [msg = System.InvalidOperationException:无法附加扩展,结果:2147500037
最佳答案
远程依赖项:
好的,这就是阻止ApplicationInsights收集依赖项的原因:
AI(内部):完成创建扩展的影子副本,extensionBaseDirectory:C:\ inetpub \ wwwroot \ site \ bin,extensionName:Microsoft.ApplicationInsights.Extensions.Intercept,错误System.UnauthorizedAccessException:访问路径'C:\ Windows \ system32 \ config \ systemprofile'被拒绝。
C:\ Windows \ system32 \ config \ systemprofile被设置为您的进程的临时文件夹。您需要为该过程更改temp文件夹,并确保您的应用程序可以在其中写入。 (ApplicationInsights正在那里处理探查器使用的本机二进制文件。当您遇到临时的Internet访问问题时,也会使用Temp文件夹。它会保存未发送的事件,并在恢复连接时将其发送。)
性能计数器:
为了收集性能计数器,在其上运行应用程序池的用户(通常是ApplicationPoolIdentity)应为“性能监视器用户”组的成员。确保已将其添加到该位置,并且应在将用户添加到该组之后执行iisreset,否则更改将不会生效。
在底部描述如下:
http://blogs.msdn.com/b/visualstudioalm/archive/2014/12/11/updated-application-insights-status-monitor-to-support-12-and-later-application-insights-sdk.aspx
关于asp.net - 应用洞察力:没有用于依赖项调用的数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34106876/