首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure ApplicationInsights Metrics语法?- InternalServerFault

Azure ApplicationInsights Metrics语法?- InternalServerFault
EN

Stack Overflow用户
提问于 2019-08-16 13:34:05
回答 1查看 308关注 0票数 1

我正在使用ApplicationInsights API资源管理器测试一个过滤器子句。但它会导致一个错误。

我发现了用于语法(startswith(request.name,‘GET“)的罕见示例,我的过滤器就是从语法派生出来的。

在API:https://dev.applicationinsights.io/apiexplorer/metrics上,我输入了我的帐户凭据。

我的参数是:

MetricID:

代码语言:javascript
复制
    requests/count

过滤器:

代码语言:javascript
复制
    startswith(request/cloud_RoleInstance, 'development')

在Kusto语言中,查询应该是:

代码语言:javascript
复制
requests
| where cloud_RoleInstance startswith "development" 
| count 

并且工作正常:结果:~ 47,000

我的查询结果是:

代码语言:javascript
复制
  "error": {
    "message": "Unexpected error occurred",
    "code": "InternalServerFault",
    "innererror": {
      "code": "QueryCompilationError"
    }

但是,我希望从任何以“开发”开始的AppInsights请求的数量。

文档链接通常指向https://dev.applicationinsights.io/,但我似乎找不到关于过滤器语法的任何有用信息。属性cloud_RoleInstance不受支持吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-19 20:45:26

根据规格,过滤器查询是一个OData查询,其中每个子句的键应该是您正在检索的度量的适用维度。如果将筛选器查询稍微更改为cloud_RoleInstance eq 'development',则会得到一个更有用的错误:“对于此度量:cloud_RoleInstance,以下维度在filter子句中无效”。我将与产品团队联系,首先返回一个更有用的错误消息。

正确的方法是查询API。与将查询转换为OData不同,您可以对Kusto查询进行编码并按原样发送。

代码语言:javascript
复制
requests
| where cloud_RoleInstance startswith "development" 
| count 

编码为:

代码语言:javascript
复制
GET /v1/apps/{YOUR_APP}/query?query=requests%7C%20where%20cloud_RoleInstance%20startswith%20%22development%22%20%7C%20count%20 

并返回您正在寻找的结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57525608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档