Azure Application Insights-工作人员角色中的进程CPU

Azure Application Insights-工作人员角色中的进程CPU,azure,azure-cloud-services,azure-application-insights,Azure,Azure Cloud Services,Azure Application Insights,我创建了一个具有以下角色的云服务项目: 一个Web角色 一个工人角色 对于这两个角色,我都添加了Azure Application Insights SDK/Nuget pkg。我还为它们添加了状态监视器,即启动任务。两个角色指向不同的人工智能资源。对于工作者角色,我还在csdef文件中添加了以下三个环境变量 <Environment> <Variable name="COR_ENABLE_PROFILING" value="1" />

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

  • 一个Web角色
  • 一个工人角色
对于这两个角色,我都添加了Azure Application Insights SDK/Nuget pkg。我还为它们添加了状态监视器,即启动任务。两个角色指向不同的人工智能资源。对于工作者角色,我还在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角色不同,Worker角色不填充Application Insights中的CPU使用率/可用内存,如下所示

工作人员角色的应用程序资源:

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

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

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

请看下面的线程:它解释了如何修改启动任务(InstallAgent.ps1)以授予正确的权限。这是针对web角色完成的,因此您需要在您的案例中使用正确的帐户替换$user=“Network Service”


2) 否,不能为env变量使用任何GUID。它是AppInsights profiler的预定义COM对象GUID。

是否需要在工作角色内开始分析?也许web角色会自动执行此操作?当我搜索COR_PROFILER时,我一直在寻找引用此env变量的人:COR_PROFILER_PATH,您还没有定义,并且,您是否根据此命令在worker角色的启动时开始遥测收集?复制ApplicationInsights.config解决了我的问题。部署WR时会出现什么错误?我已将网络服务用户(WaWorkerHost.exe在其下运行)添加到Performance Monitor Users和Performance Log Users组中,但仍然没有在刀片服务器中填充任何数据。