Microsoft azure中的角色未记录到WADLogsTable

时间:2016-01-13 15:56:07

标签: c# azure logging azure-cloud-services azure-diagnostics

我目前在azure上运行了3个角色,并希望监控Windows Azure诊断程序的输出。我在相关存储表中的WADLogsTable中查找角色是或应该记录的角色。 我的问题是这个; - 我的两个角色,让我们称他们为“API'和'服务'正在记录到WADLogsTable。我的第三个角色叫做TheRest'仅记录某些事件,实际上它记录的唯一消息是: -

  

事件名称=" DirectWrite的"消息="获取" StorageQueueEncryptionKey"   来自ConfigurationManager:PASS。"

     

事件名称=" DirectWrite的"   消息="获取" StorageQueueEncryptionKey"来自ServiceRuntime:   FAIL"

我已尝试使TheRest上的wadcgfx文件与2个工作角色具有完全相同的值,并更新相关诊断并运行我的测试用例。

关于如何从非工作角色获得更好的细节的任何想法?

1 个答案:

答案 0 :(得分:0)

这可能表示诊断代理在启用时无法正确获取写入存储帐户的密钥。 您是如何通过Visual Studio / PowerShell发布角色的?您可以尝试再次发布它们,或者只是使用powershell

更新诊断扩展
$service_name = "MyService"
$diagnostics_storagename = "myservicediagnostics"
$webrole_diagconfigpath = "MyService.WebRole.PubConfig.xml" 
$primary_storagekey = (Get-AzureStorageKey -StorageAccountName "$diagnostics_storagename").Primary
$storage_context = New-AzureStorageContext -StorageAccountName $diagnostics_storagename -StorageAccountKey $primary_storagekey

Set-AzureServiceDiagnosticsExtension -StorageContext $storage_context -DiagnosticsConfigurationPath $webrole_diagconfigpath -ServiceName $service_name -Slot Production -Role "WebRole" 

或者,您也可以使用Visual Studio Server资源管理器 - 右键单击​​“角色”,然后选择“更新诊断”。在弹出的对话框中,确保已正确设置诊断存储帐户,然后单击“确定”以应用设置。这应该强制更新并正确设置诊断存储帐户。

希望有所帮助。