Rendszerállapot-jelentések használata a hibaelhárítás során

Az Azure Service Fabric-összetevők rendszerállapot-jelentéseket biztosítanak a fürt összes entitásáról közvetlenül a dobozból. Az állapottároló a rendszerjelentések alapján hoz létre és töröl entitásokat. Emellett egy hierarchiába rendezi őket, amely rögzíti az entitások interakcióit.

Megjegyzés

Az állapottal kapcsolatos fogalmak megismeréséhez olvassa el a Service Fabric állapotmodelljével kapcsolatos további tudnivalókat.

A rendszerállapot-jelentések betekintést nyújtanak a fürt és az alkalmazás funkcióiba, és megjelölik a problémákat. Az alkalmazások és szolgáltatások esetében a rendszerállapot-jelentések ellenőrzik, hogy az entitások implementálva vannak-e, és megfelelően viselkednek-e a Service Fabric szempontjából. A jelentések nem biztosítják a szolgáltatás üzleti logikájának állapotmonitorozását vagy a nem válaszoló folyamatok észlelését. A felhasználói szolgáltatások a logikájukra jellemző információkkal bővíthetik az állapotadatokat.

Megjegyzés

A felhasználói figyelők által küldött állapotjelentések csak akkor láthatók, ha a rendszerösszetevők létrehoznak egy entitást. Egy entitás törlésekor az állapottároló automatikusan törli a hozzá társított összes állapotjelentést. Ugyanez igaz az entitás új példányának létrehozásakor is. Ilyen például egy új állapotalapú, megőrzött szolgáltatásreplikapéldány létrehozása. A régi példányhoz társított összes jelentés törlődik, és törlődik az áruházból.

A rendszerösszetevő jelentéseit a forrás azonosítja, amely a "Rendszer" előtaggal kezdődik. A watchdogok nem használhatják ugyanazt az előtagot a forrásaikhoz, mivel az érvénytelen paraméterekkel rendelkező jelentéseket a rendszer elutasítja.

Tekintsünk meg néhány rendszerjelentést, amelyekből megtudhatja, mi váltja ki őket, és megtudhatja, hogyan háríthatja el az általuk képviselt lehetséges problémákat.

Megjegyzés

A Service Fabric továbbra is jelentéseket ad a fontos feltételekről, amelyek javítják a fürtben és az alkalmazásokban zajló események láthatóságát. A meglévő jelentések további részletekkel bővíthetők a probléma gyorsabb elhárítása érdekében.

Fürtrendszer állapotjelentései

A fürtállapot-entitás automatikusan létrejön az állapottárolóban. Ha minden megfelelően működik, nem rendelkezik rendszerjelentéssel.

Környék elvesztése

A System.Federation hibát jelez, ha környékvesztést észlel. A jelentés egyes csomópontokból származik, és a csomópont azonosítója szerepel a tulajdonságnévben. Ha az egyik környék elveszik a service fabric-kör egészében, általában két olyan eseményre számíthat, amelyek a hiányjelentés mindkét oldalát képviselik. Ha több környék veszett el, több esemény is van.

A jelentés a globális bérlet élettartamát (TTL) adja meg. A jelentés a TTL időtartamának minden felében újraküldésre kerül mindaddig, amíg a feltétel aktív marad. A rendszer automatikusan eltávolítja az eseményt, amikor lejár. A lejárt állapot eltávolítása biztosítja, hogy a jelentés megfelelően törlődjön az állapottárolóból, még akkor is, ha a jelentéskészítési csomópont leállt.

  • SourceId: System.Federation
  • Tulajdonság: A következővel kezdődik: Neighborhood (Szomszédság), és csomópontinformációkat tartalmaz.
  • Következő lépések: Vizsgálja meg, miért veszett el a környék. Ellenőrizze például a fürtcsomópontok közötti kommunikációt.

Újraépítés

