我将数据存储在每个文件夹中的Data Lake Store中的XML文件中,就像一个文件夹构成一个源系统一样。
每天结束时,我想运行一些日志分析,找出每个文件夹下Data Lake Store中存储了多少个新的XML文件?我已启用诊断日志并添加了OMS Log Analytics Suite。
我想知道实现上述报告的最佳方式是什么?
答案 0 :(得分: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-to-create-service-alerts/。
如果您有更多问题或需要其他详细信息,请告诉我们。