【问题标题】:Azure data factory and Log analyticsAzure 数据工厂和日志分析
【发布时间】:2021-09-18 10:34:18
【问题描述】:

我想在 ADF 中对我的输入数据执行一些验证检查,并且任何验证失败都想捕获到 Azure 日志分析中。

请有人指导我如何通过 Azure 数据工厂将自定义日志捕获到日志分析中。

任何示例数据流/管道都会非常有帮助。

谢谢, 库马尔

【问题讨论】:

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


【解决方案1】:

如果我理解正确,您希望能够获取 ADF 的 Azure Monitor 日志并查询/存储这些日志?

好消息是,您希望看到的大部分信息都已通过 Azure Monitor 收集。

提取信息的一种简单方法是使用 Azure Monitor REST API。然后,您可以将响应存储到文件或表中,或者您可以只查询特定管道或触发器等的 api。

以下是授权示例和使用 Azure Monitor API 的链接: https://docs.microsoft.com/en-us/azure/azure-monitor/essentials/rest-api-walkthrough#authenticating-azure-monitor-requests

这是使用 Azure Monitor REST API 获取活动运行数据的 HTTP URL 示例(动态内容语法):

@{concat('https://management.azure.com/subscriptions/', linkedService().SubscriptionID, '/resourceGroups/', linkedService().ResourceGroupName, '/providers/Microsoft.DataFactory/factories/', linkedService().DataFactoryName, '/pipelineruns/', linkedService().RunID, '/queryActivityruns?api-version=2018-06-01')}

以下是可以从 Azure Monitor 中提取的所有不同 ADF 指标: https://docs.microsoft.com/en-us/azure/data-factory/monitor-using-azure-monitor#data-factory-metrics

以下是 ADF 中可用于调用 REST api 的 REST 链接服务的示例:

然后,您可以创建一个数据集,将所有值传递给链接服务,以便您可以调用 API,并将响应复制到数据库,如下所示:

这个特定示例获取特定管道 RunID 的状态,但它可以比这更广泛。 这是请求正文的样子,以便我可以过滤到最后一天失败的管道:

【讨论】:

  • 您好,感谢您提供详细信息。我的要求是,我想对每个数据集执行某种验证。例如,要检查文件的内容是否与定义的格式匹配,如果不匹配,我想将详细信息记录到日志分析中。您能否建议我如何捕获这些详细信息并写入分析。
  • 我不熟悉这可能。如果你解决了这个问题,请告诉我。
【解决方案2】:

我自己正在研究这个问题,据我所知,您必须使用 REST 或 HTTP 连接器向 Log Analytics 中的 HTTP 数据收集器 API 发送 POST 请求。更多细节在这里:https://docs.microsoft.com/en-gb/azure/azure-monitor/logs/data-collector-api

【讨论】:

    猜你喜欢
    • 2021-01-18
    • 2021-12-05
    • 1970-01-01
    • 2023-04-10
    • 2022-10-04
    • 1970-01-01
    • 2019-07-19
    • 2017-10-02
    • 2021-08-08
    相关资源
    最近更新 更多