A Feladatátvétel-kezelő (FM) szolgáltatás kezeli a fürtcsomópontok adatait. Ha az FM elveszíti az adatait, és adatvesztésbe kerül, nem tudja garantálni, hogy a fürtcsomópontokról a legfrissebb információkkal rendelkezik. Ebben az esetben a rendszer újraépítésen megy keresztül, és System.FM adatokat gyűjt a fürt összes csomópontjáról az állapotának újraépítése érdekében. Előfordulhat, hogy hálózati vagy csomópontproblémák miatt az újraépítés elakad vagy elakad. Ugyanez történhet a Feladatátvétel-kezelő főkiszolgáló (FMM) szolgáltatással is. Az FMM egy állapot nélküli rendszerszolgáltatás, amely nyomon követi, hogy az összes FM hol található a fürtben. Az FMM elsődleges értéke mindig a 0-hoz legközelebbi azonosítójú csomópont. Ha a csomópont el lesz dobva, a rendszer újraépítést indít el. Ha az előző feltételek valamelyike teljesül, System.FM vagy System.FMM hibajelentésen keresztül jelzi azt. Az újraépítés két fázis egyikében elakadhat:

  • Várakozás a közvetítésre: Az FM/FMM megvárja a többi csomóponttól érkező szórási üzenet válaszát.

    • Következő lépések: Vizsgálja meg, hogy van-e hálózati kapcsolati probléma a csomópontok között.
  • Várakozás csomópontokra: Az FM/FMM már kapott szórási választ a többi csomóponttól, és adott csomópontoktól vár választ. Az állapotjelentés felsorolja azokat a csomópontokat, amelyekre az FM/FMM választ vár.

    • Következő lépések: Vizsgálja meg az FM/FMM és a felsorolt csomópontok közötti hálózati kapcsolatot. Vizsgálja meg az egyes felsorolt csomópontokat, hogy vannak-e más lehetséges problémák.
  • SourceID: System.FM vagy System.FMM

  • Tulajdonság: Újraépítés.

  • Következő lépések: Vizsgálja meg a csomópontok közötti hálózati kapcsolatot, valamint az állapotjelentés leírásában felsorolt csomópontok állapotát.

Magcsomópont állapota

System.FM fürtszintű figyelmeztetést jelent, ha egyes magcsomópontok állapota nem megfelelő. A magcsomópontok azok a csomópontok, amelyek fenntartják az alapul szolgáló fürt rendelkezésre állását. Ezek a csomópontok segítenek biztosítani a fürt működőképességét azáltal, hogy bérleteket hoz létre más csomópontokkal, és bizonyos típusú hálózati hibák esetén kapcsolattörőként szolgálnak. Ha a magcsomópontok többsége le van állítva a fürtön, és nem hozza vissza őket, a fürt automatikusan leáll.

A magcsomópont nem megfelelő állapotú, ha a csomópont állapota Le, Eltávolítva vagy Ismeretlen. A magcsomópont állapotára vonatkozó figyelmeztető jelentés felsorolja az összes nem kifogástalan állapotú magcsomópontot részletes információkkal.

  • Forrásazonosító: System.FM
  • Tulajdonság: SeedNodeStatus
  • Következő lépések: Ha ez a figyelmeztetés megjelenik a fürtben, kövesse az alábbi utasításokat a hiba elhárításához: A Service Fabric 6.5-ös vagy újabb verzióját futtató fürtök esetében: Az Azure-beli Service Fabric-fürt esetében a magcsomópont leállása után a Service Fabric automatikusan megpróbálja nem kezdő csomópontra módosítani. Ennek érdekében győződjön meg arról, hogy az elsődleges csomóponttípusban lévő nem magcsomópontok száma nagyobb vagy egyenlő a lefelé irányuló csomópontok számával. Ha szükséges, adjon hozzá további csomópontokat az elsődleges csomóponttípushoz ennek eléréséhez. A fürt állapotától függően eltarthat egy ideig a probléma megoldása. Ha ez megtörtént, a figyelmeztető jelentés automatikusan törlődik.

A Service Fabric önálló fürtjéhez a figyelmeztető jelentés törléséhez az összes magcsomópontnak kifogástalan állapotúnak kell lennie. Attól függően, hogy a magcsomópontok miért nem megfelelőek, különböző műveleteket kell végrehajtani: ha a magcsomópont le van állítva, a felhasználóknak fel kell állítaniuk a magcsomópontot; Ha a magcsomópont El lett távolítva vagy Ismeretlen, ezt a magcsomópontot el kell távolítani a fürtből. A figyelmeztető jelentés automatikusan törlődik, ha az összes magcsomópont kifogástalan állapotúvá válik.

6.5-ösnél régebbi Service Fabric-verziót futtató fürtök esetén: Ebben az esetben a figyelmeztető jelentést manuálisan kell törölni. A jelentés törlése előtt a felhasználóknak gondoskodniuk kell arról, hogy az összes magcsomópont kifogástalan állapotba kerüljön: ha a magcsomópont le van állítva, a felhasználóknak fel kell állítaniuk a magcsomópontot;ha a magcsomópont El lett távolítva vagy Ismeretlen, akkor a magcsomópontot el kell távolítani a fürtből. Miután az összes magcsomópont kifogástalan állapotúvá vált, használja a PowerShell következő parancsát a figyelmeztető jelentés törléséhez:

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

Csomópontrendszerállapot-jelentések

System.FM, amely a Feladatátvétel-kezelő szolgáltatást jelöli, a fürtcsomópontok adatait kezelő szolgáltató. Minden csomópontnak rendelkeznie kell egy jelentés System.FM állapotával. A csomópont-entitások a csomópont állapotának eltávolításakor törlődnek. További információ: RemoveNodeStateAsync.

