如何使用 azure api 运行日志分析查询?

Posted

技术标签:

【中文标题】如何使用 azure api 运行日志分析查询?【英文标题】:How to run log analytics query using azure api? 【发布时间】:2020-12-25 16:38:32 【问题描述】:

我一直在尝试使用 Azure API 运行日志分析查询,但它返回一些错误 “错误”: "message": "未提供有效身份验证", "code": "AuthorizationRequiredError", “correlationId”:“27301475d-cc29-4288-ae61-29e77d6d05cb”

这是我一直在尝试的请求

https://api.loganalytics.io/v1/workspaces/34567824-3432rewfsdewt435-3424jhh-dsa-/query?query=search in (ContainerLog) "search_data"|其中 TimeGenerated > datetime("2020-09-03")|项目LogEntry & Authorization=Bearer 0000000000000000000000000000

如果你们知道什么,请帮助我 谢谢

【问题讨论】:

如何获取代币? 查看此 url(dev.loganalytics.io) 以了解如何使用 Azure API 进行查询。它包含有关如何获取令牌以传递给 API 的信息。 dev.loganalytics.io/oms/documentation/1-Tutorials/1-Direct-API 这是我获得令牌的方式 "search in (ContainerLog) "singlemicro" | where TimeGenerated > datetime("2020-09-03") | project LogEntry" 我尝试使用执行此查询rest API,但它显示一些身份验证错误。您能解释一下如何获取身份验证密钥吗?还有一个示例代码谢谢@PeterBons 我认为您需要检查文档中的所有步骤。该消息指向配置中的错误。要获取令牌并使用 c# 调用 api,请查看我是如何做到的 here 【参考方案1】:

当我们使用 Azure Log Analytics REST API 进行查询时,我们需要用户 Authorization=Bearer token 作为请求标头。更多详情请参考here。

例如

    注册 Azure AD 应用程序

    为 AD 应用程序配置 API 权限

    授予 AAD 应用程序访问我们的 Log Analytics 工作区的权限。请将 Log Analytics Reader 角色分配给 AD 应用程序

    获取访问令牌

POST /<your tenant id>/oauth2/token HTTP/1.1
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded

grant_type =client_credentials
&client_id=<>
&client_secret=<>
&resource=https://westus2.api.loganalytics.io
    调用api

一个。 POST method

POST https://api.loganalytics.io/v1/workspaces/workspaceId/query
Authorization: Bearer access_token
Content-Type: application/json


    "query": ""


b. Get method

GET https://api.loganalytics.io/v1/workspaces/workspaceId/query?query=query

Authorization: Bearer access_token

【讨论】:

以上是关于如何使用 azure api 运行日志分析查询?的主要内容,如果未能解决你的问题,请参考以下文章

如何在运行 Azure 流分析查询时获取系统时间

针对事件(审核日志)查询 Azure Insights REST API 的速率限制策略

如何使用参数在 Azure Monitor Notebook 中选择日志分析工作区?

使用适用于 .NET 的 Azure 流分析 API 设置和运行分析作业

Azure-如何排查应用程序网关返回 HTTP Code 502 或客户端得到应用程序网关响应慢的问题

Azure Log Analytics - SQL 托管实例日志