对于使用 Azure 云服务的具有多个实例的部署,是否可以在 Windows Azure 中访问事件日志?如有必要,它将能够查看每个服务器实例的事件日志。“黑匣子”的东西根本行不通。
答案1
如果启用远程桌面,您可以连接到每个实例并远程检查事件日志。
另一方面,你可以配置 Azure 诊断来复制事件日志定期到 Azure Blob 存储帐户。
在 .csdef 中启用 Azure 诊断
<WebRole name="roleName"> <Imports> <Import moduleName="Diagnostics" /> </Imports> </WebRole>
在 .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>
将诊断初始化添加到 OnStart 方法。
var config = DiagnosticMonitor.GetDefaultInitialConfiguration(); config.WindowsEventLog.DataSources.Add("System!*"); DiagnosticMonitor.Start("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString", config);