动态多实例性能计数器不会从Azure诊断转移到应用程序洞察

时间:2017-04-03 13:41:25

标签: azure performancecounter azure-application-insights azure-diagnostics

我遇到的问题是,所有动态多实例计数器都已成功收集,但未发送到Application Insights。例如,如果我指定\LogicalDisk(*)\Disk Read Bytes/sec,那么我会在Azure诊断存储表中看到3条记录(C:D:_Total),但是它们都没有出现在应用程序Inisghts中。但是,如果我明确指定所有3个计数器(即\LogicalDisk(C:)\Disk Read Bytes/sec),那么它将同时出现在Azure诊断和Application Insights表中。

1 个答案:

答案 0 :(得分:1)

这是因为将Windows Azure诊断数据发送到AI(WAD2AI)的组件中的perf计数器不支持通配符。数据收集代理将计数器值写入磁盘上的本地表,并使用特定的计数器名称(C:,D:,_ Total)。从本地磁盘有两个传输过程:

  1. 写入存储表 - 这是一个盲目的过程,它将本地表中的所有内容都传输到azure表存储中。
  2. 写入AI - 此过程会进行一些过滤。 AI比存储更昂贵,因此争论的焦点是用户可能希望选择退出发送给AI的内容。配置允许打开/关闭旋钮的一切。因此,有一些逻辑可以查找本地表中的内容以及配置为发送给AI的内容。
  3. 确定从本地文件读取的计数器是否应该发送到AI的过滤器是与配置中提供的计数器进行简单的字符串比较。不幸的是,没有办法解决它,但你已经在做什么(明确提供计数器)。