【问题标题】:Get log data from LogAnalytics Workspace using Rest API使用 Rest API 从 LogAnalytics Workspace 获取日志数据
【发布时间】:2020-07-03 09:20:34
【问题描述】:

我正在尝试使用已保存在工作区中的查询从 Azure Log Analytics 工作区获取日志数据。我已经开始开发一个 Web API 来获取查询结果,并将这个 Web API 注册到我在 Visual Studio Enterprise Azure 订阅中创建的 Azure Active Directory。但是,当我尝试为 LogAnalytics API 请求权限时,我无法从 Microsoft API 中找到 LogAnalytics API。我正在按照以下链接中的说明进行操作: https://dev.loganalytics.io/oms/documentation/1-Tutorials/1-Direct-API

有人可以告诉我如何从 LogAnalytics 工作区中获取日志数据吗?我查看了仅提供 API 但没有说明如何获取令牌的 Microsoft 文档: https://docs.microsoft.com/en-us/rest/api/loganalytics/savedsearches/get

【问题讨论】:

  • 您可以参考this doc。如果您对此还有更多问题,请告诉我。
  • Microsoft.Azure.OperationalInsights 这个包在 Nuget 中不可用
  • 我稍后会检查它。您想从日志分析中获取日志,还是执行保存在日志分析中的查询?
  • 我想使用 Rest API 执行日志分析中保存的查询,并以 json 的形式返回结果

标签: azure azure-log-analytics


【解决方案1】:

但是当我尝试对 LogAnalytics API 进行“请求权限”时,我无法从 Microsoft API 中找到 LogAnalytics API。

您需要导航到APIs my organization uses,搜索Log Analytics API,添加Application permission,如下所示。

注意:您提供的link应该是过期的,它使用Delegated permission,这是不正确的,它必须是Application permission,因为我们将使用@987654322 @ 获取令牌。

授予权限后,还要确保您的 AD 应用具有 RBAC 角色,例如Contributor, Log Analytics Reader 在你工作区的Access control (IAM) 中,如果没有,请按照这个doc 添加它。

然后使用客户端凭证流获取token,获取token后调用api。

POST /YOUR_AAD_TENANT/oauth2/token HTTP/1.1
Host: https://login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials
&client_id=YOUR_CLIENT_ID
&redirect_uri=YOUR_REDIRECT_URI
&resource=https://api.loganalytics.io
&client_secret=YOUR_CLIENT_SECRET

更多详情可以参考这个link,不要错过任何一步。


我查看了仅提供 API 但没有说明如何获取令牌的 Microsoft 文档:https://docs.microsoft.com/en-us/rest/api/loganalytics/savedsearches/get

要获取此 REST API 的令牌,与 Log Analytics API 相同。调用此 API,无需为您的 AD App 添加 API 权限,只需 RBAC 角色即可。不同之处在于您需要将请求正文中的resource 更改为https://management.azure.com,如下所示。

POST /YOUR_AAD_TENANT/oauth2/token HTTP/1.1
Host: https://login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials
&client_id=YOUR_CLIENT_ID
&redirect_uri=YOUR_REDIRECT_URI
&resource=https://management.azure.com
&client_secret=YOUR_CLIENT_SECRET

更多详情,请参考此link

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多