Csomópont felfelé/lefelé

System.FM akkor jelent okként, ha a csomópont csatlakozik a gyűrűhöz (működik és fut). Hibaüzenetet jelent, ha a csomópont elhagyja a gyűrűt (vagy a frissítés miatt leállt, vagy egyszerűen azért, mert nem sikerült). Az állapottároló által létrehozott állapothierarchia az üzembe helyezett entitásokra System.FM csomópontjelentésekkel korrelációban működik. A csomópontot az összes üzembe helyezett entitás virtuális szülőjének tekinti. A csomóponton üzembe helyezett entitások lekérdezéseken keresztül jelennek meg, ha a csomópontot a System.FM jelenti, ugyanazzal a példánnyal, mint az entitásokhoz társított példány. Amikor System.FM azt jelenti, hogy a csomópont leállt vagy újraindult, új példányként az állapottároló automatikusan törli azokat az üzembe helyezett entitásokat, amelyek csak a leállított csomóponton vagy a csomópont előző példányán létezhetnek.

  • SourceId: System.FM
  • Tulajdonság: Állapot.
  • Következő lépések: Ha a csomópont le van állítva egy frissítéshez, a frissítés után vissza kell térnie. Ebben az esetben az állapotnak vissza kell térnie az OK értékre. Ha a csomópont nem tér vissza, vagy meghibásodik, a probléma további vizsgálatot igényel.

Az alábbi példa azt az System.FM eseményt mutatja be, amelynek állapota OK a csomóponton felfelé:

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

Tanúsítvány lejárata

A System.FabricNode figyelmeztetést jelent, ha a csomópont által használt tanúsítványok hamarosan lejárnak. Csomópontonként három tanúsítvány létezik: Certificate_cluster, Certificate_server és Certificate_default_client. Ha a lejárat legalább két hét múlva lejár, a jelentés állapota rendben van. Ha a lejárat két héten belül van, a jelentés típusa figyelmeztetés. Ezeknek az eseményeknek a TTL-je végtelen, és eltávolítja őket, amikor egy csomópont elhagyja a fürtöt.

  • SourceId: System.FabricNode
  • Tulajdonság: A tanúsítványsal kezdődik, és további információkat tartalmaz a tanúsítvány típusáról.
  • Következő lépések: Frissítse a tanúsítványokat, ha hamarosan lejárnak.

Kapacitás megsértése

A Service Fabric Load Balancer figyelmeztetést jelent, amikor csomópontkapacitás-szabálysértést észlel.

  • SourceId: System.PLB
  • Tulajdonság: Kapacitással kezdődik.
  • Következő lépések: Ellenőrizze a megadott metrikákat, és tekintse meg az aktuális kapacitást a csomóponton.

Az erőforrás-szabályozási metrikák csomópontkapacitás-eltérése

A System.Hosting figyelmeztetést jelent, ha a fürtjegyzékben megadott csomópontkapacitások nagyobbak, mint az erőforrás-szabályozási metrikák (memória- és PROCESSZORmagok) valódi csomópontkapacitásai. Állapotjelentés akkor jelenik meg, ha az erőforrás-szabályozást használó első szolgáltatáscsomag regisztrál egy adott csomóponton.

  • SourceId: System.Hosting
  • Tulajdonság: ResourceGovernance.
  • Következő lépések: Ez a probléma azért lehet probléma, mert a szolgáltatáscsomagok szabályozása nem a várt módon van kényszerítve, és az erőforrás-szabályozás nem működik megfelelően. Frissítse a fürtjegyzéket a megfelelő csomópontkapacitással ezekhez a metrikákhoz, vagy ne adja meg őket, és hagyja, hogy a Service Fabric automatikusan észlelje az elérhető erőforrásokat.

Alkalmazásrendszer állapotjelentései

System.CM, amely a Fürtkezelő szolgáltatást jelöli, az alkalmazásokkal kapcsolatos információkat kezelő hatóság.

Állapot

System.CM jelentések az alkalmazás létrehozásakor vagy frissítésekor OK-nak minősülnek. Tájékoztatja az állapottárolót az alkalmazás törlésekor, hogy eltávolítható legyen az áruházból.

  • SourceId: System.CM
  • Tulajdonság: Állapot.
  • Következő lépések: Ha az alkalmazás létrejött vagy frissült, annak tartalmaznia kell a Fürtkezelő állapotjelentését. Ellenkező esetben egy lekérdezés kiadásával ellenőrizze az alkalmazás állapotát. Használja például a Get-ServiceFabricApplication -ApplicationNameapplicationName PowerShell-parancsmagot.

Az alábbi példa a háló állapoteseményét mutatja be:/WordCount alkalmazás:

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

Szolgáltatásrendszer állapotjelentései

