Verwenden von Systemintegritätsberichten für die ProblembehandlungUse system health reports to troubleshoot

Azure Service Fabric-Komponenten erstellen direkt Integritätsberichte für alle Entitäten im Cluster.Azure Service Fabric components provide system health reports on all entities in the cluster right out of the box. Im Integritätsspeicher werden Entitäten basierend auf den Systemberichten erstellt und gelöscht.The health store creates and deletes entities based on the system reports. Darüber hinaus werden sie in einer Hierarchie organisiert, in der Interaktionen zwischen den Entitäten erfasst werden.It also organizes them in a hierarchy that captures entity interactions.

Hinweis

Informationen zu integritätsbezogenen Konzepten finden Sie unter Einführung in die Service Fabric-Integritätsüberwachung.To understand health-related concepts, read more at Service Fabric health model.

Die Systemintegritätsberichte sorgen für Transparenz in Bezug auf die Cluster- und Anwendungsfunktionen und weisen auf Probleme hin.System health reports provide visibility into cluster and application functionality, and flag problems. Für Anwendungen und Dienste wird mit den Systemintegritätsberichten überprüft, ob Entitäten implementiert sind und sich aus Sicht von Service Fabric richtig verhalten.For applications and services, system health reports verify that entities are implemented and are behaving correctly from the Service Fabric perspective. Die Berichte umfassen weder die Integritätsüberwachung der Geschäftslogik des Diensts noch die Erkennung von Prozessen, die nicht mehr reagieren.The reports don't provide any health monitoring of the business logic of the service or detection of processes that are not responding. Benutzerdienste können die Integritätsdaten um spezielle Informationen zu ihrer Logik erweitern.User services can enrich the health data with information specific to their logic.

Hinweis

Die von Watchdogs des Benutzers gesendeten Integritätsberichte werden erst angezeigt, nachdem die Systemkomponenten eine Entität erstellt haben.Health reports sent by user watchdogs are visible only after the system components create an entity. Wenn eine Entität gelöscht wird, werden vom Integritätsspeicher automatisch alle dazugehörigen Integritätsberichte gelöscht.When an entity is deleted, the health store automatically deletes all the health reports associated with it. Dies gilt auch, wenn eine neue Instanz der Entität erstellt wird.The same is true when a new instance of the entity is created. Ein Beispiel hierfür ist, wenn eine neue zustandsbehaftete, persistente Dienstreplikatinstanz erstellt wird.An example is when a new stateful persisted service replica instance is created. Alle Berichte, die der alten Instanz zugeordnet sind, werden gelöscht und im Speicher bereinigt.All reports associated with the old instance are deleted and cleaned up from the store.

Die Systemkomponentenberichte werden über die Quelle identifiziert. Diese beginnt mit dem „System. “-The system component reports are identified by the source, which starts with the "System." .prefix. Watchdogs können nicht das gleiche Präfix für ihre Quellen verwenden, da Berichte mit ungültigen Parametern abgelehnt werden.Watchdogs can't use the same prefix for their sources, as reports with invalid parameters are rejected.

Nun sehen wir uns einige Systemberichte an, um zu verstehen, wodurch sie ausgelöst werden und wie mögliche Probleme behoben werden, die damit verbunden sind.Let's look at some system reports to understand what triggers them and to learn how to correct the potential problems they represent.

Hinweis

Service Fabric fügt weiterhin Berichte für relevante Bedingungen hinzu, die zu einer besseren Transparenz in Bezug auf die Vorgänge im Cluster und in den Anwendungen führen.Service Fabric continues to add reports on conditions of interest that improve visibility into what is happening in the cluster and the applications. Vorhandene Berichte können um zusätzliche Details erweitert werden, damit das Problem schneller behoben werden kann.Existing reports can be enhanced with more details to help troubleshoot the problem faster.

Cluster-SystemintegritätsberichteCluster system health reports

Die Entität für die Clusterintegrität wird im Integritätsspeicher automatisch erstellt.The cluster health entity is created automatically in the health store. Wenn alles ordnungsgemäß funktioniert, liegt kein Systembericht vor.If everything works properly, it doesn't have a system report.

Verlust der NachbarschaftNeighborhood loss

System.Federation meldet einen Fehler, wenn ein Verlust der „Nachbarschaft“ (Neighborhood) erkannt wird.System.Federation reports an error when it detects a neighborhood loss. Der Bericht stammt von einzelnen Knoten. Die Knoten-ID wird in den Eigenschaftsnamen eingefügt.The report is from individual nodes, and the node ID is included in the property name. Wenn eine Nachbarschaft im gesamten Service Fabric-Ring verloren geht, sind meist zwei Ereignisse zu erwarten, die beide Seiten des Berichts zur Lücke darstellen.If one neighborhood is lost in the entire Service Fabric ring, you can typically expect two events that represent both sides of the gap report. Falls weitere Nachbarschaften verloren gehen, ist die Anzahl von Ereignissen höher.If more neighborhoods are lost, there are more events.

Im Bericht wird das Global Lease-Timeout als Gültigkeitsdauer (Time to Live, TTL) angegeben.The report specifies the global-lease timeout as the time-to-live (TTL). Der Bericht wird jeweils zur Hälfte der Gültigkeitsdauer erneut gesendet, solange die Bedingung aktiv ist.The report is resent every half of the TTL duration for as long as the condition remains active. Wenn das Ereignis abläuft, wird es automatisch entfernt.The event is automatically removed when it expires. Durch dieses Verhalten ist selbst bei einem Ausfall des berichtenden Knotens eine ordnungsgemäße Bereinigung des Integritätsspeichers gewährleistet.Remove-when-expired behavior ensures that the report is cleaned up from the health store correctly, even if the reporting node is down.

  • SourceID: System.FederationSourceId: System.Federation
  • Property: Beginnt mit Neighborhood und enthält Knoteninformationen.Property: Starts with Neighborhood and includes node information.
  • Nächste Schritte: Untersuchen, warum es zu einem Verlust der Umgebung kommt.Next steps: Investigate why the neighborhood is lost. Überprüfen Sie beispielsweise die Kommunikation zwischen den Clusterknoten.For example, check the communication between cluster nodes.

Neu erstellenRebuild

Der Dienst Failover-Manager (FM) verwaltet Informationen zu den Clusterknoten.The Failover Manager (FM) service manages information about the cluster nodes. Im Falle eines Datenverlusts im FM sind die Informationen zu den Clusterknoten unter Umständen nicht auf dem neuesten Stand.When FM loses its data and goes into data loss, it can't guarantee that it has the most updated information about the cluster nodes. In diesem Fall wird für das System eine Neuerstellung durchgeführt, und System.FM sammelt Daten von allen Knoten im Cluster, um den Zustand neu zu erstellen.In this case, the system goes through a rebuild, and System.FM gathers data from all nodes in the cluster in order to rebuild its state. Manchmal kann die Neuerstellung aufgrund von Netzwerk- oder Knotenproblemen hängen bleiben oder angehalten werden.Sometimes, due to networking or node issues, rebuild can get stuck or stalled. Das gleiche Problem kann beim Dienst „Failover-Manager-Master“ (FMM) auftreten.The same can happen with the Failover Manager Master (FMM) service. Der FMM ist ein zustandsloser Systemdienst, der die Position aller FMs im Cluster nachverfolgt.The FMM is a stateless system service that keeps track of where all the FMs are in the cluster. Der Primärknoten eines FMM ist immer der Knoten, dessen ID am nächsten bei 0 liegt.The FMM's primary is always the node with the ID closest to 0. Wird dieser Knoten verworfen, wird eine Neuerstellung ausgelöst.If that node gets dropped, a rebuild is triggered. Im Falle einer dieser Bedingungen weist System.FM oder System.FMM mithilfe eines Fehlerberichts darauf hin.When one of the previous conditions happens, System.FM or System.FMM flags it through an error report. Die Neuerstellung kann in einer von zwei Phasen hängen bleiben:Rebuild might be stuck in one of two phases:

  • Warten auf die Übertragung: FM/FMM wartet auf eine Antwort auf die Broadcastmeldung durch die anderen Knoten.Waiting for broadcast: FM/FMM waits for the broadcast message reply from the other nodes.

    • Nächste Schritte: Überprüfen Sie, ob ein Netzwerkverbindungsfehler zwischen Knoten aufgetreten ist.Next steps: Investigate whether there is a network connection issue between nodes.
  • Warten auf Knoten: FM/FMM hat von den anderen Knoten bereits eine Antwort auf die Broadcastmeldung erhalten und wartet auf die Antwort von bestimmten Knoten.Waiting for nodes: FM/FMM already received a broadcast reply from the other nodes and is waiting for a reply from specific nodes. Im Integritätsbericht sind die Knoten aufgeführt, auf deren Antwort FM/FMM wartet.The health report lists the nodes for which the FM/FMM is waiting for a response.

    • Nächste Schritte: Überprüfen Sie die Netzwerkverbindung zwischen FM/FMM und den aufgeführten Knoten.Next steps: Investigate the network connection between the FM/FMM and the listed nodes. Untersuchen Sie alle aufgeführten Knoten auf andere mögliche Probleme.Investigate each listed node for other possible issues.
  • SourceID: System.FM oder System.FMMSourceID: System.FM or System.FMM

  • Property: Neuerstellung.Property: Rebuild.

  • Nächste Schritte: Überprüfen Sie die Netzwerkverbindung zwischen den Knoten sowie den Zustand bestimmter Knoten, die in der Beschreibung des Integritätsberichts aufgeführt sind.Next steps: Investigate the network connection between the nodes, as well as the state of any specific nodes that are listed on the description of the health report.

StartknotenstatusSeed Node Status

System.FM gibt eine Warnung auf Clusterebene aus, wenn einige Startknoten fehlerhaft sind.System.FM reports a cluster level warning if some seed nodes are unhealthy. Startknoten sind Knoten zur Aufrechterhaltung der Verfügbarkeit des zugrunde liegenden Clusters.Seed nodes are the nodes which maintain the availability of the underlying cluster. Diese Knoten gewährleisten die Verfügbarkeit des Clusters durch die Einrichtung von Leases mit anderen Knoten. Darüber hinaus fungieren sie als entscheidendes Element bei bestimmten Arten von Netzwerkausfällen.These nodes help to ensure the cluster remains up by establishing leases with other nodes and serving as tiebreakers during certain kinds of network failures. Falls ein Großteil der Startknoten im Cluster nicht mehr verfügbar ist und nicht wiederhergestellt wird, wird der Cluster automatisch heruntergefahren.If a majority of the seed nodes are down in the cluster and they are not brought back, the cluster automatically shuts down.

