【发布时间】:2013-04-27 13:42:31
【问题描述】:
我们需要在 Windows azure Web 角色中启用 25 个以上的性能计数器。我正在考虑 RDP 并一一启用它们。但这可能需要很长时间,而且如果我们扩大规模也无法保证。
有人可以帮我解决这个过程是否可以自动化吗?最好是 Powershell,但其他解决方案也可以。
【问题讨论】:
标签: azure performancecounter azure-web-roles
我们需要在 Windows azure Web 角色中启用 25 个以上的性能计数器。我正在考虑 RDP 并一一启用它们。但这可能需要很长时间,而且如果我们扩大规模也无法保证。
有人可以帮我解决这个过程是否可以自动化吗?最好是 Powershell,但其他解决方案也可以。
【问题讨论】:
标签: azure performancecounter azure-web-roles
无法通过 RDP 进入 Windows Azure 机器来启用性能计数器,因为无论如何性能计数器都是由 Windows 发布的。
但是,我认为您的要求是将 25 多个性能计数器捕获到 Azure 诊断存储中?
如果是这种情况,您需要:
1) 在您的 Web 角色上启用 Azure 诊断。这必须在部署之前完成。这是一个最佳实践,而且大多数人都这样做(我当然希望微软对每个没有明确配置设置的角色都这样做,但是
2) 有多种方法可以将性能计数器捕获到诊断存储中:
a) 使用 diagnostics.wadcfg 文件 http://msdn.microsoft.com/en-us/library/gg604918.aspx(您需要使用该文件重新部署您的应用)
b) 使用 powershell(虽然我自己从未做过)http://michaelwasham.com/2011/09/19/windows-azure-diagnostics-and-powershell-performance-counters/ 或 http://www.davidaiken.com/2011/10/18/how-to-easily-enable-windows-azure-diagnostics-remotely/
c) 使用代码内检测(每次更改要启用的计数器时都需要重新上传应用)http://www.codeproject.com/Articles/303686/Windows-Azure-Diagnostics-Performance-Counters-In(我不推荐代码内配置,因为它太脆弱了)
d) 使用第三方工具,例如 Cerebrata Diagnostics Manager 或 AzureWatch
e) 使用 Azure 服务管理 API 和 Azure 诊断 API 来获取单个实例配置并更新它(这是第三方工具和 powershell 的方式)
在直接使用 powershell、管理 API 或 Cerebrata 等工具的情况下,您的配置将在部署的生命周期内“坚持”。重新上传应用的新版本后,配置将丢失。
使用 diagnostics.wadcfg、代码内检测或 AzureWatch,您的配置将在应用重新上传期间保持不变
HTH
【讨论】: