0

我们将创建一个收集处理器和内存利用率等信息的应用程序。

我认为我们正确配置了存储帐户。我们引用了 http://www.windowsazure.com/en-us/manage/services/storage/how-to-monitor-a-storage-account/链接。我们使用 PHP SDK 并尝试收集性能指标(cpu 使用率等)。
对于阅读指标,我们遵循http://azurephp.interoperabilitybridges.com/articles/scaling-php-applications-on-windows-azure-part-i-performance-metrics#h3Section4示例。

我们在开发这个应用程序时遇到了一些问题。

1.什么是角色实例ID?

define('ROLE_ID', $_SERVER['RoleDeploymentID'] . '/' . $_SERVER['RoleName'] . '/' . $_SERVER['RoleInstanceID']);
我知道角色部署 id 和角色名称。(我使用 SUBSCRIPTION ID 而不是 RoleInstanceID )

2. 'WADPerformanceCountersTable' 不存在

我们尝试使用上面的示例获取性能指标,显示“指定的表不存在”错误。
// Grab all entities from the metrics table $metrics = $table->retrieveEntities('WADPerformanceCountersTable');

我们浪费了很多时间。我们可以从$MetricsCapacityBlob表中获取数据。但是我们需要从WADPerformanceCountersTable中获取数据。

有没有供php开发人员使用的示例?我们犯了什么错误?

请帮我。

4

1 回答 1

0

如果我没记错的话,你实际上是在Windows Azure Diagnostics混淆Storage Analytics. $MetricsCapacityBlob表实际上是存储分析WADPerformanceCountersTable的一部分,同时是 Windows Azure 诊断的一部分。您需要做的是在您的角色中启用诊断。您可以在此处阅读有关 Windows Azure 诊断的更多信息:http: //msdn.microsoft.com/en-us/library/windowsazure/gg433048.aspx。这两个链接也可能对您有用:

http://blogs.msdn.com/b/silverlining/archive/2011/09/19/how-to-get-diagnostics-info-for-azure-php-applications-part-1.aspx

http://blogs.msdn.com/b/silverlining/archive/2011/09/22/how-to-get-diagnostics-info-for-azure-php-applications-part-2.aspx

启用诊断并正常工作后,您应该能够在存储帐户中看到相关表。

要回答您关于角色实例 id 的其他问题,它基本上是分配给您的角色实例的 id (duh!!!)。解释一下,您有一个 Web 角色(我们称之为MySuperAwesomePhpWebRole),并且您在 2 个实例中运行此角色)。每个实例都将获得自己的 id,它们将被命名为MySuperAwesomePhpWebRole_IN_0and MySuperAwesomePhpWebRole_IN_1

于 2013-10-23T05:04:45.137 回答