首页 文章

Azure诊断程序是否在Azure临时插槽中运行?

提问于
浏览
4

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

如果是这样,我该怎么办呢?或者如何在读取诊断时区分分段/ 生产环境 .

我不想显示有关我们网站的数据,假设它是全部 生产环境 的,而实际上它的一部分是临时插槽 .

2 回答

  • 3

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

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

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

    您还可以为 生产环境 和暂存插槽使用不同的存储帐户 . 这是一个可以在运行时完成的.cscfg的快速更新 .

  • 3

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

    是的,他们最终会在同一张 table 上 .

    每个部署都会获得 unique 部署标识符,该标识符可以在仪表板上找到特定实例( 生产环境 或登台)

    DeploymentId Dashboard

    示例 WadPerformanceCountersTable

    DeploymentId Table


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

    DeploymentId eq '1a2c09bea1234bc1b5e6edb99993ab21'
    

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

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

    Please note that this is not very optimal way of filtering Azure Table Storage (as pointed out by Kiwi and Gaurav.

    任何不包含 PartitionKey 的查询都将导致全表扫描 . 由于WAD表中的 PartitionKey 表示日期/时间值,我建议使用它而不是 Timestamp . 您可能会发现Effective way of fetching diagnostics data post非常有用 .

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

相关问题