我将数据存储在每个文件夹内的 Data Lake Store 中的 XML 文件中,就像一个文件夹构成一个源系统一样。
每天结束时,我想运行一些日志分析,以了解每个文件夹下的 Data Lake Store 中存储了多少新 XML 文件?我启用了诊断日志并添加了 OMS 日志分析套件。
我想知道实现上述报告的最佳方法是什么?
我将数据存储在每个文件夹内的 Data Lake Store 中的 XML 文件中,就像一个文件夹构成一个源系统一样。
每天结束时,我想运行一些日志分析,以了解每个文件夹下的 Data Lake Store 中存储了多少新 XML 文件?我启用了诊断日志并添加了 OMS 日志分析套件。
我想知道实现上述报告的最佳方法是什么?
可以做一些汇总报告(甚至创建警报/通知)。使用 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-创建服务警报/。
如果您有更多问题或需要更多详细信息,请告诉我们。