为Windows Azure Web角色设置诊断

3

我最近将我的Web角色部署到了Windows Azure。在我的WebRole的属性中,我已经设置了启用诊断。

一旦部署完成,通过查看托管服务的配置文件,我还可以看到它正确地映射到一个存储帐户。

除了诊断之外,我什么也没有设置,我不知道我需要做其他什么事情。

现在,我正在设置AzureWatch(由paraleap提供)来监视我的实例,但是它报告WADPerformanceCountersTable不存在。

我非常新于Azure,不知道诊断如何工作,无法在Google上找到任何可以帮助我的东西。有人可以请告诉我该怎么做吗?

2个回答

2

好的,我已经弄清楚了并将它留在这里供其他人参考。

步骤1

如果你按照http://dunnry.com/blog/2012/02/27/SettingUpDiagnosticsMonitoringInWindowsAzure.aspx的说明操作,Windows Azure Diagnostics 将开始将数据保存到你所附加的 Blob 存储中,这些数据包含有诊断信息。

  • 特别注意:这些数据会计入你的存储事务,这就是为什么你会看到它们增加的原因。

步骤2

然而,我需要 WADPerformanceCounterTable,它应该位于存储帐户的表部分,但它从未被创建。我需要使用类似 AzureWatch 的服务来监视和启动或关闭实例。

  • 特别注意:这是性能计数器,是诊断信息的一个特定子集,不会默认存储在 blob 部分。

步骤3

在你的项目中,你需要在 WebRole.cs 中添加要监视的性能计数器。

  • 特别注意:如果你只是将现有项目添加到 Azure 部署项目中,则不会有此选项。除非你从头开始创建项目并选择 Azure 模板,否则你需要手动创建此选项。你还需要添加:Microsoft.WindowsAzure.Diagnostics、Microsoft.WindowsAzure.ServiceRuntime 和 Microsoft.WindowsAzure.StorageClient 作为引用。了解其全部工作原理的最佳方法是从 Azure 模板创建空白项目,并复制所需项目。

步骤4

接下来,你需要定义要监视的性能计数器。因此,这里有一个很好的示例:http://code.msdn.microsoft.com/windowsazure/Windows-Azure-PerformanceCo-7d80ebf9

额外参考

如果仍然无法正常工作,Microsoft 在这里提供了一些步骤,可能会有所帮助:http://msdn.microsoft.com/en-us/library/windowsazure/hh411521.aspx


1
特别说明:如果您正在使用AzureWatch,则无需手动编写要捕获的性能计数器。只需启用Windows Azure诊断,并将计数器添加到AzureWatch中即可。您可以随意更改/添加/删除。AzureWatch会指示您的实例开始捕获这些计数器,无需重新部署。 - Igorek

1

谢谢您的回复。在第一个链接中,我已经按照指示完成了所有步骤。然而,在您给我的第二个链接中,它要求我在WebRole.cs中定义要监视的站点内容。我是否必须这样做,或者它默认会监视所有内容? - Adam

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接