如何访问Windows Azure中的服务器实例上的Windows事件日志?

可以在Windows Azure上访问事件日志以进行具有多个实例的部署吗? 如有必要,它将能够查看每个服务器实例的事件日志。 “黑匣子”的东西并没有削减。

如果启用远程桌面,则可以连接到每个实例并远程检查事件日志。

另一方面,您可以将Azure诊断程序configuration为定期将事件日志复制到Azure Blob存储帐户。

  1. 在.csdef中启用Azure诊断

    <WebRole name="roleName"> <Imports> <Import moduleName="Diagnostics" /> </Imports> </WebRole> 
  2. 在.cscfg中configuration诊断帐号(确保使用https作为DefaultEndpointsProtocol )。

     <Role name="roleName"> <Instances count="1" /> <ConfigurationSettings> <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=accountName;AccountKey=accountKey" /> </ConfigurationSettings> </Role> 
  3. 将诊断初始化添加到OnStart方法。

     var config = DiagnosticMonitor.GetDefaultInitialConfiguration(); config.WindowsEventLog.DataSources.Add("System!*"); DiagnosticMonitor.Start("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString", config); 

有关详细信息,请参阅http://msdn.microsoft.com/zh-CN/library/windowsazure/microsoft.windowsazure.diagnostics.diagnosticmonitorconfiguration.aspx