4

收集 Azure 诊断数据时,暂存槽是否也将诊断数据发送到 WadPerformanceCounters 表?

如果是这样,我该如何关闭它?或者在阅读诊断信息时如何区分暂存/生产。

我不想显示关于我们网站的数据,假设它都是生​​产的,而实际上它的一部分是登台槽。

4

2 回答 2

3

是 - Windows Azure 诊断在生产和暂存槽中运行。这两个插槽之间唯一真正的区别是 DNS 名称。

至于启用诊断,http: //msdn.microsoft.com/en-us/library/gg433048.aspx有一个很好的起点。这提供了很多关于 Windows Azure 诊断信息的链接。

我不相信诊断表数据(例如,WadPerformanceCountersTable)中有一种方法可以区分生产槽和暂存槽。您可能能够根据 RowKey 值进行过滤,我认为该值包含部署 ID,并且在生产和暂存之间会有所不同。

您还可以为生产和暂存槽使用不同的存储帐户。这将是一个相当快的 .cscfg 更新,可以在运行时完成。

于 2013-01-07T19:22:30.243 回答
3

收集 Azure 诊断数据时,暂存槽是否也将诊断数据发送到 WadPerformanceCounters 表?

是的,它们最终会出现在同一张桌子上。

每个部署都有其唯一的部署标识符,可以在特定实例(生产或登台)的仪表板上找到

部署 ID 仪表板

样品WadPerformanceCountersTable

DeploymentId 表


为了查找与特定部署(暂存或生产)相关的日志,您可以按部署标识符过滤表,例如

DeploymentId eq '1a2c09bea1234bc1b5e6edb99993ab21' 

如果单个部署标识符的条目过多,则可以通过添加时间属性来减少条目数(例如,在 2013 年 1 月 5 日午夜之后记录的所有具有 DeploymentId '1a2c09bea1234bc1b5e6edb99993ab21' 的条目)

DeploymentId eq '1a2c09bea1234bc1b5e6edb99993ab21' and Timestamp gt datetime'2013-01-05T00:00:00Z'

请注意,这不是过滤 Azure 表存储的最佳方式(正如 Kiwi 和 Gaurav 所指出的那样。

任何不包含的查询都PartitionKey将导致全表扫描。由于PartitionKey在 WAD 表中表示日期/时间值,我建议使用它而不是Timestamp. 您可能会发现获取诊断数据帖子的有效方式非常有用。

这应该可以帮助您找出每个环境(暂存与生产)和特定部署的条目。

于 2013-01-07T22:55:32.350 回答