Azure Application Insights - 辅助角色中的进程 CPU

标签 azure azure-cloud-services azure-application-insights

我创建了一个具有以下角色的云服务项目:

  • 一个网络角色
  • 一个 Worker 角色

对于这两个角色,我添加了 Azure Application Insights SDK/Nuget pkg。我还将状态监视器添加到了它们的启动任务中。两个角色指向不同的AI资源。对于 Worker 角色,我还在 csdef 文件中添加了以下三个环境变量。

<Environment>
        <Variable name="COR_ENABLE_PROFILING" value="1" />
        <Variable name="COR_PROFILER" value="{324F817A-7420-4E6D-B3C1-143FBED6D855}" />
        <Variable name="MicrosoftInstrumentationEngine_Host" value="{CA487940-57D2-10BF-11B2-A3AD5A13CBC0}" />
</Environment>

问题与 Web 角色不同,辅助角色不会填充 Application Insights 中的 CPU 使用率/可用内存,如下所示。

辅助角色的 Application Insights 资源:

enter image description here

这可能是什么问题,我可以在上面显示的环境变量中使用任何 GUID 吗?

此外,对于辅助角色,我们似乎需要将 ApplicationInsights.config 文件设置为始终复制到输出目录。但是,当我这样做时,辅助角色会抛出任务异常并不断重新启动,最终导致部署失败。

最佳答案

1) 为了收集性能计数器,运行的辅助角色进程 (WaWorkerHost.exe) 帐户应属于性能监视器用户组的一部分。

看一下下面的线程:它解释了如何修改启动任务(InstallAgent.ps1)以授予正确的权限。它是针对网络角色完成的,因此您需要将 $user = "Network Service"替换为适合您情况的帐户。

add Azure Application insight Status Monitor from command line

2) 不可以,您不能对环境变量使用任何 GUID。它是 AppInsights 探查器的预定义 COM 对象 GUID。

关于Azure Application Insights - 辅助角色中的进程 CPU,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31496061/

相关文章:

azure - 从 CustomEvent 过滤数据

.net - 确定 Web 应用代码是否正在 Azure Web 角色中运行

azure - 无法为 Azure 上的云服务启用 AzureServiceDiagnosticsExtension

azure - 如何在同一个云服务中创建两个 DS 系列虚拟机?

azure - 无法连接到 Azure 公共(public) IP/负载均衡器(连接被拒绝)

azure - IP 地址微应用洞察

c# - 如何在 Microsoft.ApplicationInsights.AspNetCore“版本 ="2.20.0"及更高版本中禁用 Application Insights 日志记录?

azure - 从 SPA 调用 API 时委派 Azure Active Directory 角色

Azure OLAP 多维数据集给出错误的总计

azure - 使用Terraform在Aks Azure上设置Elasticsearch集群