System.FM, amely a Feladatátvétel-kezelő szolgáltatást jelöli, a szolgáltatásokkal kapcsolatos információkat kezelő hatóság.

Állapot

System.FM a szolgáltatás létrehozásakor okként jelenti a jelentéseket. Törli az entitást az állapottárolóból a szolgáltatás törlésekor.

  • SourceId: System.FM
  • Tulajdonság: Állapot.

Az alábbi példa a service fabric állapoteseményét mutatja be:/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

Szolgáltatás korrelációs hibája

A System.PLB hibát jelez, ha azt észleli, hogy a szolgáltatás frissítése egy másik szolgáltatással van összefüggésben, amely affinitási láncot hoz létre. Sikeres frissítés esetén a jelentés törlődik.

  • SourceId: System.PLB
  • Tulajdonság: ServiceDescription.
  • Következő lépések: Ellenőrizze a kapcsolódó szolgáltatásleírásokat.

Partíciórendszer állapotjelentései

System.FM, amely a Feladatátvétel-kezelő szolgáltatást képviseli, az a szolgáltató, amely a szolgáltatáspartíciókkal kapcsolatos információkat kezeli.

Állapot

System.FM a partíció létrehozásakor és kifogástalan állapotúként jelent. Törli az entitást az állapottárolóból a partíció törlésekor.

Ha a partíció a replika minimális száma alatt van, hibát jelez. Ha a partíció nem éri el a replika minimális számát, de a célreplika száma alatt van, figyelmeztetést jelent. Ha a partíció kvórumvesztésben van, System.FM hibát jelez.

Más jelentős események közé tartozik egy figyelmeztetés, ha az újrakonfigurálás a vártnál tovább tart, és ha a build a vártnál tovább tart. A buildelés és az újrakonfigurálás várható időpontjai a szolgáltatásforgatókönyvek alapján konfigurálhatók. Ha például egy szolgáltatás terabájtos állapotú, például Azure SQL Adatbázis, a buildelés hosszabb időt vesz igénybe, mint egy kis mennyiségű állapotú szolgáltatás esetében.

  • SourceId: System.FM
  • Tulajdonság: Állapot.
  • Következő lépések: Ha az állapot nem megfelelő, előfordulhat, hogy egyes replikák nincsenek megfelelően létrehozva, megnyitva vagy előléptetve elsődleges vagy másodlagosra.

Ha a leírás a kvórumvesztést írja le, akkor a le nem omlott replikák részletes állapotjelentésének és biztonsági mentésének vizsgálata segít a partíció online állapotának visszaállításában.

Ha a leírás egy újrakonfigurálás során elakadt partíciót ír le, az elsődleges replikán található állapotjelentés további információkat nyújt.

Más System.FM állapotjelentések esetén más rendszerösszetevők replikáiról, partíciójáról vagy szolgáltatásáról is lesznek jelentések.

Az alábbi példák néhány ilyen jelentést írnak le.

Az alábbi példa egy kifogástalan állapotú partíciót mutat be:

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

Az alábbi példa egy olyan partíció állapotát mutatja be, amely a célreplikák száma alatt van. A következő lépés a partíció leírásának lekérése, amely bemutatja, hogyan van konfigurálva: a MinReplicaSetSize három, a TargetReplicaSetSize pedig hét. Ezután kérje le a fürt csomópontjainak számát, amely ebben az esetben öt. Ebben az esetben tehát két replika nem helyezhető el, mert a replikák célszáma magasabb, mint a rendelkezésre álló csomópontok száma.

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

Az alábbi példa egy olyan partíció állapotát mutatja be, amely elakadt az újrakonfigurálásban, mert a felhasználó nem tartotta be a megszakítási tokent a RunAsync metódusban. Az elsődlegesként (P) megjelölt replikák állapotjelentésének vizsgálata segíthet a probléma részletesebb feltárásában.

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

Ez az állapotjelentés az újrakonfigurálás alatt álló partíció replikáinak állapotát mutatja be:

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

Az állapotjelentés minden replikához a következőket tartalmazza:

  • Korábbi konfigurációs szerepkör
  • Aktuális konfigurációs szerepkör
  • Replika állapota
  • Csomópont, amelyen a replika fut
  • Replika azonosítója

Egy ilyen esetben további vizsgálatra van szükség. Vizsgálja meg az egyes replikák állapotát, kezdve az előző példában és Secondary (131482789658160654 és 131482789688598467) megjelölt Primary replikákkal.

Replika-kényszer megsértése

A System.PLB figyelmeztetést jelent, ha replikakorlát-szabálysértést észlel, és nem tudja elhelyezni az összes partícióreplikát. A jelentés részletei azt mutatják, hogy mely korlátozások és tulajdonságok akadályozzák a replika elhelyezését.

  • SourceId: System.PLB
  • Tulajdonság: A ReplicaConstraintViolation tulajdonsággal kezdődik.

