我已经部署了我的 azure 云服务,但我的一些实例仍然不健康并不断回收。我在不健康实例的状态列中看到“正在回收(角色遇到错误并已停止。站点已部署。 ”)。
我从配置窗格为无法正常工作的角色启用了诊断,但我不知道在哪里可以找到实例日志。你能告诉我在哪里可以找到吗?
谢谢,
我已经部署了我的 azure 云服务,但我的一些实例仍然不健康并不断回收。我在不健康实例的状态列中看到“正在回收(角色遇到错误并已停止。站点已部署。 ”)。
我从配置窗格为无法正常工作的角色启用了诊断,但我不知道在哪里可以找到实例日志。你能告诉我在哪里可以找到吗?
谢谢,
由于这是一个非常受欢迎的问题,我想在这里提供一个深入的解释,因此您可能已经知道其中的一些内容:
实例回收时有几种流行的场景:
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(商业产品,面向主动监控,但允许您按需检查大部分日志,免责声明:我隶属于该产品)
希望这可以帮助
尝试使用 Azure Explorer 或类似工具来探索 Blob 存储的内容。如果如您所说启用了诊断,则 Azure 将配置保存在名为wad-control-container
.