Azure Service Fabric 激活错误

Azure Service Fabric activation error

将我的一个应用程序部署到 Service Fabric Cluster 失败并触发了不健康评估,错误事件为:There was an error during CodePackage activation.The service host terminated with exit code:3762504530

但是,在部署应用程序的节点上,Health State 指示:The application was activated successfully.

有什么方法可以得到更详细的错误事件报告吗?

我通常通过 RDP 连接到受影响的节点,并在这种情况下执行以下操作:

  • 检查控制台输出/控制台错误日志:Service Fabric 存储控制台输出(如果通过 <ConsoleRedirection> 在您的 ServiceManifest.xml) 和日志文件夹中的错误。在您的 DEV 集群上,这应该是 C:\SfDevCluster\Data\_App\Node.x\<ApplicationTypeFolder>\log。在 Azure 中的默认安装中,它应该是 D:\SvcFab\_App\<ApplicationTypeFolder>\log

  • EventLog:.NET 异常有时会出现在 "Application" 日志中,但 Service Fabric 也有自己的子文件夹,其中可能包含有用的事件.

  • PerfView:PerfView 是一个非常强大的工具,用于监视 ETW 事件(Windows 的事件跟踪)。由于 .NET 异常记录为 ETW 事件,PerfView 可能会向您显示有用的异常。这是一个快速教程:

    • 下载并运行PerfView
    • 前往 "Collect -> Collect"。德-Select"Merge"。
    • 单击 "Start Collection"。
    • 现在通过 Process Explorer 终止您的 Service Fabric 服务,以防它 运行ning。片刻之后,Service Fabric 将再次启动它。
    • 如果您的服务不是 运行ning,请重新部署您的服务。
    • 服务失败后,在PerfView中按"Stop collection"。
    • 现在双击左侧树中的 "Events" - 这将打开所有记录的 ETW 事件。
    • 搜索 "Microsoft-Windows-DotNETRuntime/Exception/Start" 并双击它。
    • 您现在应该看到所有发生的 .NET 异常,按时间排序。