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

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

对于使用 Azure 云服务的具有多个实例的部署,是否可以在 Windows Azure 中访问事件日志?如有必要,它将能够查看每个服务器实例的事件日志。“黑匣子”的东西根本行不通。

答案1

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

另一方面,你可以配置 Azure 诊断来复制事件日志定期到 Azure Blob 存储帐户。

  1. 在 .csdef 中启用 Azure 诊断

    <WebRole name="roleName">
     <Imports>
      <Import moduleName="Diagnostics" />
     </Imports>
    </WebRole>
    
  2. 在 .cscfg 中配置诊断帐户(务必使用https为了默认端点协议)。

    <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/en-us/library/windowsazure/microsoft.windowsazure.diagnostics.diagnosticmonitorconfiguration.aspx了解详情。

相关内容