0

我已经部署了我的 azure 云服务,但我的一些实例仍然不健康并不断回收。我在不健康实例的状态列中看到“正在回收(角色遇到错误并已停止。站点已部署。 ”)。

我从配置窗格为无法正常工作的角色启用了诊断,但我不知道在哪里可以找到实例日志。你能告诉我在哪里可以找到吗?

谢谢,

4

2 回答 2

3

由于这是一个非常受欢迎的问题,我想在这里提供一个深入的解释,因此您可能已经知道其中的一些内容:

实例回收时有几种流行的场景:

1) 您的应用缺少不允许 IIS 启动应用的依赖 DLL。

2) 您的 WorkerRole.cs 或 WebRole.cs 包含未处理的异常

3)您的启动脚本包含错误

为了正确调试,您需要确保:

1) 在角色的属性上启用了 Azure 诊断(这可以通过复选框在 Visual Studio 中完成)。需要存储帐户来托管诊断数据。它可以是您发布解决方案的渠道。

2) 您的 WebRole.cs 和/或 WorkerRole.cs 文件包含适当的 try/catch 并记录到某些外部存储。记录到 Trace 似乎最简单,因为 Azure 诊断支持将数据传输到外部存储。

3) 您已将 Azure 诊断配置为将正确的数据实际传输到诊断存储帐户。最好的方法是在包含传输 EventViewer、基础结构和跟踪日志所需的配置的解决方案中加入一个diagnostics.wadcfg文件。

4) 最后,您需要在应用程序的 app.config 中配置监控 Trace 日志,以便 Trace 基础设施真正监听您的 Trace 调用。

链接包含有关上述所有信息的更深入信息。

最后,在完成所有这些操作后,您实际上可以检查诊断存储帐户中的数据以查看问题所在。有一些工具可以提供帮助:

1) RedGate/Cerebrata 的管理工作室@http://www.cerebrata.com/products/azure-management-studio/introduction 商业产品)

2) Visual Studio 中的内置工具可帮助您探索任何存储帐户的内容。(您必须使用它手动搜索和查询必要的 WAD 表和容器,但它是免费的)

3) AzureWatch @ http://www.paraleap.com(商业产品,面向主动监控,但允许您按需检查大部分日志,免责声明:我隶属于该产品)

希望这可以帮助

于 2013-06-06T14:17:24.587 回答
0

尝试使用 Azure Explorer 或类似工具来探索 Blob 存储的内容。如果如您所说启用了诊断,则 Azure 将配置保存在名为wad-control-container.

于 2013-06-06T12:17:44.983 回答