web-dev-qa-db-fra.com

Erreur d'activation d'Azure Service Fabric

Le déploiement d'une de mes applications sur un Service Fabric Cluster a échoué et a déclenché une évaluation malsaine avec un événement d'erreur indiquant: There was an error during CodePackage activation.The service Host terminated with exit code:3762504530

Cependant, sur le nœud sur lequel l'application est déployée, État d'intégrité indique: The application was activated successfully.

Existe-t-il un moyen d'obtenir un rapport plus détaillé sur l'événement d'erreur?

17
Horia Toma

Je me connecte généralement via RDP au nœud affecté et fais les choses suivantes dans un tel cas:

  • Vérifiez les journaux Console-Out/Console-Error : Service Fabric stocke la sortie de la console (si elle est activée via <ConsoleRedirection> dans ton ServiceManifest.xml) et les erreurs dans un dossier de journal. Sur votre cluster DEV, cela devrait être C:\SfDevCluster\Data\_App\Node.x\<ApplicationTypeFolder>\log. Sur une installation par défaut dans Azure, il doit être D:\SvcFab\_App\<ApplicationTypeFolder>\log

  • EventLog : les exceptions .NET apparaissent parfois dans le journal "Application", mais Service Fabric a également son propre sous-dossier qui peut contenir des événements utiles.

  • PerfView : PerfView est un outil très puissant pour surveiller les événements ETW (Event Tracing for Windows). Étant donné que les exceptions .NET sont enregistrées en tant qu'événements ETW, PerfView peut vous montrer des exceptions utiles. Voici un petit tutoriel:

    • Téléchargez et exécutez PerfView
    • Allez dans "Collect -> Collect". Désélectionnez "Fusionner".
    • Cliquez sur "Démarrer la collecte".
    • Arrêtez maintenant votre service Service Fabric via Process Explorer, au cas où il serait en cours d'exécution. Quelques instants plus tard, Service Fabric le redémarrera.
    • Si votre service n'est pas en cours d'exécution, redéployez votre service.
    • Après l'échec du service, appuyez sur "Arrêter la collecte" dans PerfView.
    • Maintenant, double-cliquez sur "Événements" dans l'arborescence de gauche - cela ouvrira tous les événements ETW enregistrés.
    • Recherchez "Microsoft-Windows-DotNETRuntime/Exception/Start" et double-cliquez dessus.
    • Vous devriez maintenant voir toutes les exceptions .NET qui se sont produites, classées par heure.
24
Christian Weiss