Ein Startknoten ist fehlerhaft, wenn der Knotenstatus „Down“, „Removed“ oder „Unknown“ lautet.A seed node is unhealthy if its node status is Down, Removed or Unknown. Im Warnungsbericht für den Status des Startknotens sind alle fehlerhaften Startknoten mit detaillierten Informationen aufgeführt.The warning report for seed node status will list all the unhealthy seed nodes with detailed information.

  • SourceID: System.FMSourceID: System.FM
  • Property: SeedNodeStatusProperty: SeedNodeStatus
  • Nächste Schritte: Wenn diese Warnung im Cluster angezeigt wird, führen Sie die folgenden Anweisungen aus, um das Problem zu beheben: Für Cluster, auf denen Service Fabric-Version 6.5 oder höher ausgeführt wird: Wenn der Service Fabric-Cluster unter Azure ausgeführt wird, versucht Service Fabric, nachdem der Startknoten heruntergefahren ist, ihn automatisch in einen Nicht-Startknoten zu ändern.Next steps: If this warning shows in the cluster, follow below instructions to fix it: For cluster running Service Fabric version 6.5 or higher: For Service Fabric cluster on Azure, after the seed node goes down, Service Fabric will try to change it to a non-seed node automatically. Stellen Sie dazu sicher, dass die Anzahl der Nicht-Startknoten im primären Knotentyp nicht kleiner ist als die Anzahl der Down-Startknoten.To make this happen, make sure the number of non-seed nodes in the primary node type is greater or equal to the number of Down seed nodes. Fügen Sie zu diesem Zweck bei Bedarf weitere Knoten zum primären Knotentyp hinzu.If necessary, add more nodes to the primary node type to achieve this. Je nach den Status des Clusters kann es einige Zeit dauern, das Problem zu beheben.Depending on the cluster status, it may take some time to fix the issue. Sobald das Problem behoben ist, wird der Warnungsbericht automatisch gelöscht.Once this is done, the warning report is automatically cleared.

Bei eigenständigen Service Fabric-Clustern müssen zum Löschen des Warnungsberichts alle Startknoten fehlerfrei sind.For Service Fabric standalone cluster, to clear the warning report, all the seed nodes need to become healthy. Je nachdem, warum die Startknoten fehlerhaft sind, müssen verschiedene Maßnahmen ergriffen werden: wenn der Startknoten den Status „Down“ hat, müssen Benutzer den Startknoten starten; wenn der Startknoten den Status „Removed“ oder „Unknown“ hat, muss dieser aus dem Cluster entfernt werden.Depending on why seed nodes are unhealthy, different actions need to be taken: if the seed node is Down, users need to bring that seed node up; if the seed node is Removed or Unknown, this seed node needs to be removed from the cluster. Der Warnungsbericht wird automatisch gelöscht, wenn alle Startknoten fehlerfrei sind.The warning report is automatically cleared when all seed nodes become healthy.

Für Cluster, auf denen eine niedrigere Service Fabric-Version als 6.5 ausgeführt wird: In diesem Fall muss der Warnungsbericht manuell gelöscht werden.For cluster running Service Fabric version older than 6.5: In this case, the warning report needs to be cleared manually. Benutzer müssen sicherstellen, dass die Startknoten vor dem Löschen des Berichts fehlerfrei sind: wenn der Startknoten den Status „Down“ hat, müssen Benutzer den Startknoten starten; wenn der Startknoten den Status „Removed“ oder „Unknown“ hat, muss dieser aus dem Cluster entfernt werden.Users should make sure all the seed nodes become healthy before clearing the report: if the seed node is Down, users need to bring that seed node up;if the seed node is Removed or Unknown, that seed node needs to be removed from the cluster. Wenn alle Startknoten fehlerfrei sind, verwenden Sie den folgenden Befehl aus Powershell, um den Warnungsbericht zu löschen:After all the seed nodes become healthy, use following command from Powershell to clear the warning report:

PS C:\> Send-ServiceFabricClusterHealthReport -SourceId "System.FM" -HealthProperty "SeedNodeStatus" -HealthState OK

