我们在Azure中运行的5个部署中有大约10个实例,并记录到Azure诊断(WADLogsTable)。 我需要在几分钟内检索一次这些日志,以便在第三方工具本地进行分析。我已经有了从表中读取日志的简单版本,保存了最后一个分区和行键,下次运行查询PartitionKey> = SavedPartitionKey。问题是以这种方式检索不是所有日志: WAD使用日志缓冲,并在5分钟内(每个实例)将数据存储在表中。 记录事件的RowKey以部署ID(为guid)开始。
我想到的解决方案是每次TransferScript检索最后6分钟的所有日志(wad同步为5分钟,缓冲区为1分钟),但这可以大大增加传输的数据量(如5次)+需要以某种方式过滤掉已经检索到的日志,这可能会有问题。另外我考虑添加Timestamp> LastSeenTimestamp但是我不确定它是否解决了数据量和重复的问题以及是否以这种方式我不会丢失消息。有任何想法吗? 感谢
答案 0 :(得分:1)
转移到第三方工具是否需要实时或“尽快”?您是否只能传输5分钟或更长时间的数据而不能传输小于5分钟的数据?这样做确保您只传输已完成的分区。
答案 1 :(得分:1)
另一种可能性是在您的查询中包含“DeploymentId”以及“PartitionKey”,以获取最近“n”分钟的诊断数据(如果您有此信息可用)。