Replikarendszer állapotjelentései

Az újrakonfigurálási ügynök összetevőjét képviselő System.RA a replikaállapot szolgáltatója.

Állapot

A System.RA az OK jelentést jelenti a replika létrehozásakor.

  • SourceId: System.RA
  • Tulajdonság: Állapot.

Az alábbi példa egy kifogástalan állapotú replikát mutat be:

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, ReplicaChangeRoleStatus

Ez a tulajdonság figyelmeztetéseket vagy hibákat jelez a replika megnyitásakor, a replika bezárásakor vagy a replika egyik szerepkörről a másikra való áttűnésekor. További információ: Replika életciklusa. A hibák lehetnek a szolgáltatás gazdagép-folyamatának API-hívásaiból vagy összeomlásaiból eredő kivételek ebben az időszakban. A C#-kódból származó API-hívások miatti hibák esetén a Service Fabric hozzáadja a kivételt és a veremkövetést az állapotjelentéshez.

Ezek az állapotjelzések a művelet helyi újrapróbálkozása után jelennek meg (a szabályzattól függően). A Service Fabric újrapróbálja a műveletet egy maximális küszöbértékig. A maximális küszöbérték elérése után megpróbálhatja kijavítani a helyzetet. Ez a kísérlet a figyelmeztetések törlését okozhatja, mivel az feladja a csomóponton futó műveletet. Ha például egy replika nem nyílik meg egy csomóponton, a Service Fabric állapotjelzést ad. Ha a replika továbbra sem nyitható meg, a Service Fabric önjavítást tesz lehetővé. Ez a művelet magában foglalhatja ugyanazt a műveletet egy másik csomóponton. Ez a kísérlet a replika figyelmeztetésének törlését eredményezi.

  • SourceId: System.RA
  • Tulajdonság: ReplicaOpenStatus, ReplicaCloseStatus és ReplicaChangeRoleStatus.
  • Következő lépések: Vizsgálja meg a szolgáltatáskódot vagy az összeomlási memóriaképeket, hogy megállapítsa, miért hiúsul meg a művelet.

Az alábbi példa egy olyan replika állapotát mutatja be, amely a nyitott metódusból dob TargetInvocationException . A leírás tartalmazza az IStatefulServiceReplica.Open hibapontot, a TargetInvocationException kivételtípust és a verem nyomkövetését.

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

Az alábbi példa egy olyan replikát mutat be, amely a bezárás során folyamatosan összeomlik:

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

Reconfiguration

Ez a tulajdonság jelzi, ha egy újrakonfigurálást végző replika észleli, hogy az újrakonfigurálás elakadt vagy elakadt. Ez az állapotjelentés lehet azon a replikán, amelynek aktuális szerepköre elsődleges, kivéve az elsődleges újrakonfigurálás felcserélésének eseteit, ahol az elsődlegesről az aktív másodlagosra lefokozandó replikán lehet.

Az újrakonfigurálás az alábbi okok valamelyike miatt elakadhat:

  • A helyi replikán az újrakonfigurálást végző replikával megegyező művelet nem fejezódik be. Ebben az esetben a replika állapotjelentéseinek vizsgálata más összetevőkből( System.RAP vagy System.RE) további információkat nyújthat.

  • Egy művelet nem fejeződik be távoli replikán. Azok a replikák, amelyekhez a műveletek függőben vannak, szerepelnek az állapotjelentésben. A távoli replikák állapotjelentéseivel kapcsolatban további vizsgálatot kell végezni. Kommunikációs problémák is lehetnek a csomópont és a távoli csomópont között.

Ritka esetekben az újrakonfigurálás elakadhat a csomópont és a Feladatátvétel-kezelő szolgáltatás közötti kommunikáció vagy egyéb problémák miatt.

  • SourceId: System.RA
  • Tulajdonság: Újrakonfigurálás.
  • Következő lépések: Vizsgálja meg a helyi vagy távoli replikákat az állapotjelentés leírásától függően.

Az alábbi példa egy állapotjelentést mutat be, amelyben egy újrakonfigurálás elakadt a helyi replikán. Ebben a példában ennek az az oka, hogy egy szolgáltatás nem tartja tiszteletben a lemondási jogkivonatot.

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

Az alábbi példa egy állapotjelentést mutat be, amelyben egy újrakonfigurálás elakadt, és két távoli replika válaszára vár. Ebben a példában három replika található a partícióban, az aktuális elsődlegeset is beleértve.

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

Ez az állapotjelentés azt mutatja, hogy az újrakonfigurálás elakadt, és két replika válaszára vár:

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

Minden replikához a következő információk adhatók meg:

  • Korábbi konfigurációs szerepkör
  • Aktuális konfigurációs szerepkör
  • Replika állapota
  • Csomópont azonosítója
  • Replika azonosítója

