如何通过Microsoft Application Insights的API *实时指标*进行检索

时间:2018-10-16 15:31:31

标签: monitoring azure-functions azure-application-insights azure-functions-core-tools

我使用Live Metrics Stream管理UI监视Azure函数的执行,如下所示:Live Metrics Management 其中一些指标可以通过Application Insights REST API进行检索。但是,有关总体运行状况数据或“服务器”数据的指标返回空值。例如,performanceCounters/processCpuPercentage端点在探测时会产生以下输出:

HTTP/1.1 200
content-type: application/json; charset=utf-8
{
  "value": {
    "start": "2018-10-16T11:20:37.366Z",
    "end": "2018-10-16T12:20:37.366Z",
    "performanceCounters/processCpuPercentage": {
      "avg": null
    }
  }
}

是否可以通过API获取显示在UI的总体运行状况和服务器行下的信息?

1 个答案:

答案 0 :(得分:1)

目前无法检索实时数据。

要检索历史数据,您需要执行以下操作。

1)首先提出一个查询,该查询返回您感兴趣的数据。这是一个示例(按服务器显示请求计数,第95个CPU,第95个请求持续时间):

let start = ago(1d);
requests
| where timestamp > start
| summarize ["RequestCount"]=count(), ["Duration"]=percentile(duration, 95) by cloud_RoleInstance
| join (
    performanceCounters
    | where timestamp > start
    | where name == "% Processor Time Normalized"
    | where category == "Process"
    | summarize ["CPU"]=percentile(value, 95) by cloud_RoleInstance
) on cloud_RoleInstance
| project cloud_RoleInstance, RequestCount, Duration, CPU
| order by RequestCount 

您可以根据需要调整Google Analytics(分析)查询。

示例输出:

enter image description here

2)使用API reference运行“查询”