我正在使用Windows Azure托管我的python项目,而我正在尝试启用诊断而没有良好的结果。
由于我使用的是python而不是.NET,我实际配置它的唯一方法是通过配置文件。
在我的配置文件下面:
ServiceDefinition.csdef中
...
<Imports>
<Import moduleName="Diagnostics" />
</Imports>
...
ServiceConfiguration.Cloud.cscfg
....
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=<my-account-name>;AccountKey=<my-account-key"/>
....
diagnostics.wadcfg :
<DiagnosticMonitorConfiguration xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration"
configurationChangePollInterval="PT10M"
overallQuotaInMB="1200">
<DiagnosticInfrastructureLogs bufferQuotaInMB="100"
scheduledTransferLogLevelFilter="Warning"
scheduledTransferPeriod="PT5M" />
<Logs bufferQuotaInMB="200"
scheduledTransferLogLevelFilter="Warning"
scheduledTransferPeriod="PT5M" />
<Directories bufferQuotaInMB="600"
scheduledTransferPeriod="PT5M">
<CrashDumps container="wad-crash-dumps" directoryQuotaInMB="200" />
<FailedRequestLogs container="wad-frq" directoryQuotaInMB="200" />
<IISLogs container="wad-iis" directoryQuotaInMB="200" />
</Directories>
<WindowsEventLog bufferQuotaInMB="200"
scheduledTransferLogLevelFilter="Warning"
scheduledTransferPeriod="PT5M">
<DataSource name="System!*" />
</WindowsEventLog>
</DiagnosticMonitorConfiguration>
在诊断管理器中,我实际上看不到任何数据。
感谢。
答案 0 :(得分:1)
请问您的diagnostics.wadcfg在哪里?对于常规辅助角色,diagnostics.wadcfg必须位于根文件夹中,并且因为项目中没有辅助角色模块,所以角色文件夹的体系结构位置非常重要。确保Python应用程序中的文件夹结构与常规辅助角色完全相同,然后将diagnostics.wadcfg放在角色根文件夹中。 (将该信息添加回您的问题以进行验证)
您是否在Windows Azure Blob存储中创建了诊断配置XML,该存储在* .Diagnostics.ConnectionString中配置。这是一个检查,表明Azure角色中的诊断组件能够读取提供的配置,并可以在目标blob stroage上创建配置XML(将使用相同的Azure存储来编写日志Azure表存储)。请验证。
最后你的diagnostics.wadcfg需要更多的工作。由于这是一个非.net工作者角色,您已配置IIS日志记录(您是否真的以工作者角色运行IIS?)并且还安排了系统事件日志以传输“仅警告”,因此如果没有警告。最后,日志传输时间设置为5分钟,在测试期间很长。
我可以建议如下测试诊断是否有效:
上面应该可以帮助您解决问题。