Az újrakonfigurálás letiltásának feloldása:

  • A leállítva replikákat fel kell hozni.
  • A beépített replikáknak be kell fejeznie a buildelést, és készen kell állniuk.

Lassú szolgáltatás API-hívása

A System.RAP és a System.Replicator figyelmeztetést jelent, ha a felhasználói szolgáltatás kódjának hívása hosszabb időt vesz igénybe, mint a konfigurált idő. A hívás befejeződésekor a figyelmeztetés törlődik.

  • SourceId: System.RAP vagy System.Replicator
  • Tulajdonság: A lassú API neve. A leírás további részleteket tartalmaz az API függőben töltött idejéről.
  • Következő lépések: Vizsgálja meg, hogy a hívás miért tart tovább a vártnál.

Az alábbi példa a System.RAP állapoteseményét mutatja be egy olyan megbízható szolgáltatáshoz, amely nem tartja tiszteletben a lemondási jogkivonatot a RunAsyncben:

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

A tulajdonság és a szöveg azt jelzi, hogy melyik API elakadt. A különböző elakadt API-k esetében a következő lépések eltérőek. Az IStatefulServiceReplica vagy az IStatelessServiceInstance bármely API-ja általában hiba a szolgáltatáskódban. A következő szakasz bemutatja, hogyan fordítják le ezeket a Reliable Services-modellre:

  • IStatefulServiceReplica.Open: Ez a figyelmeztetés azt jelzi, hogy a , ICommunicationListener.OpenAsyncvagy felülírt OnOpenAsync hívás CreateServiceInstanceListenerselakadt.

  • IStatefulServiceReplica.Close és IStatefulServiceReplica.Abort: A leggyakoribb eset az, hogy a szolgáltatás nem tartja tiszteletben a szolgáltatásnak a szolgáltatásnak átadott lemondási jogkivonatot RunAsync. Az is előfordulhat, hogy ICommunicationListener.CloseAsynca , vagy ha felül van bírálva, OnCloseAsync elakadt.

  • IStatefulServiceReplica.ChangeRole(S) és IStatefulServiceReplica.ChangeRole(N): A leggyakoribb eset az, hogy a szolgáltatás nem tartja tiszteletben a szolgáltatásnak a szolgáltatásnak átadott lemondási jogkivonatot RunAsync. Ebben a forgatókönyvben a legjobb megoldás a replika újraindítása.

  • IStatefulServiceReplica.ChangeRole(P): A leggyakoribb eset az, hogy a szolgáltatás nem adott vissza feladatot a fájlból RunAsync.

Az egyéb API-hívások, amelyek elakadhatnak, az IReplicator felületén találhatók. Például:

  • IReplicator.CatchupReplicaSet: Ez a figyelmeztetés két dolog egyikét jelzi. Nincs elegendő felfelé felfelé futó replika. Ha meg szeretné nézni, hogy ez a helyzet-e, tekintse meg a partíció replikáinak replikaállapotát vagy a System.FM állapotjelentést egy elakadt újrakonfiguráláshoz. Vagy a replikák nem nyugtáznak műveleteket. A PowerShell-parancsmaggal Get-ServiceFabricDeployedReplicaDetail meghatározhatja az összes replika állapotát. A probléma azokkal a replikákkal kapcsolatos, amelyek LastAppliedReplicationSequenceNumber értéke az elsődleges érték mögött található CommittedSequenceNumber .

  • IReplicator.BuildReplica(<Remote ReplicaId>): Ez a figyelmeztetés a buildelési folyamat egyik problémáját jelzi. További információ: Replika életciklusa. Ennek oka lehet a replikátor címének helytelen konfigurációja. További információ: Állapotalapú Reliable Services konfigurálása és Erőforrások megadása szolgáltatásjegyzékben. A probléma a távoli csomóponton is előfordulhat.

Replikátor rendszerállapot-jelentései

Replikációs üzenetsor megtelt:A System.Replicator figyelmeztetést jelent, ha a replikációs üzenetsor megtelt. Az elsődlegesen a replikációs üzenetsor általában megtelik, mert egy vagy több másodlagos replika lassan nyugtázza a műveleteket. A másodlagos rendszeren ez általában akkor fordul elő, ha a szolgáltatás lassan alkalmazza a műveleteket. A figyelmeztetés törlődik, ha az üzenetsor már nincs megtelve.

  • SourceId: System.Replicator
  • Tulajdonság: PrimaryReplicationQueueStatus vagy SecondaryReplicationQueueStatus, a replika szerepkörétől függően.
  • Következő lépések: Ha a jelentés az elsődlegesen van, ellenőrizze a fürt csomópontjai közötti kapcsolatot. Ha minden kapcsolat kifogástalan állapotú, előfordulhat, hogy a műveletek végrehajtásához legalább egy lassú másodlagos, magas lemezkéséssel rendelkező másodlagos példány van. Ha a jelentés másodlagos, először ellenőrizze a lemezhasználatot és a teljesítményt a csomóponton. Ezután ellenőrizze a kimenő kapcsolatot a lassú csomópont és az elsődleges csomópont között.

