0

我们的网站目前已部署到 azure,我们正在使用 azure 诊断程序编写跟踪日志。然后,我们定期将日志发送到 blob 存储,并使用 Cerebrata 的 Windows 诊断管理器软件读取它们。我想知道在 azure 上保存日志的光盘已满时会发生什么,即在运送日志之前。什么时候清除日志?如果没有运送原木,是否有任何不同。我担心的是,当尝试写入完整的光盘时出现异常(如果有的话),该站点可能会以某种方式崩溃。

非常感谢

4

2 回答 2

1

如果您使用的是 Windows Azure 诊断程序,那么它将使磁盘上的日志过期(首先删除最旧的文件)。您在 blob 存储中的 wad-control-container 中以实例级别为基础指定了一个配额。默认情况下,这将是 4GB(您可以更改它)。您的所有跟踪、计数器和事件日志都需要适合这 4GB 的磁盘空间。如果您也喜欢每个数据源,也可以在此处设置单独的配额。诊断管理器负责管理数据源和配额。

现在,旧版本的 SDK 中存在一个错误,即磁盘可能已满并且诊断程序停止工作。通过 RDP 进入实例并尝试导航到 C:\Resources\Directory\\Monitor 目录,您将知道您是否会受到此错误的影响。如果您被拒绝访问,那么您很可能会遇到此错误。如果您可以在机器上以普通管理员的身份查看此目录,则不会受到影响。旧版 SDK 中存在权限问题,删除此目录失败。不幸的是,这种影响的唯一症状是突然间您将无法再将数据传输出去。没有明显的失败。

于 2012-06-15T14:27:00.973 回答
0

您是使用 System.Diagnostics.Trace 来“写入”您的日志,还是正在写入日志文件。无论哪种方式,都有一个汇总。这意味着如果您达到存储配额,在传输日志之前,最旧的日志将被删除。但是您可以轻松增加默认(4G!)日志配额。

请查看以下文章和帖子,详细描述 Windows Azure 中的诊断:

http://blogs.msdn.com/b/golive/archive/2012/04/21/windows-azure-diagnostics-from-the-ground-up.aspx

http://www.windowsazure.com/en-us/develop/net/common-tasks/diagnostics/

http://msdn.microsoft.com/en-us/library/windowsazure/hh411544.aspx

于 2012-06-15T11:31:57.493 回答