我在理解和启用Windows Azure中的诊断模块以获取性能数据+以及模块提供的所有功能方面遇到了很多困难。由于我在互联网上的各种帖子多次迷路,我想发布一个明确的指南来表达我的方式..
步骤1:根据here
中的说明安装Windows Azure PowerShell工具步骤2:以管理员身份运行Windows Azure PowerShell。
第3步:获取当前的Azure发布设置
Get-AzurePublishSettingsFile
步骤4:将文件保存在已知文件夹中,并删除名称中的任何空格。 (例如.publishsettings)
步骤5:导入上面下载的发布设置文件。
Import-AzurePublishSettingsFile <path_to_downloaded>\<publishsettings_file_name>
步骤6:创建Windows Azure项目。 (这将创建一个包含许多配置文件的文件夹)
New-AzureServiceProject <myAzureProject>
第6步:添加Windows Azure角色
Add-AzurePHPWebRole <myWebRole>
步骤6:转到项目文件夹并编辑ServiceDefinition.csdef并将诊断模块导入其中。
<WebRole name="myWebRole" vmsize="ExtraSmall">
<Imports>
<Import moduleName="Diagnostics" />
</Imports>
..
步骤7:编辑ServiceConfiguration.Cloud.cscfg,ServiceConfiguration.Cloud.cscfg和ServiceConfiguration.cscfg(制作ServiceConfiguration.Cloud.cscfg的副本并将其重命名为此文件,如果不存在)和存储连接字符串到所有这三个文件。
<Role name="myWebRole">
<ConfigurationSettings>
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=<storage_name>;AccountKey=<storage_key>" />
</ConfigurationSettings>
..
步骤6:将diagnostics.wadcfg文件添加到azure项目文件夹中的文件夹。它可以如下开始,但需要更改为您的确切规格以收集诊断信息。
<DiagnosticMonitorConfiguration xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration" configurationChangePollInterval="PT1M" overallQuotaInMB="4096">
<DiagnosticInfrastructureLogs bufferQuotaInMB="10"
scheduledTransferLogLevelFilter="Error"
scheduledTransferPeriod="PT1M" />
<Logs bufferQuotaInMB="0"
scheduledTransferLogLevelFilter="Verbose"
scheduledTransferPeriod="PT1M" />
<Directories bufferQuotaInMB="0"
scheduledTransferPeriod="PT5M">
<!-- These three elements specify the special directories
that are set up for the log types -->
<CrashDumps container="wad-crash-dumps" directoryQuotaInMB="256" />
<FailedRequestLogs container="wad-frq" directoryQuotaInMB="256" />
<IISLogs container="wad-iis" directoryQuotaInMB="256" />
</Directories>
<PerformanceCounters bufferQuotaInMB="0" scheduledTransferPeriod="PT1M">
<!-- The counter specifier is in the same format as the imperative
diagnostics configuration API -->
<PerformanceCounterConfiguration
counterSpecifier="\Processor(_Total)\% Processor Time" sampleRate="PT5M" />
<PerformanceCounterConfiguration
counterSpecifier="\Memory\Available Mbytes" sampleRate="PT5M" />
</PerformanceCounters>
<WindowsEventLog bufferQuotaInMB="0"
scheduledTransferLogLevelFilter="Verbose"
scheduledTransferPeriod="PT5M">
<!-- The event log name is in the same format as the imperative
diagnostics configuration API -->
<DataSource name="System!*" />
</WindowsEventLog>
</DiagnosticMonitorConfiguration>
步骤6:现在添加了配置更改,需要通过。
将新设置发布到Windows Azure云Publish-AzureServiceProject
或
Publish-AzureServiceProject –ServiceName <myNewServiceName>
此过程将花费一些时间和结束,您已启用诊断功能Windows Azure服务..
重要说明:这是基本诊断设置的简要指南,可以进行更多自定义,可以参考各种Microsoft Silver衬管博客帖子,例如this