azure Application Insights REST API不返回行

r8uurelv  于 2023-03-03  发布在  其他
关注(0)|答案(1)|浏览(161)

我使用this endpoint从我的应用程序洞察查询数据问题是,它总是返回空行,即"rows": []

{
  "tables": [
    {
      "name": "PrimaryResult",
      "columns": [
        {
          "name": "timestamp",
          "type": "datetime"
        },
        {
          "name": "message",
          "type": "string"
        },
        {
          "name": "severityLevel",
          "type": "int"
        },
        ...
        {
          "name": "_ResourceId",
          "type": "string"
        }
      ],
      "rows": []
    }
  ]
}

我想检查一下我是否遗漏了什么。我用南丁格尔来做,下面是我的值:

Method - POST
URL - https://api.applicationinsights.io/v1/apps/00000000-0000-0000-0000-000000000000/query
BODY - {
    "query": "traces | where timestamp <= ago(120m) | limit 10"
}
HEADERS - {"X-Api-Key": "0000000000000000000000000000000000000000"}

我尝试过更改查询、添加时间跨度、使用GET、尝试过将“Content-Type”或“charset”添加到标题。我还尝试过使用OAuth 2.0进行查询,但仍然得到响应200,但结果为空。以下是一些屏幕截图,说明如何使用OAuth x1c 0d1xx 1c 1d 1xx 1c 2d 1x进行查询

zwghvu4y

zwghvu4y1#

我部署了一个带有Application Insights的函数应用程序,并查询了如下跟踪参数:-
而不是小于等于我用大于等于,它给出了结果,参考如下:-

traces | where timestamp <= ago(120m) | limit 10

traces | where timestamp >= ago(120m) | limit 10

输出:-

我调用了Rest API来获取这些行,如下所示:

GET 
https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token
client_id:<client-id>
client_secret:<client-secret>
scope:https://api.applicationinsights.io/.default
grant_type:client_credentials

获得如下访问令牌:-

使用此访问令牌调用Application Insights API,如下所示:-

POST https://api.applicationinsights.io/v1/apps/xxxxxxxx-b7c0-43d0-83a7-552exxxxxx/query

在请求正文中传递以下参数,确保您使用查询添加时间间隔。

{

"timespan": "P1D",

"query": "traces | where timestamp >= ago(120m) | limit 10"

}

发送POST请求后,在输出中获取表的行:-

相关问题