使用 Azure 数据工厂将自定义日志发送到 Azure 日志分析

时间:2021-05-10 10:16:48

标签: powershell azure-data-factory azure-log-analytics

我正在尝试使用 Azure 数据工厂将自定义日志摄取到 Azure 日志分析中。 HTTP 数据收集器是 Microsoft 提供的 API,用于将自定义日志摄取到 Azure 日志分析。 我在 Azure 数据工厂中创建了一个带有 Web 活动的管道,以将一些示例日志发布到日志分析。以下是网络活动的设置。

网址:https://xxloganalyticsworkspaceIDxx.ods.opinsights.azure.com/api/logs?api-version=2016-04-01 方法 : POST 标题: 授权 - SharedKey xxloganalyticsworkspaceIDxx: 日志类型 - ADFRecord 内容类型 - 应用程序/json x-ms-date - <使用 PowerShell RFC 1123 格式创建的签名> 正文 - [{"StringValue":"MyString1","NumberValue":42,"BooleanValue":true,"DateValue":"2019-09-12T20:00:00.625Z","GUIDValue":"9909ED01-A74C- 4874-8ABF-D2678E3AE23D"}]

我知道应该动态提供 Authorization 和 x-ms-date 标头,但是为了测试,我使用 Microsoft 在文章 https://docs.microsoft.com/en-us/azure/azure-monitor/logs/data-collector-api#request-headers 中提供的 PowerShell 代码创建了这些标头,并在网络活动。管道失败并显示以下错误:

{"Error":"InvalidAuthorization","Message":"授权标头中指定了无效签名"}

我尝试使用邮递员推送具有相同标头的相同数据,并且 REST 调用成功,这意味着使用 PowerShell 生成的标头签名有效。我可以看到海关日志被推送到日志分析。

如果您对此有任何帮助以解决问题,我们将不胜感激,同时请让我知道如何在 Web 活动中动态提供授权标头。

0 个答案:

没有答案