我已经根据我网站的 Azure 诊断设置了 Azure 自动缩放。
由于 Staging 和 Production 只是彼此的精确副本,因此 Staging 和 Production 都将诊断存储到 SAME WadPerformanceCountersTable。
虽然我知道我可以通过使用 DeploymentId 来区分暂存槽和生产槽,但 Azure 自动缩放是否也能做到这一点?如果是这样,怎么做?
如果不是,如何将 Azure 诊断和自动缩放设置为仅基于生产数据自动缩放生产?
我已经根据我网站的 Azure 诊断设置了 Azure 自动缩放。
由于 Staging 和 Production 只是彼此的精确副本,因此 Staging 和 Production 都将诊断存储到 SAME WadPerformanceCountersTable。
虽然我知道我可以通过使用 DeploymentId 来区分暂存槽和生产槽,但 Azure 自动缩放是否也能做到这一点?如果是这样,怎么做?
如果不是,如何将 Azure 诊断和自动缩放设置为仅基于生产数据自动缩放生产?
编辑:我运行了另一个测试,该测试使用生产和登台的反应规则进行扩展。Autoscaler 可以区分暂存和生产。我认为它也可以区分不同的部署。
然而,这篇文章中的信息对于想要远程控制多个站点的诊断的任何人都很有用。
我不相信 Azure 自动缩放区分生产和暂存,更不用说不同的站点了。我的理由是,我能够使用来自完全不同网站的诊断信息自动缩放一个网站。
至于如何区分暂存和生产,这里有一些定义可以帮助理解以下答案:
最初,我认为我必须在我的目标站点中调用Azure 服务管理 API来定期检查它是否在暂存。这不是一个好的答案,因为最佳实践是确保生产和登台完全相同。
然后我意识到我可以通过编辑诊断配置来远程“禁用”站点上的诊断,以停止在我的 Autoscaler 中收集数据。自动缩放器将根据它们的 deploymentId 知道哪些部署正在暂存和生产。使用此信息,我们可以通过将诊断设置为默认配置来轻松打开或关闭诊断。