问题
The deployment of one of my apps to a Service Fabric Cluster
failed and triggered an Unhealthy Evaluation with an error event saying: There was an error during CodePackage activation.The service host terminated with exit code:3762504530
However, on the node where the app is deployed, Health State indicates: The application was activated successfully.
Is there any way to get a more detailed report on the error event?
回答1:
I usually connect via RDP to the affected node and do the following things in such a case:
Check Console-Out / Console-Error logs: Service Fabric stores console output (if enabled via
<ConsoleRedirection>
in yourServiceManifest.xml
) and errors in a log folder. On your DEV cluster, this should beC:\SfDevCluster\Data\_App\Node.x\<ApplicationTypeFolder>\log
. On a default installation in Azure, it should beD:\SvcFab\_App\<ApplicationTypeFolder>\log
EventLog: .NET exceptions sometimes show up in the "Application" log, but Service Fabric also has its own subfolder which might contain helpful events.
PerfView: PerfView is a very powerful tool to monitor ETW events (Event Tracing for Windows). Since .NET exceptions are logged as ETW events, PerfView might show you helpful exceptions. Here's a quick tutorial:
- Download and run PerfView
- Go to "Collect -> Collect". De-Select "Merge".
- Click "Start Collection".
- Now kill your Service Fabric Service through Process Explorer, in case it is running. Moments later, Service Fabric will start it again.
- If your service is not running, re-deploy your service.
- After the service failed, press "Stop collection" in PerfView.
- Now double-click on "Events" in the left tree - this will open all recorded ETW events.
- Search for "Microsoft-Windows-DotNETRuntime/Exception/Start" and double click on it.
- You should now see all .NET exceptions that occurred, ordered by time.
来源:https://stackoverflow.com/questions/37885213/azure-service-fabric-activation-error