RemoteReplicatorConnectionStatus:System.Replicator az elsődleges replikán figyelmeztetést jelent, ha a másodlagos (távoli) replikatárhoz való kapcsolat nem kifogástalan. A távoli replikátor címe megjelenik a jelentés üzenetében, ami kényelmesebbé teszi annak észlelését, hogy helytelen konfiguráció lett-e átadva, vagy hálózati problémák vannak-e a replikátorok között.

  • SourceId: System.Replicator
  • Tulajdonság: RemoteReplicatorConnectionStatus.
  • Következő lépések: Ellenőrizze a hibaüzenetet, és győződjön meg arról, hogy a távoli replikátor címe megfelelően van konfigurálva. Ha például a távoli replikátor a "localhost" figyelőcímmel van megnyitva, kívülről nem érhető el. Ha a cím helyesnek tűnik, ellenőrizze az elsődleges csomópont és a távoli cím közötti kapcsolatot, hogy megtalálja-e az esetleges hálózati problémákat.

A replikációs üzenetsor megtelt

A System.Replicator figyelmeztetést jelent, ha a replikációs üzenetsor megtelt. Az elsődlegesen a replikációs üzenetsor általában megtelik, mert egy vagy több másodlagos replika lassan nyugtázza a műveleteket. A másodlagos rendszeren ez általában akkor fordul elő, ha a szolgáltatás lassan alkalmazza a műveleteket. A figyelmeztetés törlődik, ha az üzenetsor már nincs megtelve.

  • SourceId: System.Replicator
  • Tulajdonság: PrimaryReplicationQueueStatus vagy SecondaryReplicationQueueStatus, a replika szerepkörétől függően.

Lassú elnevezési műveletek

A System.NamingService az elsődleges replikán jelenti az állapotot, ha egy elnevezési művelet az elfogadhatónál hosszabb időt vesz igénybe. Az elnevezési műveletek például a CreateServiceAsync vagy a DeleteServiceAsync. További módszerek a FabricClient területen találhatók. Ezek például a szolgáltatáskezelési módszerek vagy a tulajdonságkezelési módszerek alatt találhatók.

Megjegyzés

Az elnevezési szolgáltatás feloldja a szolgáltatásneveket a fürt egy helyére. A felhasználók ezzel kezelhetik a szolgáltatásneveket és a tulajdonságokat. Ez egy Service Fabric particionáltan megőrzött szolgáltatás. Az egyik partíció a Szolgáltató tulajdonosát jelöli, amely a Service Fabric-nevek és -szolgáltatások metaadatait tartalmazza. A Service Fabric-nevek különböző partíciókra vannak leképezve, névtulajdonosi partíciókra, így a szolgáltatás bővíthető. További információ az elnevezési szolgáltatásról.

Ha egy elnevezési művelet a vártnál több időt vesz igénybe, a rendszer figyelmeztetést jelenít meg a műveletet kiszolgáló Elnevezési szolgáltatás partíciójának elsődleges replikájáról. Ha a művelet sikeresen befejeződött, a figyelmeztetés törlődik. Ha a művelet hibával fejeződik be, az állapotjelentés tartalmazza a hiba részleteit.

  • SourceId: System.NamingService
  • Tulajdonság: A "Duration_" előtaggal kezdődik, és azonosítja a lassú műveletet, valamint azt a Service Fabric-nevet, amelyre a műveletet alkalmazza. Ha például a szolgáltatás létrehozása a névhálóban:/MyApp/MyService túl sokáig tart, a tulajdonság Duration_AOCreateService.fabric:/MyApp/MyService. Az "AO" a név és művelet elnevezési partíciójának szerepkörére mutat.
  • Következő lépések: Ellenőrizze, hogy miért hiúsul meg az elnevezési művelet. Minden műveletnek különböző kiváltó okai lehetnek. Előfordulhat például, hogy a törlési szolgáltatás elakadt. Előfordulhat, hogy a szolgáltatás elakadt, mert az alkalmazás gazdagépe a szolgáltatáskód felhasználói hibája miatt folyamatosan összeomlik egy csomóponton.

Az alábbi példa egy szolgáltatás-létrehozási műveletet mutat be. A művelet hosszabb időt vett igénybe, mint a konfigurált időtartam. Az "AO" újrapróbálkozásokat végez, és munkát küld a "NEM"-nek. A "NEM" művelet időtúllépéssel fejeződött be. Ebben az esetben ugyanaz a replika az "AO" és a "NEM" szerepkör esetében is elsődleges.

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 rendszerállapot-jelentések

