1

我将数据存储在每个文件夹内的 Data Lake Store 中的 XML 文件中,就像一个文件夹构成一个源系统一样。

每天结束时,我想运行一些日志分析,以了解每个文件夹下的 Data Lake Store 中存储了多少新 XML 文件?我启用了诊断日志并添加了 OMS 日志分析套件。

我想知道实现上述报告的最佳方法是什么?

4

1 回答 1

2

可以做一些汇总报告(甚至创建警报/通知)。使用 Log Analytics,您可以创建一个查询,当文件基于公共根路径或文件命名写入 Azure Data Lake Store 时搜索任何实例:

AzureDiagnostics
| where ( ResourceProvider == "MICROSOFT.DATALAKESTORE" )
| where ( OperationName == "create" )
| where ( Path_s contains "/webhdfs/v1/##YOUR PATH##")

或者,最后一行也可以是:

| where ( Path_s contains ".xml")

...或两者兼而有之。

然后,您可以使用此查询创建一个警报,该警报将在给定的时间间隔内(例如每 24 小时)通知您创建的文件数量。

根据您的需要,您可以通过以下方式格式化查询:

  • 如果您使用通用文件命名,则可以找到路径包含所述文件命名的匹配项。
  • 如果您使用公共路径,则可以找到补丁与公共路径匹配的匹配项。
  • 如果您想收到所有实例(不仅仅是特定实例)的通知,您可以使用聚合查询,并在达到/超过阈值(即 1 个或多个事件)时发出警报:

    AzureDiagnostics
    | where ( ResourceProvider == "MICROSOFT.DATALAKESTORE" )
    | where ( OperationName == "create" )
    | where ( Path_s contains ".xml")
    | summarize AggregatedValue = count(OperationName) by bin(TimeGenerated, 24h), OperationName
    

通过查询,您可以按照此博客文章中的步骤创建警报:https ://azure.microsoft.com/en-gb/blog/control-azure-data-lake-costs-using-log-analytics-创建服务警报/

如果您有更多问题或需要更多详细信息,请告诉我们。

于 2018-05-29T16:26:49.330 回答