Megosztás a következőn keresztül:


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

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

Feljegyzé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 a Service Fabric szempontjából megfelelően viselkednek-e. A jelentések nem biztosítják a szolgáltatás üzleti logikájának állapotfigyelé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.

Feljegyzés

A felhasználói figyelők által küldött állapotjelentések csak azután jelennek meg, hogy 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ú, tartós 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éseket a forrás azonosítja, amely a "System" előtaggal kezdődik. A watchdogok nem használhatják ugyanazt az előtagot a forrásaikhoz, mivel a rendszer elutasítja az érvénytelen paraméterekkel rendelkező jelentéseket.

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.

Feljegyzés

A Service Fabric továbbra is jelentéseket készít azokról az érdekes 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.

Szomszédsági veszteség

A System.Federation hibát jelez, ha körzeti veszteséget észlel. A jelentés egyes csomópontokból származik, és a csomópont azonosítója szerepel a tulajdonságnévben. Ha a Service Fabric-gyűrűben elveszik egy környék, általában két olyan eseményre számíthat, amelyek a résjelenté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 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árból, még akkor is, ha a jelentéskészítési csomópont le van állítva.

  • SourceId: System.Federation
  • Tulajdonság: A szomszédsággal kezdődik, é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ópontokra vonatkozó 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 elakadhat vagy elakadhat. Ugyanez történhet a Feladatátvétel-kezelő főkiszolgálója (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. Az előző feltételek egyike esetén a System.FM vagy a System.FMM hibajelentésen keresztül jelöli meg. 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ő ü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 a csomópontokra: Az FM/FMM már kapott szórásos 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 más lehetséges problémák esetén.
  • 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 a mögöttes 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 más csomópontokkal bérleteket létesítenek, és bizonyos hálózati hibák esetén kötéstörőkként szolgálnak. Ha a magcsomópontok többsége le van állítva a fürtben, és nem hozza vissza őket, a fürt automatikusan leáll.

A magcsomópont nem kifogástalan, ha a csomópont állapota Le, Eltávolítva vagy Ismeretlen. A magcsomópont állapotára vonatkozó figyelmeztető jelentés részletes információkkal listáz minden nem kifogástalan magcsomópontot.

  • 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 javításhoz: A Service Fabric 6.5-ös vagy újabb verzióját futtató fürtök esetében: Az Azure Service Fabric-fürt esetében a magcsomópont leállása után a Service Fabric megpróbálja automatikusan nem kezdő csomópontra módosítani. Ennek érdekében győződjön meg arról, hogy az elsődleges csomóponttípusban a nem mag csomópontok száma nagyobb vagy egyenlő a lecsúszó 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 kapcsolva, a felhasználóknak fel kell hozniuk a magcsomópontot; Ha a magcsomópont el van 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.

A Service Fabric 6.5-nél régebbi verzióját futtató fürtök esetében: 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 állapotban legyen: ha a magcsomópont le van állítva, a felhasználóknak fel kell hozniuk a magcsomópontot; ha a magcsomópont el van 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 állapotba 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 állapotjelentései

System.FM, amely a Feladatátvétel-kezelő szolgáltatást jelöli, az a szolgáltató, amely a fürtcsomópontokra vonatkozó információkat kezeli. Minden csomópontnak egy jelentést kell tartalmaznia System.FM az állapotáról. 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 jelentések rendben vannak, amikor a csomópont csatlakozik a gyűrűhöz (ez működik). Hibajelentést jelent, ha a csomópont elhagyja a gyűrűt (vagy frissítéskor, 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ánysal, mint az entitásokhoz társított példány. Amikor System.FM arról számol be, hogy a csomópont le van állítva vagy újraindult, az állapottár automatikusan törli azokat az üzembe helyezett entitásokat, amelyek csak a lecsomó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 váltania az OK gombra. Ha a csomópont nem tér vissza, vagy sikertelen, a probléma további vizsgálatot igényel.

Az alábbi példa az System.FM eseményt mutatja be, amely a csomópont felfelé állapotának állapota OK:

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 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 akkor törlődnek, 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 közel járnak a lejáratukhoz.

Kapacitás megsértése

A Service Fabric Load Balancer figyelmeztetést jelent, ha csomópontkapacitás-megsé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 a csomópont aktuális kapacitását.

A csomópont kapacitása nem egyezik az erőforrás-szabályozási metrikákhoz

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 történik, és az erőforrás-szabályozás nem működik megfelelően. Frissítse a fürtjegyzéket a metrikákhoz megfelelő csomóponti kapacitásokkal, 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ással kapcsolatos információkat kezelő hatóság.

Állapot

System.CM jelentések az alkalmazás létrehozásakor vagy frissítésekor okként jelennek meg. 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ítve lett, annak tartalmaznia kell a Fürtkezelő állapotjelentését. Ellenkező esetben ellenőrizze az alkalmazás állapotát egy lekérdezés kiadásával. Használja például a Get-ServiceFabricApplication -ApplicationName applicationName 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 jelentések a szolgáltatás létrehozásakor rendben vannak. 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áskorrelációs hiba

A System.PLB hibát jelez, ha azt észleli, hogy a szolgáltatás frissítése egy másik, affinitási láncot létrehozó szolgáltatással van összefüggésben. 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 korrelált szolgáltatásleírásokat.

Partíciórendszer állapotjelentései

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

Állapot

System.FM jelentések rendben vannak a partíció létrehozásakor, és kifogástalan állapotban vannak. Törli az entitást az állapottárolóból a partíció törlésekor.

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

Más figyelemre méltó 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 több terabájtos állapottal rendelkezik, mint például az Azure SQL Database, a build 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ő, lehetséges, hogy egyes replikák nem lettek létrehozva, megnyitva vagy előléptetve az elsődleges vagy másodlagosra.

Ha a leírás a kvórumvesztést ismerteti, akkor a le nem omlott replikák részletes állapotjelentésének vizsgálata és biztonsági mentése 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, akkor az elsődleges replika állapotjelentése 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óiról vagy szolgáltatásáról lesznek jelentések.

Az alábbi példák ezen jelentések némelyikét ismertetik.

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, ami ebben az esetben öt. Ebben az esetben tehát két replika nem helyezhető el, mert a replikák célszáma magasabb, mint az elérhető 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 azért elakadt az újrakonfigurálásban, mert a felhasználó nem tartja tiszteletben a törlési jogkivonatot 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
  • Jelenlegi konfigurációs szerepkör
  • Replika állapota
  • Csomópont, amelyen a replika fut
  • Replika azonosítója

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

Replikakorlát megsértése

A System.PLB figyelmeztetést jelent, ha replikakorlátok megsértését észleli, é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 megakadályozzák a replika elhelyezését.

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

Replikarendszerállapot-jelentések

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

Állapot

A System.RA a replika létrehozásakor rendben van.

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

Az alábbi példa egy kifogástalan 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ása, a replika bezárása vagy a replika egyik szerepkörből a másikba való áttűnésekor. További információ: Replika életciklusa. A hibák lehetnek kivételek a szolgáltatásgazdafolyamat API-hívásaiból vagy összeomlásaiból ez idő alatt. A C# kódból érkező API-hívások miatti hibák esetén a Service Fabric hozzáadja a kivételt és a verem nyomkövetését az állapotjelentéshez.

Ezek az állapotriasztások a művelet helyi újrapróbálkozása után jelennek meg (a szabályzattól függően). A Service Fabric újrapróbálkozza 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 miatt ezek a figyelmeztetések törlődhetnek, mivel az feladja a műveletet ezen a csomóponton. 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 végez. 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 okozza.

  • 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 nyitott metódusból dobó TargetInvocationException replika állapotát mutatja be. A leírás tartalmazza a hibapontot, az IStatefulServiceReplica.Open fájlt, 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 folyamatosan összeomlik a bezárás során:

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 nem befejeződik egy művelet, amely megegyezik az újrakonfigurálást végrehajtó replikával. Ebben az esetben a replika állapotjelentéseinek vizsgálata más összetevőkből, a System.RAP-ből vagy a System.RE, további információkat nyújthat.

  • Egy művelet nem hajt végre távoli replikán. A függőben lévő műveletek replikái szerepelnek az állapotjelentésben. További vizsgálatot kell végezni a távoli replikák állapotjelentéseiben. 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: A helyi vagy távoli replikák vizsgálata 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 elakad, é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

Az egyes replikákhoz a következő információk adhatók meg:

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

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

  • A lesiklott replikákat fel kell hozni.
  • A beépített replikáknak végre kell hajtaniuk a buildelést és a készre váltást.

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

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 rendszer törli a figyelmeztetést.

  • 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 lévő 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ás esetében, amely nem tartja tiszteletben a RunAsync lemondási jogkivonatát:

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 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 api általában hiba a szolgáltatáskódban. Az alábbi szakasz bemutatja, hogyan fordítják le ezeket a Reliable Services-modellre:

  • IStatefulServiceReplica.Open: Ez a figyelmeztetés azt jelzi, hogy a hívás CreateServiceInstanceListeners, ICommunicationListener.OpenAsyncvagy ha felül van bírálva, OnOpenAsync elakadt.

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

  • IStatefulServiceReplica.ChangeRole(S) és IStatefulServiceReplica.ChangeRole(N): A leggyakoribb eset az a szolgáltatás, amely nem tartja tiszteletben a megadott 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.RunAsync

Az IReplicator felületén más API-hívások is elakadhatnak. Példa:

  • IReplicator.CatchupReplicaSet: Ez a figyelmeztetés két dolog egyikét jelzi. Nincs elegendő felfelé felfelé replika. Ha meg szeretné nézni, hogy ez a helyzet-e, tekintse meg a replikák állapotát a partícióban, vagy a System.FM állapotjelentést egy elakadt újrakonfiguráláshoz. Vagy a replikák nem ismerik el a műveleteket. A PowerShell-parancsmaggal Get-ServiceFabricDeployedReplicaDetail meghatározhatja az összes replika állapotát. A probléma olyan 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 során jelentkező problémát jelez. További információ: Replika életciklusa. Ennek oka lehet a replikátor címének helytelen konfigurálása. További információ: Állapotalapú reliable services konfigurálása és erőforrások megadása egy szolgáltatásjegyzékben. Ez a távoli csomóponton is problémát jelenthet.

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 replikaszerepkörtő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, előfordulhat, hogy legalább egy lassú másodlagos, nagy lemezkéséslel a műveletek alkalmazásakor. Ha a jelentés másodlagos, először ellenőrizze a csomópont lemezhasználatát és teljesítményét. 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) replikátorhoz való kapcsolat nem kifogástalan. A távoli replikátor címe megjelenik a jelentés üzenetében, így könnyebben felismerhető, hogy a nem megfelelő konfigurációt adta-e át, 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 a lehetséges hálózati problémák megkereséséhez.

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 replikaszerepkörtő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 alatt találhatók. Ezek például a szolgáltatásfelügyeleti vagy a tulajdonságkezelési módszerek alatt találhatók.

Feljegyzés

Az elnevezési szolgáltatás a fürt egy helyére oldja fel a szolgáltatásneveket. A felhasználók használhatják a szolgáltatásnevek és -tulajdonságok kezelésére. Ez egy Service Fabric particionált-megőrzött szolgáltatás. Az egyik partíció a Szolgáltató tulajdonosát jelöli, amely az összes Service Fabric-név és szolgáltatás metaadatait tartalmazza. A Service Fabric-nevek különböző partíciókra vannak leképezve, úgynevezett 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 tovább tart, a művelet figyelmeztető jelentéssel van megjelölve a műveletet kiszolgáló Naming Service-partíció elsődleges replikáján. 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 és 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ásgazda folyamatosan összeomlik egy csomóponton a szolgáltatáskód felhasználói hibája miatt.

Az alábbi példa egy szolgáltatás létrehozása műveletet mutat be. A művelet hosszabb ideig tartott, mint a konfigurált időtartam. Az "AO" újrapróbálkozásokat végez, és munkát küld a "NEM"-nek. A "NEM" az utolsó műveletet időtúllépéssel fejezte be. Ebben az esetben ugyanaz a replika az "AO" és a "NO" 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

Az DeployedApplication rendszerállapot-jelentései

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

Aktiválás

A System.Hosting jelentései rendben vannak, ha egy alkalmazás sikeresen aktiválódott 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ő, 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.

Az DeployedServicePackage rendszer állapotjelentései

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

Szolgáltatáscsomag aktiválása

A System.Hosting okként 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, a rendszer a konfigurált módon jelenti a figyelmeztetést. Ha a CodePackage nem aktiválódik vagy leáll a konfigurált CodePackageHealthErrorThresholdná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 jelentései rendben vannak, ha a szolgáltatástípus sikeresen regisztrálva van. Hibát jelez, ha a regisztráció nem történt meg időben, a ServiceTypeRegistrationTimeout használatával konfigurálva. Ha a futtatókörnyezet bezárul, a szolgáltatástípus nincs regisztrálva a csomópontról, és a ü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 csomópontkapacitások nincsenek definiálva a fürtjegyzékben, és az automatikus észlelés konfigurációja ki van kapcsolva. A Service Fabric állapotjelzést ad, amikor az erőforrás-szabályozást használó szolgáltatáscsomag regisztrál egy adott csomóponton.

  • SourceId: System.Hosting
  • Tulajdonság: ResourceGovernance.
  • Következő lépések: A probléma megoldásának elsődleges 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 helyesen megadott csomóponti kapacitásokkal.

Következő lépések