## Node system health reports
System.FM, which represents the Failover Manager service, is the authority that manages information about cluster nodes. Each node should have one report from System.FM showing its state. The node entities are removed when the node state is removed. For more information, see [RemoveNodeStateAsync](https://docs.microsoft.com/dotnet/api/system.fabric.fabricclient.clustermanagementclient.removenodestateasync).

### Node up/down
System.FM reports as OK when the node joins the ring (it's up and running). It reports an error when the node departs the ring (it's down, either for upgrading or simply because it has failed). The health hierarchy built by the health store acts on deployed entities in correlation with System.FM node reports. It considers the node a virtual parent of all deployed entities. The deployed entities on that node are exposed through queries if the node is reported as up by System.FM, with the same instance as the instance associated with the entities. When System.FM reports that the node is down or restarted, as a new instance, the health store automatically cleans up the deployed entities that can exist only on the down node or on the previous instance of the node.

* **SourceId**: System.FM
* **Property**: State.
* **Next steps**: If the node is down for an upgrade, it should come back up after it's been upgraded. In this case, the health state should switch back to OK. If the node doesn't come back or it fails, the problem needs more investigation.

The following example shows the System.FM event with a health state of OK for node up:

```powershell
PS C:\> Get-ServiceFabricNodeHealth  _Node_0

NodeName              : _Node_0
AggregatedHealthState : Ok
HealthEvents          : 
                        SourceId              : System.FM
                        Property              : State
                        HealthState           : Ok
                        SequenceNumber        : 8
                        SentAt                : 7/14/2017 4:54:51 PM
                        ReceivedAt            : 7/14/2017 4:55:14 PM
                        TTL                   : Infinite
                        Description           : Fabric node is up.
                        RemoveWhenExpired     : False
                        IsExpired             : False
                        Transitions           : Error->Ok = 7/14/2017 4:55:14 PM, LastWarning = 1/1/0001 12:00:00 AM

ZertifikatablaufCertificate expiration

System.FabricNode gibt eine Warnung aus, wenn vom Knoten verwendete Zertifikate kurz vor dem Ablauf stehen.System.FabricNode reports a warning when certificates used by the node are near expiration. Es gibt drei Zertifikate pro Knoten: Certificate_cluster, Certificate_server und Certificate_default_client.There are three certificates per node: Certificate_cluster, Certificate_server, and Certificate_default_client. Wenn das Ablaufdatum noch mindestens zwei Wochen entfernt ist, lautet der Berichtsintegritätsstatus „OK“.When the expiration is at least two weeks away, the report health state is OK. Wenn der Ablauf in weniger als zwei Wochen erfolgt, wird als Berichtstyp eine Warnung erstellt.When the expiration is within two weeks, the report type is a warning. Die Gültigkeitsdauer (TTL) dieser Ereignisse ist unendlich. Sie werden entfernt, wenn ein Knoten den Cluster verlässt.TTL of these events is infinite, and they are removed when a node leaves the cluster.

  • SourceID: System.FabricNodeSourceId: System.FabricNode
  • Property: Beginnt mit Certificate und enthält weitere Informationen zum Zertifikattyp.Property: Starts with Certificate and contains more information about the certificate type.
  • Nächste Schritte: Aktualisieren Sie die Zertifikate, wenn sie in Kürze ablaufen.Next steps: Update the certificates if they are near expiration.

Verletzung der LadekapazitätLoad capacity violation

Der Service Fabric Load Balancer gibt eine Warnung aus, wenn eine Verletzung einer Knotenkapazität erkannt wird.The Service Fabric Load Balancer reports a warning when it detects a node capacity violation.

  • SourceID: System.PLBSourceId: System.PLB
  • Property: Beginnt mit Capacity.Property: Starts with Capacity.
  • Nächste Schritte: Überprüfen Sie die bereitgestellten Metriken, und zeigen Sie die aktuelle Kapazität auf dem Knoten an.Next steps: Check the provided metrics and view the current capacity on the node.

Nichtübereinstimmung der Knotenkapazität für RessourcenkontrollmetrikenNode capacity mismatch for resource governance metrics

System.Hosting gibt eine Warnung aus, wenn definierte Knotenkapazitäten im Clustermanifest größer als die tatsächlichen Knotenkapazitäten für Ressourcenkontrollmetriken (Arbeitsspeicher und CPU-Kerne) sind.System.Hosting reports a warning if defined node capacities in the cluster manifest are larger than the real node capacities for resource governance metrics (memory and CPU cores). Ein Integritätsbericht wird angezeigt, wenn das erste Dienstpaket, für das die Ressourcenkontrolle verwendet wird, für einen angegebenen Knoten registriert wird.A health report appears when the first service package that uses resource governance registers on a specified node.

  • SourceID: System.HostingSourceId: System.Hosting
  • Property: ResourceGovernance.Property: ResourceGovernance.
  • Nächste Schritte: Dies kann problematisch sein, weil die Kontrolle von Dienstpaketen nicht wie erwartet erzwungen wird und die Ressourcenkontrolle nicht richtig funktioniert.Next steps: This issue can be a problem because governing service packages aren't enforced as expected and resource governance doesn't work properly. Aktualisieren Sie das Clustermanifest mit den richtigen Knotenkapazitäten für diese Metriken, oder geben Sie sie nicht an, und lassen Sie verfügbare Ressourcen von Service Fabric automatisch erkennen.Update the cluster manifest with the correct node capacities for these metrics, or don't specify them and let Service Fabric automatically detect available resources.

Systemintegritätsberichte für AnwendungenApplication system health reports

System.CM steht für den Cluster-Manager-Dienst und ist die Autorität, die die Informationen zu einer Anwendung verwaltet.System.CM, which represents the Cluster Manager service, is the authority that manages information about an application.

StateState

System.CM gibt die Meldung „OK“ aus, wenn die Anwendung erstellt oder aktualisiert wurde.System.CM reports as OK when the application has been created or updated. Der Integritätsspeicher wird informiert, wenn die Anwendung gelöscht wurde, damit sie aus dem Speicher entfernt werden kann.It informs the health store when the application is deleted so that it can be removed from the store.

  • SourceID: System.CMSourceId: System.CM
  • Property: Status.Property: State.
  • Nächste Schritte: Wenn die Anwendung erstellt oder aktualisiert wurde, sollte sie den Cluster-Manager-Integritätsbericht enthalten.Next steps: If the application has been created or updated, it should include the Cluster Manager health report. Überprüfen Sie andernfalls den Status der Anwendung, indem Sie eine Abfrage ausführen.Otherwise, check the state of the application by issuing a query. Verwenden Sie beispielsweise das PowerShell-Cmdlet Get-ServiceFabricApplication -ApplicationName applicationName.For example, use the PowerShell cmdlet Get-ServiceFabricApplication -ApplicationName applicationName.

Das folgende Beispiel zeigt das Zustandsereignis für die Anwendung fabric:/WordCount :The following example shows the state event on the fabric:/WordCount application:

PS C:\> Get-ServiceFabricApplicationHealth fabric:/WordCount -ServicesFilter None -DeployedApplicationsFilter None -ExcludeHealthStatistics

ApplicationName                 : fabric:/WordCount
AggregatedHealthState           : Ok
ServiceHealthStates             : None
DeployedApplicationHealthStates : None
HealthEvents                    : 
                                  SourceId              : System.CM
                                  Property              : State
                                  HealthState           : Ok
                                  SequenceNumber        : 282
                                  SentAt                : 7/13/2017 5:57:05 PM
                                  ReceivedAt            : 7/14/2017 4:55:10 PM
                                  TTL                   : Infinite
                                  Description           : Application has been created.
                                  RemoveWhenExpired     : False
                                  IsExpired             : False
                                  Transitions           : Error->Ok = 7/13/2017 5:57:05 PM, LastWarning = 1/1/0001 12:00:00 AM

Dienst-SystemintegritätsberichteService system health reports

System.FMsteht für den Failover-Manager-Dienst und ist die Autorität, die die Informationen zu Diensten verwaltet.System.FM, which represents the Failover Manager service, is the authority that manages information about services.

StateState

System.FM gibt die Meldung „OK“ aus, wenn der Dienst erstellt wurde.System.FM reports as OK when the service has been created. Die Entität wird aus dem Integritätsspeicher gelöscht, wenn der Dienst gelöscht wurde.It deletes the entity from the health store when the service is deleted.

  • SourceID: System.FMSourceId: System.FM
  • Property: Status.Property: State.

Das folgende Beispiel zeigt das Zustandsereignis für den Dienst fabric:/WordCount/WordCountWebService:The following example shows the state event on the service fabric:/WordCount/WordCountWebService:

PS C:\> Get-ServiceFabricServiceHealth fabric:/WordCount/WordCountWebService -ExcludeHealthStatistics


ServiceName           : fabric:/WordCount/WordCountWebService
AggregatedHealthState : Ok
PartitionHealthStates : 
                        PartitionId           : 8bbcd03a-3a53-47ec-a5f1-9b77f73c53b2
                        AggregatedHealthState : Ok
                        
HealthEvents          : 
                        SourceId              : System.FM
                        Property              : State
                        HealthState           : Ok
                        SequenceNumber        : 14
                        SentAt                : 7/13/2017 5:57:05 PM
                        ReceivedAt            : 7/14/2017 4:55:10 PM
                        TTL                   : Infinite
                        Description           : Service has been created.
                        RemoveWhenExpired     : False
                        IsExpired             : False
                        Transitions           : Error->Ok = 7/13/2017 5:57:18 PM, LastWarning = 1/1/0001 12:00:00 AM

DienstkorrelationsfehlerService correlation error

System.PLB meldet einen Fehler, wenn erkannt wird, dass das Aktualisieren eines Diensts, der mit einem anderen Dienst korreliert werden soll, zu einer Affinitätskette führt.System.PLB reports an error when it detects that updating a service is correlated with another service that creates an affinity chain. Der Bericht wird gelöscht, wenn erfolgreich ein Update durchgeführt wurde.The report is cleared when a successful update happens.

  • SourceID: System.PLBSourceId: System.PLB
  • Property: ServiceDescription.Property: ServiceDescription.
  • Nächste Schritte: Überprüfen der korrelierten Dienstbeschreibungen.Next steps: Check the correlated service descriptions.

Systemintegritätsberichte für PartitionenPartition system health reports

System.FM steht für den Failover-Manager-Dienst und ist die Autorität, die die Informationen zu den Dienstpartitionen verwaltet.System.FM, which represents the Failover Manager service, is the authority that manages information about service partitions.

StateState

System.FM gibt die Meldung „OK“ aus, wenn die Partition erstellt wurde und fehlerfrei ist.System.FM reports as OK when the partition has been created and is healthy. Die Entität wird aus dem Integritätsspeicher gelöscht, wenn die Partition gelöscht wird.It deletes the entity from the health store when the partition is deleted.

Wenn die Replikatanzahl der Partition unterhalb des Mindestwerts liegt, wird ein Fehler gemeldet.If the partition is below the minimum replica count, it reports an error. Wenn der Mindestwert für die Replikatanzahl der Partition erfüllt wird, jedoch nicht die Zielreplikatanzahl, wird eine Warnung ausgegeben.If the partition is not below the minimum replica count, but it's below the target replica count, it reports a warning. Falls für die Partition ein Quorumverlust vorliegt, gibt System.FM einen Fehler aus.If the partition is in quorum loss, System.FM reports an error.

Zu anderen relevanten Ereignissen zählen unter anderem Warnungen, wenn die Neukonfiguration länger als erwartet dauert und wenn die Erstellung länger als erwartet dauert.Other notable events include a warning when the reconfiguration takes longer than expected and when the build takes longer than expected. Die erwarteten Zeiträume für die Erstellung und Neukonfiguration sind basierend auf Dienstszenarien konfigurierbar.The expected times for the build and reconfiguration are configurable based on the service scenarios. Wenn ein Dienst beispielsweise über Zustandsdaten im Terabytebereich verfügt (z.B. Azure SQL-Datenbank), dauert die Erstellung länger als bei einem Dienst mit einer geringeren Menge an Zustandsdaten.For example, if a service has a terabyte of state, such as Azure SQL Database, the build takes longer than for a service with a small amount of state.

  • SourceID: System.FMSourceId: System.FM
  • Property: Status.Property: State.
  • Nächste Schritte: Wenn der Integritätsstatus nicht „OK“ lautet, ist es möglich, dass einige Replikate nicht richtig erstellt, geöffnet oder auf primäre oder sekundäre Elemente heraufgestuft wurden.Next steps: If the health state is not OK, it's possible that some replicas have not been created, opened, or promoted to primary or secondary correctly.

Wenn in der Beschreibung ein Quorumsverlust angegeben ist, hilft es, den detaillierten Integritätsbericht auf inaktive Replikate zu überprüfen und diese wieder zu aktivieren, um so die Partition wieder online zu schalten.If the description describes quorum loss, then examining the detailed health report for replicas that are down and bringing them back up helps to bring the partition back online.

Wenn in der Beschreibung angegeben ist, dass die Neukonfiguration der Partition unterbrochen wurde, liefert der Integritätsbericht über das primäre Replikat zusätzliche Informationen.If the description describes a partition stuck in reconfiguration, then the health report on the primary replica provides additional information.

Für andere System.FM-Integritätsberichte liegen Berichte über die Replikate, die Partition oder den Dienst aus anderen Systemkomponenten vor.For other System.FM health reports, there would be reports on the replicas or the partition or service from other system components.

In den folgenden Beispielen werden einige dieser Berichte beschrieben.The following examples describe some of these reports.

Das folgende Beispiel zeigt eine fehlerfreie Partition:The following example shows a healthy partition:

PS C:\> Get-ServiceFabricPartition fabric:/WordCount/WordCountWebService | Get-ServiceFabricPartitionHealth -ExcludeHealthStatistics -ReplicasFilter None

PartitionId           : 8bbcd03a-3a53-47ec-a5f1-9b77f73c53b2
AggregatedHealthState : Ok
ReplicaHealthStates   : None
HealthEvents          : 
                        SourceId              : System.FM
                        Property              : State
                        HealthState           : Ok
                        SequenceNumber        : 70
                        SentAt                : 7/13/2017 5:57:05 PM
                        ReceivedAt            : 7/14/2017 4:55:10 PM
                        TTL                   : Infinite
                        Description           : Partition is healthy.
                        RemoveWhenExpired     : False
                        IsExpired             : False
                        Transitions           : Error->Ok = 7/13/2017 5:57:18 PM, LastWarning = 1/1/0001 12:00:00 AM

Das folgende Beispiel zeigt die Integrität einer Partition, bei der die Zielreplikatanzahl nicht erreicht wird.The following example shows the health of a partition that's below target replica count. Als nächstes wird die Beschreibung der Partition abgerufen, die zeigt, wie sie konfiguriert ist: MinReplicaSetSize ist drei und TargetReplicaSetSize ist sieben.The next step is to get the partition description, which shows how it's configured: MinReplicaSetSize is three and TargetReplicaSetSize is seven. Geben Sie anschließend die Anzahl der Knoten im Cluster an, d.h. in diesem Fall „5“.Then get the number of nodes in the cluster, which in this case is five. In diesem Fall können zwei Replikate also nicht platziert werden, da die Zielanzahl von Replikaten höher ist als die Anzahl verfügbarer Knoten.So, in this case, two replicas can't be placed, because the target number of replicas is higher than the number of nodes available.

PS C:\> Get-ServiceFabricPartition fabric:/WordCount/WordCountService | Get-ServiceFabricPartitionHealth -ReplicasFilter None -ExcludeHealthStatistics


PartitionId           : af2e3e44-a8f8-45ac-9f31-4093eb897600
AggregatedHealthState : Warning
UnhealthyEvaluations  : 
                        Unhealthy event: SourceId='System.FM', Property='State', HealthState='Warning', ConsiderWarningAsError=false.
                        
ReplicaHealthStates   : None
HealthEvents          : 
                        SourceId              : System.FM
                        Property              : State
                        HealthState           : Warning
                        SequenceNumber        : 123
                        SentAt                : 7/14/2017 4:55:39 PM
                        ReceivedAt            : 7/14/2017 4:55:44 PM
                        TTL                   : Infinite
                        Description           : Partition is below target replica or instance count.
                        fabric:/WordCount/WordCountService 7 2 af2e3e44-a8f8-45ac-9f31-4093eb897600
                          N/S Ready _Node_2 131444422260002646
                          N/S Ready _Node_4 131444422293113678
                          N/S Ready _Node_3 131444422293113679
                          N/S Ready _Node_1 131444422293118720
                          N/P Ready _Node_0 131444422293118721
                          (Showing 5 out of 5 replicas. Total available replicas: 5)
                        
                        RemoveWhenExpired     : False
                        IsExpired             : False
                        Transitions           : Error->Warning = 7/14/2017 4:55:44 PM, LastOk = 1/1/0001 12:00:00 AM
                        
                        SourceId              : System.PLB
                        Property              : ServiceReplicaUnplacedHealth_Secondary_af2e3e44-a8f8-45ac-9f31-4093eb897600
                        HealthState           : Warning
                        SequenceNumber        : 131445250939703027
                        SentAt                : 7/14/2017 4:58:13 PM
                        ReceivedAt            : 7/14/2017 4:58:14 PM
                        TTL                   : 00:01:05
                        Description           : The Load Balancer was unable to find a placement for one or more of the Service's Replicas:
                        Secondary replica could not be placed due to the following constraints and properties:  
                        TargetReplicaSetSize: 7
                        Placement Constraint: N/A
                        Parent Service: N/A
                        
                        Constraint Elimination Sequence:
                        Existing Secondary Replicas eliminated 4 possible node(s) for placement -- 1/5 node(s) remain.
                        Existing Primary Replica eliminated 1 possible node(s) for placement -- 0/5 node(s) remain.
                        
                        Nodes Eliminated By Constraints:
                        
                        Existing Secondary Replicas -- Nodes with Partition's Existing Secondary Replicas/Instances:
                        --
                        FaultDomain:fd:/4 NodeName:_Node_4 NodeType:NodeType4 UpgradeDomain:4 UpgradeDomain: ud:/4 Deactivation Intent/Status: None/None
                        FaultDomain:fd:/3 NodeName:_Node_3 NodeType:NodeType3 UpgradeDomain:3 UpgradeDomain: ud:/3 Deactivation Intent/Status: None/None
                        FaultDomain:fd:/2 NodeName:_Node_2 NodeType:NodeType2 UpgradeDomain:2 UpgradeDomain: ud:/2 Deactivation Intent/Status: None/None
                        FaultDomain:fd:/1 NodeName:_Node_1 NodeType:NodeType1 UpgradeDomain:1 UpgradeDomain: ud:/1 Deactivation Intent/Status: None/None
                        
                        Existing Primary Replica -- Nodes with Partition's Existing Primary Replica or Secondary Replicas:
                        --
                        FaultDomain:fd:/0 NodeName:_Node_0 NodeType:NodeType0 UpgradeDomain:0 UpgradeDomain: ud:/0 Deactivation Intent/Status: None/None
                        
                        
                        RemoveWhenExpired     : True
                        IsExpired             : False
                        Transitions           : Error->Warning = 7/14/2017 4:56:14 PM, LastOk = 1/1/0001 12:00:00 AM

PS C:\> Get-ServiceFabricPartition fabric:/WordCount/WordCountService | select MinReplicaSetSize,TargetReplicaSetSize

MinReplicaSetSize TargetReplicaSetSize
----------------- --------------------
                2                    7                        

PS C:\> @(Get-ServiceFabricNode).Count
5

Das folgende Beispiel zeigt die Integrität einer Partition, deren Neukonfiguration unterbrochen wurde, weil der Benutzer das Abbruchtoken in der RunAsync-Methode nicht berücksichtigt hat.The following example shows the health of a partition that's stuck in reconfiguration due to the user not honoring the cancellation token in the RunAsync method. Die Untersuchung des Integritätsberichts auf Replikate, die als primär (P) markiert sind, kann helfen, das Problem näher zu umreißen.Investigating the health report of any replica marked as primary (P) can help to drill down further into the problem.

PS C:\utilities\ServiceFabricExplorer\ClientPackage\lib> Get-ServiceFabricPartitionHealth 0e40fd81-284d-4be4-a665-13bc5a6607ec -ExcludeHealthStatistics 


PartitionId           : 0e40fd81-284d-4be4-a665-13bc5a6607ec
AggregatedHealthState : Warning
UnhealthyEvaluations  : 
                        Unhealthy event: SourceId='System.FM', Property='State', HealthState='Warning', 
                        ConsiderWarningAsError=false.
                                               
HealthEvents          : 
                        SourceId              : System.FM
                        Property              : State
                        HealthState           : Warning
                        SequenceNumber        : 7
                        SentAt                : 8/27/2017 3:43:09 AM
                        ReceivedAt            : 8/27/2017 3:43:32 AM
                        TTL                   : Infinite
                        Description           : Partition reconfiguration is taking longer than expected.
                        fabric:/app/test1 3 1 0e40fd81-284d-4be4-a665-13bc5a6607ec
                          P/S Ready Node1 131482789658160654
                          S/P Ready Node2 131482789688598467
                          S/S Ready Node3 131482789688598468
                          (Showing 3 out of 3 replicas. Total available replicas: 3)                        
                        
                        For more information see: https://aka.ms/sfhealth
                        RemoveWhenExpired     : False
                        IsExpired             : False
                        Transitions           : Ok->Warning = 8/27/2017 3:43:32 AM, LastError = 1/1/0001 12:00:00 AM

Dieser Integritätsbericht zeigt den Zustand der Replikate der Partition, für die aktuell eine Neukonfiguration durchgeführt wird:This health report shows the state of the replicas of the partition undergoing reconfiguration:

  P/S Ready Node1 131482789658160654
  S/P Ready Node2 131482789688598467
  S/S Ready Node3 131482789688598468

Für jedes Replikat enthält der Integritätsbericht Folgendes:For each replica, the health report contains:

  • Vorherige KonfigurationsrollePrevious configuration role
  • Aktuelle KonfigurationsrolleCurrent configuration role
  • ReplikatzustandReplica state
  • Knoten, auf dem das Replikat ausgeführt wirdNode on which the replica is running
  • Replikat-IDReplica ID

In einem wie in dem Beispiel gezeigten Fall sind weitere Untersuchungen erforderlich.In a case like the example, further investigation is needed. Untersuchen Sie die Integrität von jedem einzelnen Replikat, und beginnen Sie dabei mit den Replikaten, die im vorherigen Beispiel mit Primary und Secondary (131482789658160654 und 131482789688598467) gekennzeichnet sind.Investigate the health of each individual replica starting with the replicas marked as Primary and Secondary (131482789658160654 and 131482789688598467) in the previous example.

Verletzung der ReplikateinschränkungReplica constraint violation

System.PLB gibt eine Warnung aus, wenn eine Verletzung der Replikateinschränkung erkannt wird und nicht alle Partitionsreplikate platziert werden können.System.PLB reports a warning if it detects a replica constraint violation and can't place all partition replicas. Den Berichtsdetails kann entnommen werden, welche Einschränkungen und Eigenschaften die Replikatplatzierung verhindern.The report details show which constraints and properties prevent the replica placement.

  • SourceID: System.PLBSourceId: System.PLB
  • Property: Beginnt mit ReplicaConstraintViolation.Property: Starts with ReplicaConstraintViolation.

Systemintegritätsberichte für ReplikateReplica system health reports

System.RAsteht für die Reconfiguration Agent-Komponente und ist die Autorität für den Replikatzustand.System.RA, which represents the reconfiguration agent component, is the authority for the replica state.

StateState

System.RA gibt „OK“ aus, wenn das Replikat erstellt wurde.System.RA reports OK when the replica has been created.

  • SourceID: System.RASourceId: System.RA
  • Property: Status.Property: State.

Das folgende Beispiel zeigt ein fehlerfreies Replikat:The following example shows a healthy replica:

PS C:\> Get-ServiceFabricPartition fabric:/WordCount/WordCountService | Get-ServiceFabricReplica | where {$_.ReplicaRole -eq "Primary"} | Get-ServiceFabricReplicaHealth

PartitionId           : af2e3e44-a8f8-45ac-9f31-4093eb897600
ReplicaId             : 131444422293118721
AggregatedHealthState : Ok
HealthEvents          : 
                        SourceId              : System.RA
                        Property              : State
                        HealthState           : Ok
                        SequenceNumber        : 131445248920273536
                        SentAt                : 7/14/2017 4:54:52 PM
                        ReceivedAt            : 7/14/2017 4:55:13 PM
                        TTL                   : Infinite
                        Description           : Replica has been created._Node_0
                        RemoveWhenExpired     : False
                        IsExpired             : False
                        Transitions           : Error->Ok = 7/14/2017 4:55:13 PM, LastWarning = 1/1/0001 12:00:00 AM

ReplicaOpenStatus, ReplicaCloseStatus, ReplicaChangeRoleStatusReplicaOpenStatus, ReplicaCloseStatus, ReplicaChangeRoleStatus

Mit dieser Eigenschaft werden Warnungen oder Fehler angegeben, wenn versucht wird, ein Replikat zu öffnen oder zu schließen oder die Rolle eines Replikats zu ändern.This property is used to indicate warnings or failures when attempting to open a replica, close a replica, or transition a replica from one role to another. Weitere Informationen finden Sie unter Replikatlebenszyklus.For more information, see Replica lifecycle. Bei den Fehlern kann es sich um Ausnahmen handeln, die von den API-Aufrufen oder Abstürzen des Diensthostprozesses während dieser Zeit ausgelöst werden.The failures might be exceptions thrown from the API calls or crashes of the service host process during this time. Bei Fehlern aufgrund von API-Aufrufen aus dem C#-Code fügt Service Fabric die Ausnahme und Stapelüberwachung dem Integritätsbericht hinzu.For failures due to API calls from C# code, Service Fabric adds the exception and stack trace to the health report.

Diese Integritätswarnungen werden ausgelöst, nachdem die Aktion einige Male (Anzahl abhängig von der Richtlinie) lokal wiederholt wurde.These health warnings are raised after retrying the action locally some number of times (depending on policy). Service Fabric wiederholt die Aktion bis zum maximalen Schwellenwert.Service Fabric retries the action up to a maximum threshold. Wenn der maximale Schwellenwert erreicht wird, wird unter Umständen versucht, dies zu korrigieren.After the maximum threshold is reached, it might try to act to correct the situation. Dieser Versuch kann dazu führen, dass diese Warnungen gelöscht werden, da die Aktion auf diesem Knoten abgebrochen wird.This attempt can cause these warnings to get cleared as it gives up on the action on this node. Beispiel: Wenn ein Replikat auf einem Knoten nicht geöffnet werden kann, löst Service Fabric eine Integritätswarnung aus.For example, if a replica is failing to open on a node, Service Fabric raises a health warning. Wenn das Replikat auch weiterhin nicht geöffnet werden kann, führt Service Fabric eine Selbstreparatur aus.If the replica continues to fail to open, Service Fabric acts to self-repair. Bei dieser Aktion wird eventuell versucht, denselben Vorgang auf einem anderen Knoten auszuführen.This action might involve trying the same operation on another node. Dieser Versuch führt dazu, dass die für dieses Replikat ausgelöste Warnung gelöscht wird.This attempt causes the warning raised for this replica to be cleared.

  • SourceID: System.RASourceId: System.RA
  • Property: ReplicaOpenStatus, ReplicaCloseStatus und ReplicaChangeRoleStatus.Property: ReplicaOpenStatus, ReplicaCloseStatus, and ReplicaChangeRoleStatus.
  • Nächste Schritte: Untersuchen Sie den Dienstcode oder die Absturzabbilder, um zu ermitteln, warum der Vorgang nicht durchgeführt werden kann.Next steps: Investigate the service code or crash dumps to identify why the operation is failing.

Das folgende Beispiel zeigt die Integrität eines Replikats, das TargetInvocationException für seine open-Methode auslöst.The following example shows the health of a replica that's throwing TargetInvocationException from its open method. Die Beschreibung enthält die Fehlerquelle (IStatefulServiceReplica.Open), den Ausnahmetyp (TargetInvocationException) und die Stapelüberwachung.The description contains the point of failure, IStatefulServiceReplica.Open, the exception type TargetInvocationException, and the stack trace.

PS C:\> Get-ServiceFabricReplicaHealth -PartitionId 337cf1df-6cab-4825-99a9-7595090c0b1b -ReplicaOrInstanceId 131483509874784794


PartitionId           : 337cf1df-6cab-4825-99a9-7595090c0b1b
ReplicaId             : 131483509874784794
AggregatedHealthState : Warning
UnhealthyEvaluations  : 
                        Unhealthy event: SourceId='System.RA', Property='ReplicaOpenStatus', HealthState='Warning', 
                        ConsiderWarningAsError=false.
                        
HealthEvents          : 
                        SourceId              : System.RA
                        Property              : ReplicaOpenStatus
                        HealthState           : Warning
                        SequenceNumber        : 131483510001453159
                        SentAt                : 8/27/2017 11:43:20 PM
                        ReceivedAt            : 8/27/2017 11:43:21 PM
                        TTL                   : Infinite
                        Description           : Replica had multiple failures during open on _Node_0 API call: IStatefulServiceReplica.Open(); Error = System.Reflection.TargetInvocationException (-2146232828)
Exception has been thrown by the target of an invocation.
   at Microsoft.ServiceFabric.Replicator.RecoveryManager.d__31.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.ServiceFabric.Replicator.LoggingReplicator.d__137.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.ServiceFabric.Replicator.DynamicStateManager.d__109.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.ServiceFabric.Replicator.TransactionalReplicator.d__79.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.ServiceFabric.Replicator.StatefulServiceReplica.d__21.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.ServiceFabric.Services.Runtime.StatefulServiceReplicaAdapter.d__0.MoveNext()

    For more information see: https://aka.ms/sfhealth
                        RemoveWhenExpired     : False
                        IsExpired             : False
                        Transitions           : Error->Warning = 8/27/2017 11:43:21 PM, LastOk = 1/1/0001 12:00:00 AM                        

Das folgende Beispiel zeigt ein Replikat, das beim Schließen ständig abstürzt:The following example shows a replica that's constantly crashing during close:

C:>Get-ServiceFabricReplicaHealth -PartitionId dcafb6b7-9446-425c-8b90-b3fdf3859e64 -ReplicaOrInstanceId 131483565548493142


PartitionId           : dcafb6b7-9446-425c-8b90-b3fdf3859e64
ReplicaId             : 131483565548493142
AggregatedHealthState : Warning
UnhealthyEvaluations  : 
                        Unhealthy event: SourceId='System.RA', Property='ReplicaCloseStatus', HealthState='Warning', 
                        ConsiderWarningAsError=false.
                        
HealthEvents          : 
                        SourceId              : System.RA
                        Property              : ReplicaCloseStatus
                        HealthState           : Warning
                        SequenceNumber        : 131483565611258984
                        SentAt                : 8/28/2017 1:16:01 AM
                        ReceivedAt            : 8/28/2017 1:16:03 AM
                        TTL                   : Infinite
                        Description           : Replica had multiple failures during close on _Node_1. The application 
                        host has crashed.
                        
                        For more information see: https://aka.ms/sfhealth
                        RemoveWhenExpired     : False
                        IsExpired             : False
                        Transitions           : Error->Warning = 8/28/2017 1:16:03 AM, LastOk = 1/1/0001 12:00:00 AM

ReconfigurationReconfiguration

Diese Eigenschaft wird verwendet, um anzugeben, wenn ein Replikat, das eine Neukonfiguration durchführt, erkennt, dass die Neukonfiguration angehalten wurde oder hängen geblieben ist.This property is used to indicate when a replica performing a reconfiguration detects that the reconfiguration is stalled or stuck. Dieser Integritätsbericht enthält das Replikat, das aktuell eine primäre Rolle aufweist (außer im Fall einer Auslagerungsneukonfiguration primärer Replikate, bei dem er das Replikat enthalten kann, das von der primären Rolle auf die aktive sekundäre Rolle tiefer gestuft wird).This health report might be on the replica whose current role is primary, except in the cases of a swap primary reconfiguration, where it might be on the replica that's being demoted from primary to active secondary.

Die Neukonfiguration kann aus folgenden Gründen unterbrochen sein:The reconfiguration can be stuck for one of the following reasons:

  • Eine Aktion für das lokale Replikat (das gleiche Replikat, das auch die Neukonfiguration durchführt) wird nicht abgeschlossen.An action on the local replica, the same replica as the one performing the reconfiguration, is not completing. In diesem Fall kann die Untersuchung der Integritätsberichte für dieses Replikat aus anderen Komponenten (System.RAP oder System.RE) zusätzliche Informationen liefern.In this case, investigating the health reports on this replica from other components, System.RAP or System.RE, might provide additional information.

  • Eine Aktion wird für ein Remotereplikat nicht abgeschlossen.An action is not completing on a remote replica. Replikate, für die Aktionen ausstehen, werden im Integritätsbericht aufgelistet.Replicas for which actions are pending are listed in the health report. Diese Remotereplikate sollten in den Integritätsberichten weiter untersucht werden.Further investigation should be done on health reports for those remote replicas. Es können auch Kommunikationsprobleme zwischen dem Knoten und dem Remoteknoten vorliegen.There might also be communication problems between this node and the remote node.

In seltenen Fällen ist die Neukonfiguration möglicherweise aufgrund von Kommunikations- oder anderen Problemen zwischen dem Knoten und dem Failover-Manager-Dienst unterbrochen.In rare cases, the reconfiguration can be stuck due to communication or other problems between this node and the Failover Manager service.

  • SourceID: System.RASourceId: System.RA
  • Property: Neukonfiguration.Property: Reconfiguration.
  • Nächste Schritte: Untersuchen Sie abhängig von der Beschreibung im Integritätsbericht die lokalen oder Remotereplikate.Next steps: Investigate local or remote replicas depending on the description of the health report.

Das folgende Beispiel zeigt einen Integritätsbericht, bei dem eine Neukonfiguration für das lokale Replikat unterbrochen ist.The following example shows a health report where a reconfiguration is stuck on the local replica. In diesem Beispiel liegt dies daran, dass ein Dienst den Abbruchtoken nicht berücksichtigt.In this sample, it's due to a service not honoring the cancellation token.

PS C:\> Get-ServiceFabricReplicaHealth -PartitionId 9a0cedee-464c-4603-abbc-1cf57c4454f3 -ReplicaOrInstanceId 131483600074836703


PartitionId           : 9a0cedee-464c-4603-abbc-1cf57c4454f3
ReplicaId             : 131483600074836703
AggregatedHealthState : Warning
UnhealthyEvaluations  : 
                        Unhealthy event: SourceId='System.RA', Property='Reconfiguration', HealthState='Warning', 
                        ConsiderWarningAsError=false.
                        
HealthEvents          : 
                        SourceId              : System.RA
                        Property              : Reconfiguration
                        HealthState           : Warning
                        SequenceNumber        : 131483600309264482
                        SentAt                : 8/28/2017 2:13:50 AM
                        ReceivedAt            : 8/28/2017 2:13:57 AM
                        TTL                   : Infinite
                        Description           : Reconfiguration is stuck. Waiting for response from the local replica
                        
                        For more information see: https://aka.ms/sfhealth
                        RemoveWhenExpired     : False
                        IsExpired             : False
                        Transitions           : Error->Warning = 8/28/2017 2:13:57 AM, LastOk = 1/1/0001 12:00:00 AM

Das folgende Beispiel zeigt einen Integritätsbericht, bei dem eine Neukonfiguration unterbrochen wurde, da auf eine Antwort von zwei Remotereplikaten gewartet wird.The following example shows a health report where a reconfiguration is stuck waiting for a response from two remote replicas. In diesem Beispiel sind drei Replikate in der Partition, einschließlich des aktuellen primären Replikats, enthalten.In this example, there are three replicas in the partition, including the current primary.

PS C:\> Get-ServiceFabricReplicaHealth -PartitionId  579d50c6-d670-4d25-af70-d706e4bc19a2 -ReplicaOrInstanceId 131483956274977415


PartitionId           : 579d50c6-d670-4d25-af70-d706e4bc19a2
ReplicaId             : 131483956274977415
AggregatedHealthState : Warning
UnhealthyEvaluations  : 
                        Unhealthy event: SourceId='System.RA', Property='Reconfiguration', HealthState='Warning', ConsiderWarningAsError=false.
                        
HealthEvents          : 
                        SourceId              : System.RA
                        Property              : Reconfiguration
                        HealthState           : Warning
                        SequenceNumber        : 131483960376212469
                        SentAt                : 8/28/2017 12:13:57 PM
                        ReceivedAt            : 8/28/2017 12:14:07 PM
                        TTL                   : Infinite
                        Description           : Reconfiguration is stuck. Waiting for response from 2 replicas
                        
                        Pending Replicas: 
                        P/I Down 40 131483956244554282
                        S/S Down 20 131483956274972403
                        
                        For more information see: https://aka.ms/sfhealth
                        RemoveWhenExpired     : False
                        IsExpired             : False
                        Transitions           : Error->Warning = 8/28/2017 12:07:37 PM, LastOk = 1/1/0001 12:00:00 AM

Der folgende Integritätsbericht zeigt, dass die Neukonfiguration unterbrochen wurde und auf eine Antwort von zwei Replikaten wartet:This health report shows that the reconfiguration is stuck waiting for a response from two replicas:

    P/I Down 40 131483956244554282
    S/S Down 20 131483956274972403

Für jedes Replikat sind die folgenden Informationen angegeben:For each replica, the following information is given:

  • Vorherige KonfigurationsrollePrevious configuration role
  • Aktuelle KonfigurationsrolleCurrent configuration role
  • ReplikatzustandReplica state
  • Knoten-IDNode ID
  • Replikat-IDReplica ID

So wird die Unterbrechung der Neukonfiguration aufgehobenTo unblock the reconfiguration:

  • Die down-Replikate müssen wieder aktiviert werden.The down replicas should be brought up.
  • Die inbuild-Replikate müssen die Erstellung abschließen und in den Zustand „Bereit“ übergehen.The inbuild replicas should complete the build and transition to ready.

Langsamer Dienst-API-AufrufSlow service API call

System.RAP und System.Replicator geben eine Warnung aus, wenn ein Aufruf des Benutzerdienstcodes länger dauert als in der Konfiguration angegeben.System.RAP and System.Replicator report a warning if a call to the user service code takes longer than the configured time. Die Warnung wird gelöscht, wenn der Aufruf abgeschlossen ist.The warning is cleared when the call completes.

  • SourceID: System.RAP oder System.ReplicatorSourceId: System.RAP or System.Replicator
  • Property: Name der langsamen API.Property: The name of the slow API. Die Beschreibung liefert weitere Details dazu, wie lange die API bereits aussteht.The description provides more details about the time the API has been pending.
  • Nächste Schritte: Untersuchen Sie, warum der Aufruf länger dauert als erwartet.Next steps: Investigate why the call takes longer than expected.

Das folgende Beispiel zeigt das Integritätsereignis aus System.RAP für einen zuverlässigen Dienst, der das Abbruchtoken in RunAsync nicht berücksichtigt:The following example shows the health event from System.RAP for a reliable service that's not honoring the cancellation token in RunAsync:

PS C:\> Get-ServiceFabricReplicaHealth -PartitionId 5f6060fb-096f-45e4-8c3d-c26444d8dd10 -ReplicaOrInstanceId 131483966141404693


PartitionId           : 5f6060fb-096f-45e4-8c3d-c26444d8dd10
ReplicaId             : 131483966141404693
AggregatedHealthState : Warning
UnhealthyEvaluations  : 
                        Unhealthy event: SourceId='System.RA', Property='Reconfiguration', HealthState='Warning', ConsiderWarningAsError=false.
                        
HealthEvents          :                         
                        SourceId              : System.RAP
                        Property              : IStatefulServiceReplica.ChangeRole(S)Duration
                        HealthState           : Warning
                        SequenceNumber        : 131483966663476570
                        SentAt                : 8/28/2017 12:24:26 PM
                        ReceivedAt            : 8/28/2017 12:24:56 PM
                        TTL                   : Infinite
                        Description           : The api IStatefulServiceReplica.ChangeRole(S) on _Node_1 is stuck. Start Time (UTC): 2017-08-28 12:23:56.347.
                        RemoveWhenExpired     : False
                        IsExpired             : False
                        Transitions           : Error->Warning = 8/28/2017 12:24:56 PM, LastOk = 1/1/0001 12:00:00 AM
                        

Die Eigenschaft und der Text geben an, welche API nicht ausgeführt wurde.The property and text indicate which API got stuck. Die nächsten auszuführenden Schritte hängen von den jeweiligen nicht ausgeführten APIs ab.The next steps to take for different stuck APIs are different. Jede API in IStatefulServiceReplica oder IStatelessServiceInstance ist normalerweise ein Fehler im Dienstcode.Any API on the IStatefulServiceReplica or IStatelessServiceInstance is usually a bug in the service code. Im folgenden Abschnitt wird beschrieben, wie diese in das Reliable Services-Modell übertragen werden:The following section describes how these translate to the Reliable Services model:

  • IStatefulServiceReplica.Open: Diese Warnung gibt an, dass ein Aufruf von CreateServiceInstanceListeners, ICommunicationListener.OpenAsync, oder sofern überschrieben, von OnOpenAsync unterbrochen ist.IStatefulServiceReplica.Open: This warning indicates that a call to CreateServiceInstanceListeners, ICommunicationListener.OpenAsync, or if overridden, OnOpenAsync is stuck.

  • IStatefulServiceReplica.Close und IStatefulServiceReplica.Abort: Der häufigste Fall ist ein Dienst, der das in RunAsync übergebene Abbruchtoken nicht berücksichtigt.IStatefulServiceReplica.Close and IStatefulServiceReplica.Abort: The most common case is a service not honoring the cancellation token passed in to RunAsync. Es kann auch sein, dass ICommunicationListener.CloseAsync oder sofern überschrieben OnCloseAsync unterbrochen ist.It might also be that ICommunicationListener.CloseAsync, or if overridden, OnCloseAsync is stuck.

  • IStatefulServiceReplica.ChangeRole(S) und IStatefulServiceReplica.ChangeRole(N) : Der häufigste Fall ist ein Dienst, der das in RunAsync übergebene Abbruchtoken nicht berücksichtigt.IStatefulServiceReplica.ChangeRole(S) and IStatefulServiceReplica.ChangeRole(N): The most common case is a service not honoring the cancellation token passed in to RunAsync. In diesem Szenario besteht die beste Lösung im Neustart des Replikats.In this scenario, the best solution is to restart the replica.

  • IStatefulServiceReplica.ChangeRole(P) : Am häufigsten hat der Dienst keine Aufgabe von RunAsync zurückgegeben.IStatefulServiceReplica.ChangeRole(P): The most common case is that the service has not returned a task from RunAsync.

Andere API-Aufrufe, die unterbrochen werden können, befinden sich in der IReplicator-Schnittstelle.Other API calls that can get stuck are on the IReplicator interface. Beispiel:For example:

  • IReplicator.CatchupReplicaSet: Diese Warnung gibt eines von zwei Dingen an.IReplicator.CatchupReplicaSet: This warning indicates one of two things. Es sind nicht ausreichend aktive Replikate vorhanden.There are insufficient up replicas. Dies kann durch Prüfen des Replikatzustands der Replikate in der Partition oder im System.FM-Integritätsbericht für eine unterbrochene Neukonfiguration ermittelt werden.To see if this is the case, look at the replica status of the replicas in the partition or the System.FM health report for a stuck reconfiguration. oder die Replikate bestätigen Vorgänge nicht.Or the replicas are not acknowledging operations. Mit dem PowerShell-Cmdlet Get-ServiceFabricDeployedReplicaDetail kann der Zustand aller Replikate ermittelt werden.The PowerShell cmdlet Get-ServiceFabricDeployedReplicaDetail can be used to determine the progress of all the replicas. Das Problem liegt bei den Replikaten, deren LastAppliedReplicationSequenceNumber-Wert unter dem CommittedSequenceNumber-Wert des primären Replikats liegt.The problem lies with replicas whose LastAppliedReplicationSequenceNumber value is behind the primary's CommittedSequenceNumber value.

  • IReplicator.BuildReplica(<Remotereplikat-ID>) : Diese Warnung weist auf ein Problem im Buildprozess hin.IReplicator.BuildReplica(<Remote ReplicaId>): This warning indicates a problem in the build process. Weitere Informationen finden Sie unter Replikatlebenszyklus.For more information, see Replica lifecycle. Dies ist möglicherweise auf eine Fehlkonfiguration der Replikationsadresse zurückzuführen.It might be due to a misconfiguration of the replicator address. Entsprechende Informationen finden Sie unter Konfigurieren zustandsbehafteter Reliable Services und Angeben von Ressourcen in einem Dienstmanifest.For more information, see Configure stateful Reliable Services and Specify resources in a service manifest. Ursache kann auch ein Problem mit dem Remoteknoten sein.It might also be a problem on the remote node.

Systemintegritätsberichte für ReplikatorenReplicator system health reports

Replikationswarteschlange ist voll: System.Replicator gibt eine Warnung aus, wenn die Replikationswarteschlange voll ist.Replication queue full: System.Replicator reports a warning when the replication queue is full. Beim primären Replikat ist die Replikationswarteschlange in der Regel voll, weil sekundäre Replikate beim Bestätigen von Vorgängen sehr langsam sind.On the primary, the replication queue usually becomes full because one or more secondary replicas are slow to acknowledge operations. Beim sekundären Element geschieht dies gewöhnlich, wenn der Dienst langsam beim Anwenden der Vorgänge ist.On the secondary, this usually happens when the service is slow to apply the operations. Die Warnung wird gelöscht, wenn die Warteschlange nicht mehr voll ist.The warning is cleared when the queue is no longer full.

  • SourceID: System.ReplicatorSourceId: System.Replicator
  • Property: PrimaryReplicationQueueStatus oder SecondaryReplicationQueueStatus, je nach Replikatrolle.Property: PrimaryReplicationQueueStatus or SecondaryReplicationQueueStatus, depending on the replica role.
  • Nächste Schritte: Gilt der Bericht für das primäre Element, überprüfen Sie die Verbindung zwischen den Knoten im Cluster.Next steps: If the report is on the primary, check the connection between the nodes in the cluster. Wenn alle Verbindungen fehlerfrei sind, kann mindestens ein langsames sekundäres Element mit hoher Datenträgerwartezeit für die Anwendung auf Vorgänge vorhanden sein.If all connections are healthy, there might be at least one slow secondary with a high disk latency to apply operations. Falls sich der Bericht auf dem sekundären Replikat befindet, sollten Sie zuerst die Datenträgerauslastung und -leistung auf dem Knoten überprüfen.If the report is on the secondary, check the disk usage and performance on the node first. Überprüfen Sie anschließend die ausgehende Verbindung vom langsamen Knoten zum primären Replikat.Then check the outgoing connection from the slow node to the primary.

RemoteReplicatorConnectionStatus: System.Replicator für das primäre Replikat gibt eine Warnung aus, wenn bei der Verbindung mit einem sekundären Replikator (Remotereplikator) Fehler auftreten.RemoteReplicatorConnectionStatus: System.Replicator on the primary replica reports a warning when the connection to a secondary (remote) replicator is not healthy. Die Adresse des Remotereplikators wird in der Meldung des Berichts angezeigt. Dadurch kann einfacher erkannt werden, ob die falsche Konfiguration übergeben wurde oder ob Netzwerkfehler zwischen den Replikatoren auftreten.The remote replicator's address is shown in the report's message, which makes it more convenient to detect if the wrong configuration was passed in or if there are network issues between the replicators.

  • SourceID: System.ReplicatorSourceId: System.Replicator
  • Property: RemoteReplicatorConnectionStatus.Property: RemoteReplicatorConnectionStatus.
  • Nächste Schritte: Überprüfen Sie die Fehlermeldung, und stellen Sie sicher, dass die Adresse des Remotereplikators richtig konfiguriert ist.Next steps: Check the error message and make sure the remote replicator address is configured correctly. Wenn der Remotereplikator beispielsweise mit der Überwachungsadresse „localhost“ beginnt, ist er von außen nicht erreichbar.For example, if the remote replicator is opened with the "localhost" listen address, it isn't reachable from the outside. Wenn die Adresse korrekt aussieht, sollten Sie die Verbindung zwischen dem primären Knoten und der Remoteadresse überprüfen, um mögliche Netzwerkfehler zu ermitteln.If the address looks correct, check the connection between the primary node and the remote address to find any potential network issues.

Replikationswarteschlange ist vollReplication queue full

System.Replicator gibt eine Warnung aus, wenn die Replikationswarteschlange voll ist.System.Replicator reports a warning when the replication queue is full. Beim primären Replikat ist die Replikationswarteschlange in der Regel voll, weil sekundäre Replikate beim Bestätigen von Vorgängen sehr langsam sind.On the primary, the replication queue usually becomes full because one or more secondary replicas are slow to acknowledge operations. Beim sekundären Element geschieht dies gewöhnlich, wenn der Dienst langsam beim Anwenden der Vorgänge ist.On the secondary, this usually happens when the service is slow to apply the operations. Die Warnung wird gelöscht, wenn die Warteschlange nicht mehr voll ist.The warning is cleared when the queue is no longer full.

  • SourceID: System.ReplicatorSourceId: System.Replicator
  • Property: PrimaryReplicationQueueStatus oder SecondaryReplicationQueueStatus, je nach Replikatrolle.Property: PrimaryReplicationQueueStatus or SecondaryReplicationQueueStatus, depending on the replica role.

Langsame Naming-VorgängeSlow Naming operations

System.NamingService liefert Informationen zur Integrität des entsprechenden primären Replikats, wenn ein Benennungsvorgang zu lange dauert.System.NamingService reports the health on its primary replica when a Naming operation takes longer than acceptable. Beispiele für Naming-Vorgänge sind CreateServiceAsync und DeleteServiceAsync.Examples of Naming operations are CreateServiceAsync or DeleteServiceAsync. Weitere Methoden finden Sie unter „FabricClient“.More methods can be found under FabricClient. Beispielsweise unter Dienstverwaltungsmethoden oder Eigenschaftsverwaltungsmethoden.For example, they can be found under service management methods or property management methods.

Hinweis

Der Naming-Dienst löst die Dienstnamen in einen Speicherort im Cluster auf.The Naming service resolves service names to a location in the cluster. Er ermöglicht es Benutzern, Dienstnamen und -eigenschaften zu verwalten.Users can use it to manage service names and properties. Hierbei handelt es sich um einen partitionierten, persistenten Service Fabric-Dienst.It's a Service Fabric partitioned-persisted service. Eine der Partitionen stellt den Autoritätsbesitzer dar, der Metadaten zu allen Service Fabric-Namen und -Diensten enthält.One of the partitions represents the Authority Owner, which contains metadata about all Service Fabric names and services. Die Service Fabric-Namen werden verschiedenen Partitionen (so genannten Namensbesitzer-Partitionen) zugeordnet, um die Erweiterung des Diensts zu ermöglichen.The Service Fabric names are mapped to different partitions, called Name Owner partitions, so the service is extensible. Weitere Informationen finden Sie unter Service Fabric-Architektur.Read more about the Naming service.

Wenn ein Benennungsvorgang unerwartet lang dauert, wird der Vorgang im primären Replikat der Benennungsdienstpartition, die den Vorgang abwickelt, mit einem Warnungsbericht gekennzeichnet.When a Naming operation takes longer than expected, the operation is flagged with a warning report on the primary replica of the Naming service partition that serves the operation. Ist der Vorgang erfolgreich, wird die Warnung gelöscht.If the operation completes successfully, the warning is cleared. Wird der Vorgang mit einem Fehler abgeschlossen, enthält der Integritätsbericht Einzelheiten zu dem Fehler.If the operation completes with an error, the health report includes details about the error.

  • SourceID: System.NamingServiceSourceId: System.NamingService
  • Property: Beginnt mit dem Präfix „Duration_ “ und identifiziert den langsamen Vorgang und den Service Fabric-Namen, auf den der Vorgang angewendet wird.Property: Starts with the prefix "Duration_" and identifies the slow operation and the Service Fabric name on which the operation is applied. Beispiel: Wenn die Diensterstellung für den Namen fabric:/MyApp/MyService zu lang dauert, lautet die Eigenschaft Duration_AOCreateService.fabric:/MyApp/MyService.For example, if create service at name fabric:/MyApp/MyService takes too long, the property is Duration_AOCreateService.fabric:/MyApp/MyService. „AO“ verweist auf die Rolle der Namenspartition für diesen Namen und Vorgang."AO" points to the role of the Naming partition for this name and operation.
  • Nächste Schritte: Überprüfen Sie, warum der Benennungsvorgang nicht erfolgreich ist.Next steps: Check to see why the Naming operation fails. Bei jedem Vorgang können andere Ursachen vorliegen.Each operation can have different root causes. So kann beispielsweise der Befehl zum Löschen des Diensts unterbrochen sein.For example, the delete service might be stuck. Dies kann daran liegen, dass der Anwendungshost auf einem Knoten aufgrund eines Benutzerfehlers im Dienstcode immer wieder abstürzt.The service might be stuck because the application host keeps crashing on a node due to a user bug in the service code.

Im Anschluss sehen Sie ein Beispiel für einen Diensterstellungsvorgang.The following example shows a create service operation. Der Vorgang dauerte länger als in der Konfiguration festgelegt.The operation took longer than the configured duration. „AO“ wiederholt den Vorgang und sendet Arbeit an „NO“."AO" retries and sends work to "NO." „NO“ hat den letzten Vorgang mit TIMEOUT abgeschlossen."NO" completed the last operation with TIMEOUT. In diesem Fall wird sowohl für die „AO“- als auch für die „NO“-Rolle das gleiche Replikat als primäres Replikat verwendet.In this case, the same replica is primary for both the "AO" and "NO" roles.

PartitionId           : 00000000-0000-0000-0000-000000001000
ReplicaId             : 131064359253133577
AggregatedHealthState : Warning
UnhealthyEvaluations  :
                        Unhealthy event: SourceId='System.NamingService', Property='Duration_AOCreateService.fabric:/MyApp/MyService', HealthState='Warning', ConsiderWarningAsError=false.

HealthEvents          :
                        SourceId              : System.RA
                        Property              : State
                        HealthState           : Ok
                        SequenceNumber        : 131064359308715535
                        SentAt                : 4/29/2016 8:38:50 PM
                        ReceivedAt            : 4/29/2016 8:39:08 PM
                        TTL                   : Infinite
                        Description           : Replica has been created.
                        RemoveWhenExpired     : False
                        IsExpired             : False
                        Transitions           : Error->Ok = 4/29/2016 8:39:08 PM, LastWarning = 1/1/0001 12:00:00 AM

                        SourceId              : System.NamingService
                        Property              : Duration_AOCreateService.fabric:/MyApp/MyService
                        HealthState           : Warning
                        SequenceNumber        : 131064359526778775
                        SentAt                : 4/29/2016 8:39:12 PM
                        ReceivedAt            : 4/29/2016 8:39:38 PM
                        TTL                   : 00:05:00
                        Description           : The AOCreateService started at 2016-04-29 20:39:08.677 is taking longer than 30.000.
                        RemoveWhenExpired     : True
                        IsExpired             : False
                        Transitions           : Error->Warning = 4/29/2016 8:39:38 PM, LastOk = 1/1/0001 12:00:00 AM

                        SourceId              : System.NamingService
                        Property              : Duration_NOCreateService.fabric:/MyApp/MyService
                        HealthState           : Warning
                        SequenceNumber        : 131064360657607311
                        SentAt                : 4/29/2016 8:41:05 PM
                        ReceivedAt            : 4/29/2016 8:41:08 PM
                        TTL                   : 00:00:15
                        Description           : The NOCreateService started at 2016-04-29 20:39:08.689 completed with FABRIC_E_TIMEOUT in more than 30.000.
                        RemoveWhenExpired     : True
                        IsExpired             : False
                        Transitions           : Error->Warning = 4/29/2016 8:39:38 PM, LastOk = 1/1/0001 12:00:00 AM

DeployedApplication-SystemintegritätsberichteDeployedApplication system health reports

System.Hosting ist die Autorität für bereitgestellte Entitäten.System.Hosting is the authority on deployed entities.

AktivierungActivation

System.Hosting gibt die Meldung „OK“ aus, wenn eine Anwendung auf dem Knoten aktiviert wurde.System.Hosting reports as OK when an application has been successfully activated on the node. Andernfalls wird ein Fehler gemeldet.Otherwise, it reports an error.

  • SourceID: System.HostingSourceId: System.Hosting
  • Property: Activation, einschließlich der Rolloutversion.Property: Activation, including the rollout version.
  • Nächste Schritte: Falls die Anwendung fehlerhaft ist, untersuchen Sie, warum die Aktivierung nicht erfolgreich war.Next steps: If the application is unhealthy, investigate why the activation failed.

Das folgende Beispiel zeigt eine erfolgreiche Aktivierung:The following example shows a successful activation:

PS C:\> Get-ServiceFabricDeployedApplicationHealth -NodeName _Node_1 -ApplicationName fabric:/WordCount -ExcludeHealthStatistics

ApplicationName                    : fabric:/WordCount
NodeName                           : _Node_1
AggregatedHealthState              : Ok
DeployedServicePackageHealthStates : 
                                     ServiceManifestName   : WordCountServicePkg
                                     ServicePackageActivationId : 
                                     NodeName              : _Node_1
                                     AggregatedHealthState : Ok
                                     
HealthEvents                       : 
                                     SourceId              : System.Hosting
                                     Property              : Activation
                                     HealthState           : Ok
                                     SequenceNumber        : 131445249083836329
                                     SentAt                : 7/14/2017 4:55:08 PM
                                     ReceivedAt            : 7/14/2017 4:55:14 PM
                                     TTL                   : Infinite
                                     Description           : The application was activated successfully.
                                     RemoveWhenExpired     : False
                                     IsExpired             : False
                                     Transitions           : Error->Ok = 7/14/2017 4:55:14 PM, LastWarning = 1/1/0001 12:00:00 AM

DownloadDownload

System.Hosting meldet einen Fehler, wenn das Herunterladen des Anwendungspakets nicht erfolgreich war.System.Hosting reports an error if the application package download fails.

  • SourceID: System.HostingSourceId: System.Hosting
  • Property: Download, einschließlich der Rolloutversion.Property: Download, including the rollout version.
  • Nächste Schritte: Untersuchen Sie, warum das Herunterladen auf dem Knoten nicht erfolgreich war.Next steps: Investigate why the download failed on the node.

DeployedServicePackage-SystemintegritätsberichteDeployedServicePackage system health reports

System.Hosting ist die Autorität für bereitgestellte Entitäten.System.Hosting is the authority on deployed entities.

Aktivierung des DienstpaketsService package activation

System.Hosting gibt die Meldung „OK“ aus, wenn die Aktivierung des Dienstpakets auf dem Knoten erfolgreich ist.System.Hosting reports as OK if the service package activation on the node is successful. Andernfalls wird ein Fehler gemeldet.Otherwise, it reports an error.

  • SourceID: System.HostingSourceId: System.Hosting
  • Property: Aktivierung.Property: Activation.
  • Nächste Schritte: Untersuchen Sie, warum die Aktivierung nicht erfolgreich war.Next steps: Investigate why the activation failed.

Aktivierung des CodepaketsCode package activation

System.Hosting gibt für jedes Codepaket die Meldung „OK“ aus, wenn die Aktivierung erfolgreich ist.System.Hosting reports as OK for each code package if the activation is successful. Wenn die Aktivierung nicht erfolgreich ist, wird gemäß Konfiguration eine Warnung ausgegeben.If the activation fails, it reports a warning as configured. Wenn CodePackage nicht aktiviert werden kann oder mit einem Fehler beendet wird, der über den unter CodePackageHealthErrorThreshold konfigurierten Wert hinausgeht, meldet Hosting einen Fehler.If CodePackage fails to activate or terminates with an error greater than the configured CodePackageHealthErrorThreshold, hosting reports an error. Wenn ein Dienstpaket mehrere Codepakete enthält, wird jeweils ein eigener Aktivierungsbericht erstellt.If a service package contains multiple code packages, an activation report is generated for each one.

  • SourceID: System.HostingSourceId: System.Hosting
  • Property: Verwendet das Präfix CodePackageActivation und enthält den Namen des Codepakets sowie den Einstiegspunkt im Format CodePackageActivation:CodePackageName:SetupEntryPoint/EntryPoint.Property: Uses the prefix CodePackageActivation and contains the name of the code package and the entry point as CodePackageActivation:CodePackageName:SetupEntryPoint/EntryPoint. Beispiel: CodePackageActivation:Code:SetupEntryPoint.For example, CodePackageActivation:Code:SetupEntryPoint.

DiensttypregistrierungService type registration

System.Hosting gibt die Meldung „OK“ aus, wenn der Diensttyp erfolgreich registriert wurde.System.Hosting reports as OK if the service type has been registered successfully. Wenn die Registrierung nicht in der vorgegebenen Zeit erfolgt ist (gemäß Konfiguration mit ServiceTypeRegistrationTimeout), wird ein Fehler gemeldet.It reports an error if the registration wasn't done in time, as configured by using ServiceTypeRegistrationTimeout. Nach Abschluss der Laufzeit wird die Registrierung des Diensttyps beim Knoten aufgehoben, und das Hosting gibt eine Warnung aus.If the runtime is closed, the service type is unregistered from the node and hosting reports a warning.

  • SourceID: System.HostingSourceId: System.Hosting
  • Property: Verwendet das Präfix ServiceTypeRegistration und enthält den Namen des Diensttyps.Property: Uses the prefix ServiceTypeRegistration and contains the service type name. Beispiel: ServiceTypeRegistration:FileStoreServiceType.For example, ServiceTypeRegistration:FileStoreServiceType.

Das folgende Beispiel zeigt ein fehlerfreies bereitgestelltes Dienstpaket:The following example shows a healthy deployed service package:

PS C:\> Get-ServiceFabricDeployedServicePackageHealth -NodeName _Node_1 -ApplicationName fabric:/WordCount -ServiceManifestName WordCountServicePkg


ApplicationName            : fabric:/WordCount
ServiceManifestName        : WordCountServicePkg
ServicePackageActivationId : 
NodeName                   : _Node_1
AggregatedHealthState      : Ok
HealthEvents               : 
                             SourceId              : System.Hosting
                             Property              : Activation
                             HealthState           : Ok
                             SequenceNumber        : 131445249084026346
                             SentAt                : 7/14/2017 4:55:08 PM
                             ReceivedAt            : 7/14/2017 4:55:14 PM
                             TTL                   : Infinite
                             Description           : The ServicePackage was activated successfully.
                             RemoveWhenExpired     : False
                             IsExpired             : False
                             Transitions           : Error->Ok = 7/14/2017 4:55:14 PM, LastWarning = 1/1/0001 12:00:00 AM
                             
                             SourceId              : System.Hosting
                             Property              : CodePackageActivation:Code:EntryPoint
                             HealthState           : Ok
                             SequenceNumber        : 131445249084306362
                             SentAt                : 7/14/2017 4:55:08 PM
                             ReceivedAt            : 7/14/2017 4:55:14 PM
                             TTL                   : Infinite
                             Description           : The CodePackage was activated successfully.
                             RemoveWhenExpired     : False
                             IsExpired             : False
                             Transitions           : Error->Ok = 7/14/2017 4:55:14 PM, LastWarning = 1/1/0001 12:00:00 AM
                             
                             SourceId              : System.Hosting
                             Property              : ServiceTypeRegistration:WordCountServiceType
                             HealthState           : Ok
                             SequenceNumber        : 131445249088096842
                             SentAt                : 7/14/2017 4:55:08 PM
                             ReceivedAt            : 7/14/2017 4:55:14 PM
                             TTL                   : Infinite
                             Description           : The ServiceType was registered successfully.
                             RemoveWhenExpired     : False
                             IsExpired             : False
                             Transitions           : Error->Ok = 7/14/2017 4:55:14 PM, LastWarning = 1/1/0001 12:00:00 AM

DownloadDownload

System.Hosting meldet einen Fehler, wenn das Herunterladen des Dienstpakets nicht erfolgreich war.System.Hosting reports an error if the service package download fails.

  • SourceID: System.HostingSourceId: System.Hosting
  • Property: Download, einschließlich der Rolloutversion.Property: Download, including the rollout version.
  • Nächste Schritte: Untersuchen Sie, warum das Herunterladen auf dem Knoten nicht erfolgreich war.Next steps: Investigate why the download failed on the node.

UpgradeüberprüfungUpgrade validation

System.Hosting meldet einen Fehler, wenn die Überprüfung während des Upgrades nicht erfolgreich war oder wenn das Upgrade auf dem Knoten fehlerhaft ist.System.Hosting reports an error if validation during the upgrade fails or if the upgrade fails on the node.

  • SourceID: System.HostingSourceId: System.Hosting
  • Property: Verwendet das Präfix FabricUpgradeValidation und enthält die Upgradeversion.Property: Uses the prefix FabricUpgradeValidation and contains the upgrade version.
  • Beschreibung: Verweist auf den aufgetretenen Fehler.Description: Points to the error encountered.

Nicht definierte Kapazität des Knotens für RessourcenkontrollmetrikenUndefined node capacity for resource governance metrics

System.Hosting gibt eine Warnung aus, wenn im Clustermanifest keine Knotenkapazitäten definiert sind und die Konfiguration für die automatische Erkennung deaktiviert ist.System.Hosting reports a warning if node capacities aren't defined in the cluster manifest and the configuration for automatic detection is turned off. Service Fabric löst eine Integritätswarnung aus, wenn ein Dienstpaket, für das die Ressourcenkontrolle verwendet wird, für einen angegebenen Knoten registriert wird.Service Fabric raises a health warning whenever the service package that uses resource governance registers on a specified node.

  • SourceID: System.HostingSourceId: System.Hosting
  • Property: ResourceGovernance.Property: ResourceGovernance.
  • Nächste Schritte: Die bevorzugte Methode für die Umgehung dieses Problems besteht darin, das Clustermanifest so zu ändern, dass die automatische Erkennung der verfügbaren Ressourcen aktiviert wird.Next steps: The preferred way to overcome this problem is to change the cluster manifest to enable automatic detection of available resources. Eine andere Möglichkeit besteht im Aktualisieren des Clustermanifests mit richtig angegebenen Knotenkapazitäten für diese Metriken.Another way is to update the cluster manifest with correctly specified node capacities for these metrics.

Nächste SchritteNext steps