Azure VM上托管的ASP.NET站点。 VM上安装的ApplicationInsights状态监视器。由"添加AppInsights"创建的默认ApplicationInsights.config;在Visual Studio中,只添加了自定义初始值设定项而不是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个重复的跟踪日志:
System.UnauthorizedAccessException: Access to the path 'C:\Windows\system32\config\systemprofile' is denied.
答案 0 :(得分:1)
远程依赖:
好的,这就是阻止ApplicationInsights收集依赖项的原因: AI(内部):完成创建扩展的卷影副本,extensionBaseDirectory:C:\ inetpub \ wwwroot \ site \ bin,extensionName:带有错误的Microsoft.ApplicationInsights.Extensions.Intercept System.UnauthorizedAccessException:访问路径&#C; C: \的Windows \ system32 \设置\ systemprofile&#39;被拒绝。
C:\ Windows \ system32 \ config \ systemprofile是为进程设置的临时文件夹。您需要更改进程的临时文件夹,并确保您的应用程序可以在那里写入。 (ApplicationInsights正在处理分析器使用的本机二进制文件。当您遇到临时Internet访问问题时,也会使用Temp文件夹。它会保存未发送的事件,并在连接恢复时发送它们。)
效果指标:
为了收集性能计数器,运行应用程序池的用户(通常是它的ApplicationPoolIdentity)应该是该框上的Performance Monitor Users组的成员。确保将其添加到那里,并且在将用户添加到组后应该执行iisreset,否则更改将不会生效。
答案 1 :(得分:1)
只需添加,您可以通过编辑applicationsinsights.config文件的结尾并添加临时文件夹的位置来更改Application Insights写入的临时文件夹。这就是我所做的:
<TelemetryChannel Type="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel, Microsoft.AI.ServerTelemetryChannel">
<StorageFolder>D:\AITempFolder</StorageFolder>
希望这也有助于其他人。