收集 Azure 诊断数据时,暂存槽是否也将诊断数据发送到 WadPerformanceCounters 表?
如果是这样,我该如何关闭它?或者在阅读诊断信息时如何区分暂存/生产。
我不想显示关于我们网站的数据,假设它都是生产的,而实际上它的一部分是登台槽。
收集 Azure 诊断数据时,暂存槽是否也将诊断数据发送到 WadPerformanceCounters 表?
如果是这样,我该如何关闭它?或者在阅读诊断信息时如何区分暂存/生产。
我不想显示关于我们网站的数据,假设它都是生产的,而实际上它的一部分是登台槽。
是 - Windows Azure 诊断在生产和暂存槽中运行。这两个插槽之间唯一真正的区别是 DNS 名称。
至于启用诊断,http: //msdn.microsoft.com/en-us/library/gg433048.aspx有一个很好的起点。这提供了很多关于 Windows Azure 诊断信息的链接。
我不相信诊断表数据(例如,WadPerformanceCountersTable)中有一种方法可以区分生产槽和暂存槽。您可能能够根据 RowKey 值进行过滤,我认为该值包含部署 ID,并且在生产和暂存之间会有所不同。
您还可以为生产和暂存槽使用不同的存储帐户。这将是一个相当快的 .cscfg 更新,可以在运行时完成。
收集 Azure 诊断数据时,暂存槽是否也将诊断数据发送到 WadPerformanceCounters 表?
是的,它们最终会出现在同一张桌子上。
每个部署都有其唯一的部署标识符,可以在特定实例(生产或登台)的仪表板上找到
样品WadPerformanceCountersTable
表
为了查找与特定部署(暂存或生产)相关的日志,您可以按部署标识符过滤表,例如
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
. 您可能会发现获取诊断数据帖子的有效方式非常有用。
这应该可以帮助您找出每个环境(暂存与生产)和特定部署的条目。