我正在使用Azure SDK 2.5.1,主要是关于新设计的诊断内容 . 但是,我发现我无法让它运行我的网络角色 .
因此,我创建了一个 Cloud 服务项目,添加了一个Web角色 . 然后,我在 Global.asax.cs
的 Application_Start
末尾添加了一条Trace消息:
Trace.TraceInformaction("Application_Start end.");
之后,我右键单击了WebRole并打开了 Properties
选项卡 . 在诊断配置窗口中:
-
General :我选择了
'Custom plan'
,同时指定了存储帐号,将'Disk Quota in MB'
保留为默认值'4096'
-
Application Logs :
'Log level'
切换到'All'
,其他人保持默认状态 -
其他选项卡处于默认配置设置中
在我将项目部署到 Cloud 之后,我发现了一些意想不到的事情:
-
表存储中没有
WADLogsTable
. 这很奇怪,如果我使用辅助角色,它会按预期工作 . 那么在web角色中,我只是找不到Trace日志记录? -
对于性能计数器,因为我使用的是8个计数器的默认配置,所以我只能在
WADPerformanceCountersTable
表存储中看到8个 . 在我的假设中,随着时间的推移,这8个计数器的值将越来越多地转移到该表中 . 但事实并非如此,经过几个小时,它仍然有8个计数器值 .
我只是认为Web角色的诊断只是崩溃或根本不工作 . 同时,我检查了位于服务器 "C:\Logs\Plugins\Microsoft.Azure.Diagnostics.PaaSDiagnostics\1.4.0.0\DiagnosticsPlugin.log"
的日志,在这个文件的末尾有一个例外,说某些诊断进程退出:
DiagnosticsPlugin.exe Error: 0 : [4/25/2015 5:38:21 AM] System.ArgumentException: An item with the same key has already been added.
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
at Microsoft.Azure.Plugins.Diagnostics.dll.PluginConfigurationSettingsProvider.LoadWadXMLConfig(String fullConfig)
DiagnosticsPlugin.exe Error: 0 : [4/25/2015 5:38:21 AM] Failed to load configuration file
DiagnosticsPlugin.exe Information: 0 : [4/25/2015 5:38:21 AM] DiagnosticPlugin.exe exit with code -105
从MSDN开始,代码 -105
表示:
Diagnostics插件无法打开诊断配置文件 . 这是一个内部错误,只有在VM上手动调用Diagnostics插件时才会发生这种错误 .
它没有意义,我没有对VM做任何事情 .
正如我上面所说,我只是对Visual Studio 2013生成的脚手架代码进行了非常小的更改 . 我做错了什么或者是Azure SDK 2.5的错误?
顺便说一句,似乎一切都适合 Worker 角色 .
1 回答
引自MSDN forum:
在早期阶段,SDK 2.5.1中的诊断内部存在一些内部问题,但Microsoft已经修复了它 .
无论如何,我们可以应用更新的版本,所以这不再是问题,以防你遇到这个问题 .