A System.Hosting az üzembe helyezett entitások szolgáltatója.

Aktiválás

A System.Hosting akkor jelent okként, ha egy alkalmazás sikeresen aktiválva lett a csomóponton. Ellenkező esetben hibát jelez.

  • SourceId: System.Hosting
  • Tulajdonság: Aktiválás, beleértve a bevezetési verziót is.
  • Következő lépések: Ha az alkalmazás nem megfelelő állapotú, vizsgálja meg, hogy miért nem sikerült az aktiválás.

Az alábbi példa egy sikeres aktiválást mutat be:

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

Letöltés

A System.Hosting hibát jelez, ha az alkalmazáscsomag letöltése sikertelen.

  • SourceId: System.Hosting
  • Tulajdonság: Letöltés, beleértve a bevezetési verziót is.
  • Következő lépések: Vizsgálja meg, hogy miért nem sikerült a letöltés a csomóponton.

DeployedServicePackage rendszerállapot-jelentések

A System.Hosting az üzembe helyezett entitások szolgáltatója.

Szolgáltatáscsomag aktiválása

A System.Hosting az OK értéket jelenti, ha a szolgáltatáscsomag aktiválása sikeres a csomóponton. Ellenkező esetben hibát jelez.

  • SourceId: System.Hosting
  • Tulajdonság: Aktiválás.
  • Következő lépések: Vizsgálja meg, hogy miért nem sikerült az aktiválás.

Kódcsomag aktiválása

Ha az aktiválás sikeres, a System.Hosting minden kódcsomag esetében OK-ként jelent. Ha az aktiválás sikertelen, figyelmeztetést jelent a konfigurált módon. Ha a CodePackage nem aktiválódik vagy leáll a konfigurált CodePackageHealthErrorThreshold-nál nagyobb hibával, a üzemeltetés hibát jelez. Ha egy szolgáltatáscsomag több kódcsomagot tartalmaz, mindegyikhez létrejön egy aktiválási jelentés.

  • SourceId: System.Hosting
  • Tulajdonság: A CodePackageActivation előtagot használja, és a kódcsomag nevét és a belépési pontot CodePackageActivation:CodePackageName:SetupEntryPoint/EntryPoint néven tartalmazza. Például : CodePackageActivation:Code:SetupEntryPoint.

Szolgáltatástípus-regisztráció

A System.Hosting akkor jelenti az OK értéket, ha a szolgáltatástípus sikeresen regisztrálva lett. Hibát jelez, ha a regisztráció nem történt meg időben a ServiceTypeRegistrationTimeout használatával konfigurált módon. Ha a futtatókörnyezet le van zárva, a szolgáltatástípus nincs regisztrálva a csomópontról, és az üzemeltetés figyelmeztetést jelent.

  • SourceId: System.Hosting
  • Tulajdonság: A ServiceTypeRegistration előtagot használja, és tartalmazza a szolgáltatástípus nevét. Például : ServiceTypeRegistration:FileStoreServiceType.

Az alábbi példa egy kifogástalan állapotú üzembe helyezett szolgáltatáscsomagot mutat be:

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

Letöltés

A System.Hosting hibát jelez, ha a szolgáltatáscsomag letöltése sikertelen.

  • SourceId: System.Hosting
  • Tulajdonság: Letöltés, beleértve a bevezetési verziót is.
  • Következő lépések: Vizsgálja meg, hogy miért nem sikerült a letöltés a csomóponton.

Frissítés ellenőrzése

A System.Hosting hibát jelez, ha a frissítés során az ellenőrzés sikertelen, vagy ha a frissítés meghiúsul a csomóponton.

  • SourceId: System.Hosting
  • Tulajdonság: A FabricUpgradeValidation előtagot használja, és tartalmazza a frissítési verziót.
  • Leírás: A tapasztalt hibára mutat.

Nem definiált csomópontkapacitás erőforrás-szabályozási metrikákhoz

A System.Hosting figyelmeztetést jelent, ha a fürt jegyzékfájljában nincs meghatározva csomópontkapacitás, és az automatikus észlelés konfigurációja ki van kapcsolva. A Service Fabric állapotriasztást ad, ha az erőforrás-szabályozást használó szolgáltatáscsomag egy adott csomóponton regisztrál.

  • SourceId: System.Hosting
  • Tulajdonság: ResourceGovernance.
  • Következő lépések: A probléma megoldásának előnyben részesített módja a fürtjegyzék módosítása az elérhető erőforrások automatikus észlelésének engedélyezéséhez. Egy másik módszer a fürtjegyzék frissítése a metrikákhoz megfelelően megadott csomóponti kapacitásokkal.

Következő lépések