Sorun gidermek için sistem durumu raporlarını kullanma

Azure Service Fabric bileşenleri, kümedeki tüm varlıklar için sistem durumu raporlarını kullanıma sunmanın hemen dışında sağlar. Sistem durumu deposu , sistem raporlarını temel alarak varlıkları oluşturur ve siler. Ayrıca bunları varlık etkileşimlerini yakalayan bir hiyerarşide düzenler.

Not

Sistem durumuyla ilgili kavramları anlamak için Service Fabric sistem durumu modeli başlığında daha fazla bilgi edinin.

Sistem durumu raporları, küme ve uygulama işlevselliğiyle ilgili görünürlük sağlar ve sorunlara bayrak ekler. Sistem durumu raporları, uygulamalar ve hizmetler için varlıkların uygulandığını ve Service Fabric perspektifinden doğru şekilde davrandığını doğrular. Raporlar, hizmetin iş mantığının sistem durumu izlemesini veya yanıt vermeyen işlemleri algılamasını sağlamaz. Kullanıcı hizmetleri, sistem durumu verilerini kendi mantığına özgü bilgilerle zenginleştirebilir.

Not

Kullanıcı watchdogs tarafından gönderilen sistem durumu raporları yalnızca sistem bileşenleri bir varlık oluşturduktan sonra görünür. Bir varlık silindiğinde, sistem durumu deposu kendisiyle ilişkili tüm sistem durumu raporlarını otomatik olarak siler. Varlığın yeni bir örneği oluşturulduğunda da aynı durum geçerlidir. Durum bilgisi olan yeni bir kalıcı hizmet çoğaltma örneği oluşturulduğunda örnek olarak gösterilir. Eski örnekle ilişkili tüm raporlar silinir ve mağazadan temizlenir.

Sistem bileşeni raporları, "System" ön eki ile başlayan kaynak tarafından tanımlanır. Geçersiz parametrelere sahip raporlar reddedildiğinden watchdogs kaynakları için aynı ön eki kullanamaz.

Bunları neyin tetiklediklerini anlamak ve temsil ettikleri olası sorunları nasıl düzelteceğinizi öğrenmek için bazı sistem raporlarına göz atalım.

Not

Service Fabric, kümede ve uygulamalarda neler olduğuna ilişkin görünürlüğü geliştiren ilgi çekici koşullar hakkında raporlar eklemeye devam eder. Mevcut raporlar, sorunun daha hızlı giderilmesine yardımcı olmak için daha fazla ayrıntıyla geliştirilebilir.

Küme sistemi sistem durumu raporları

Küme sistem durumu varlığı, sistem durumu deposunda otomatik olarak oluşturulur. Her şey düzgün çalışıyorsa sistem raporu yoktur.

Mahalle kaybı

System.Federation , bir mahalle kaybı algıladığında bir hata bildirir. Rapor tek tek düğümlerden alınır ve düğüm kimliği özellik adına eklenir. Service Fabric halkasının tamamında bir mahalle kaybolursa, genellikle boşluk raporunun her iki tarafını da temsil eden iki olay bekleyebilirsiniz. Daha fazla mahalle kaybolursa, daha fazla olay olur.

Rapor, genel kiralama zaman aşımını yaşam süresi (TTL) olarak belirtir. Rapor, koşul etkin kaldığı sürece TTL süresinin her yarısında yeniden oluşturulur. Olay süresi dolduğunda otomatik olarak kaldırılır. Süresi dolan kaldırma davranışı, raporlama düğümü çalışmıyor olsa bile raporun sistem durumu deposundan doğru şekilde temizlenmesini sağlar.

  • SourceId: System.Federation
  • Özellik: Mahalle ile başlar ve düğüm bilgilerini içerir.
  • Sonraki adımlar: Mahallenin neden kaybolduğunu araştırın. Örneğin, küme düğümleri arasındaki iletişimi denetleyin.

Yeniden derleme

Yük Devretme Yöneticisi (FM) hizmeti, küme düğümleri hakkındaki bilgileri yönetir. FM verilerini kaybettiğinde ve veri kaybına uğradığında, küme düğümleri hakkında en güncel bilgilere sahip olduğunu garantileyemez. Bu durumda sistem yeniden derlemeden geçer ve System.FM durumunu yeniden oluşturmak için kümedeki tüm düğümlerden veri toplar. Bazen ağ veya düğüm sorunları nedeniyle yeniden derleme takılabilir veya durdurulabilir. Aynı durum Yük Devretme Yöneticisi Yöneticisi (FMM) hizmetinde de gerçekleşebilir. FMM, kümedeki tüm FM'lerin nerede olduğunu takip eden durum bilgisi olmayan bir sistem hizmetidir. FMM'nin birincil değeri her zaman 0'a en yakın kimliğe sahip düğümdür. Bu düğüm bırakılırsa yeniden oluşturma tetiklenir. Önceki koşullardan biri olduğunda, System.FM veya System.FMM bunu bir hata raporu aracılığıyla bayrakla işaretler. Yeniden oluşturma iki aşamadan birinde takılmış olabilir:

  • Yayın bekleniyor: FM/FMM, diğer düğümlerden gelen yayın iletisi yanıtını bekler.

    • Sonraki adımlar: Düğümler arasında bir ağ bağlantısı sorunu olup olmadığını araştırın.
  • Düğümler bekleniyor: FM/FMM diğer düğümlerden zaten bir yayın yanıtı aldı ve belirli düğümlerden yanıt bekliyor. Sistem durumu raporu, FM/FMM'nin yanıt beklediği düğümleri listeler.

    • Sonraki adımlar: FM/FMM ile listelenen düğümler arasındaki ağ bağlantısını araştırın. Listelenen her düğümü diğer olası sorunlar için araştırın.
  • SourceID: System.FM veya System.FMM

  • Özellik: Yeniden derleme.

  • Sonraki adımlar: Düğümler arasındaki ağ bağlantısını ve sistem durumu raporunun açıklamasında listelenen belirli düğümlerin durumunu araştırın.

Tohum Düğümü Durumu

System.FM, bazı çekirdek düğümleri iyi durumda değilse küme düzeyi uyarısı bildirir. Çekirdek düğümleri, temel alınan kümenin kullanılabilirliğini koruyan düğümlerdir. Bu düğümler, diğer düğümlerle kira oluşturarak ve belirli ağ hataları sırasında tiebreak'ler olarak hizmet vererek kümenin çalışır durumda kalmasını sağlamaya yardımcı olur. Çekirdek düğümlerin çoğunluğu kümede kapalıysa ve geri getirilmediyse, küme otomatik olarak kapanır.

Düğüm durumu Aşağı, Kaldırıldı veya Bilinmiyor olduğunda bir tohum düğümü iyi durumda değildir. Çekirdek düğüm durumu için uyarı raporu, tüm iyi durumda olmayan çekirdek düğümlerini ayrıntılı bilgilerle listeler.

  • Kaynak Kimliği: System.FM
  • Özellik: SeedNodeStatus
  • Sonraki adımlar: Bu uyarı kümede gösterildiyse, düzeltmek için aşağıdaki yönergeleri izleyin: Service Fabric sürüm 6.5 veya üzerini çalıştıran küme için: Azure'daki Service Fabric kümesi için, tohum düğümü devre dışı bırakıldıktan sonra Service Fabric bunu otomatik olarak dengeli olmayan bir düğüm olarak değiştirmeye çalışır. Bunun gerçekleşmesi için birincil düğüm türündeki çekirdek olmayan düğüm sayısının Aşağı çekirdek düğümlerinin sayısına eşit veya daha büyük olduğundan emin olun. Gerekirse, bunu başarmak için birincil düğüm türüne daha fazla düğüm ekleyin. Küme durumuna bağlı olarak, sorunu düzeltmek biraz zaman alabilir. Bu işlem tamamlandıktan sonra uyarı raporu otomatik olarak temizlenir.

Service Fabric tek başına kümesinde uyarı raporunu temizlemek için tüm çekirdek düğümlerinin iyi duruma gelmesi gerekir. Çekirdek düğümlerinin neden iyi durumda olmadığınıza bağlı olarak, farklı eylemler gerçekleştirilmelidir: çekirdek düğümü Çalışmıyorsa, kullanıcıların bu çekirdek düğümünü yukarı getirmesi gerekir; tohum düğümü Kaldırıldı veya Bilinmiyor ise, bu tohum düğümünü kümeden kaldırması gerekir. Tüm çekirdek düğümleri iyi duruma geldiğinde uyarı raporu otomatik olarak temizlenir.

6.5'ten eski Service Fabric sürümünü çalıştıran küme için: Bu durumda uyarı raporunun el ile temizlenmesi gerekir. Kullanıcılar raporu temizlemeden önce tüm çekirdek düğümlerinin iyi durumda olduğundan emin olmalıdır: çekirdek düğümü Çalışmıyorsa, kullanıcıların bu çekirdek düğümünü yukarı getirmesi gerekir; tohum düğümü Kaldırıldı veya Bilinmiyor ise, bu tohum düğümünü kümeden kaldırması gerekir. Tüm çekirdek düğümleri iyileştikten sonra, uyarı raporunu temizlemek için PowerShell'den aşağıdaki komutu kullanın:

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

Düğüm sistemi sistem durumu raporları

Yük Devretme Yöneticisi hizmetini temsil eden System.FM, küme düğümleri hakkındaki bilgileri yöneten yetkilidir. Her düğümün durumunu gösteren System.FM bir raporu olmalıdır. Düğüm durumu kaldırıldığında düğüm varlıkları kaldırılır. Daha fazla bilgi için bkz . RemoveNodeStateAsync.

Düğüm yukarı/aşağı

System.FM düğüm halkaya katıldığında (çalışır durumdadır) Tamam olarak raporlar. Düğüm halkadan çıktığında bir hata bildirir (yükseltme için veya başarısız olduğu için kapalıdır). Sistem durumu deposu tarafından oluşturulan sistem durumu hiyerarşisi, dağıtılan varlıklar üzerinde System.FM düğüm raporlarıyla bağıntılı olarak hareket eder. Düğümü, dağıtılan tüm varlıkların sanal üst öğesi olarak kabul eder. Düğüm, varlıklarla ilişkilendirilmiş örnekle aynı örnekle System.FM tarafından bildirilirse, bu düğümdeki dağıtılan varlıklar sorgular aracılığıyla kullanıma sunulur. System.FM düğümün kapandığını veya yeniden başlatıldığını bildirdiğinde, sistem durumu deposu yalnızca aşağı düğümde veya düğümün önceki örneğinde var olabilecek dağıtılan varlıkları otomatik olarak temizler.

  • SourceId: System.FM
  • Özellik: Durum.
  • Sonraki adımlar: Düğüm bir yükseltme için çalışmıyorsa, yükseltildikten sonra geri gelmelidir. Bu durumda sistem durumu Tamam'a geri dönmelidir. Düğüm geri gelmezse veya başarısız olursa, sorunun daha fazla araştırılması gerekir.

Aşağıdaki örnekte düğüm yukarı için sistem durumu Tamam olan System.FM olayı gösterilmektedir:

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

Sertifika süre sonu

System.FabricNode , düğüm tarafından kullanılan sertifikaların süresi dolma yaklaştığında bir uyarı bildirir. Düğüm başına üç sertifika vardır: Certificate_cluster, Certificate_server ve Certificate_default_client. Süre sonu en az iki hafta sonra olduğunda rapor sistem durumu tamam olur. Süre sonu iki hafta içinde olduğunda rapor türü bir uyarıdır. Bu olayların TTL değeri sonsuzdur ve bir düğüm kümeden ayrıldığında kaldırılır.

  • SourceId: System.FabricNode
  • Özellik: Sertifika ile başlar ve sertifika türü hakkında daha fazla bilgi içerir.
  • Sonraki adımlar: Sertifikalar sona ermek üzereyse sertifikalarını güncelleştirin.

Yük kapasitesi ihlali

Service Fabric Load Balancer, düğüm kapasitesi ihlali algıladığında bir uyarı bildirir.

  • SourceId: System.PLB
  • Özellik: Kapasite ile başlar.
  • Sonraki adımlar: Sağlanan ölçümleri denetleyin ve düğümdeki geçerli kapasiteyi görüntüleyin.

Kaynak idaresi ölçümleri için düğüm kapasitesi uyuşmazlığı

System.Hosting, küme bildirimindeki tanımlı düğüm kapasiteleri kaynak idaresi ölçümleri (bellek ve CPU çekirdekleri) için gerçek düğüm kapasitelerinden daha büyükse bir uyarı bildirir. Kaynak idaresini kullanan ilk hizmet paketi belirtilen düğüme kaydedildiğinde bir sistem durumu raporu görüntülenir.

  • SourceId: System.Hosting
  • Özellik: ResourceGovernance.
  • Sonraki adımlar: İdare hizmet paketleri beklendiği gibi uygulanmadığından ve kaynak idaresi düzgün çalışmadığından bu sorun sorun olabilir. Küme bildirimini bu ölçümler için doğru düğüm kapasiteleriyle güncelleştirin veya belirtmeyin ve Service Fabric'in kullanılabilir kaynakları otomatik olarak algılamasına izin verin.

Uygulama sistemi sistem durumu raporları

Küme Yöneticisi hizmetini temsil eden System.CM, bir uygulama hakkındaki bilgileri yöneten yetkilidir.

State

Uygulama oluşturulduğunda veya güncelleştirildiğinde raporları Tamam olarak System.CM. Uygulama silindiğinde sistem durumu deposunu bilgilendirerek mağazadan kaldırılabilmesini sağlar.

  • SourceId: System.CM
  • Özellik: Durum.
  • Sonraki adımlar: Uygulama oluşturulduysa veya güncelleştirildiyse Küme Yöneticisi sistem durumu raporunu içermelidir. Aksi takdirde, sorguyu vererek uygulamanın durumunu denetleyin. Örneğin, Get-ServiceFabricApplication -ApplicationName applicationName PowerShell cmdlet'ini kullanın.

Aşağıdaki örnekte doku:/WordCount uygulamasındaki durum olayı gösterilmektedir:

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

Hizmet sistemi sistem durumu raporları

Yük Devretme Yöneticisi hizmetini temsil eden System.FM, hizmetler hakkındaki bilgileri yöneten yetkilidir.

State

Hizmet oluşturulduğunda raporları Tamam olarak System.FM. Hizmet silindiğinde varlığı sistem durumu deposundan siler.

  • SourceId: System.FM
  • Özellik: Durum.

Aşağıdaki örnekte service fabric:/WordCount/WordCountWebService üzerindeki durum olayı gösterilmektedir:

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

Hizmet bağıntı hatası

System.PLB , bir hizmeti güncelleştirmenin benzim zinciri oluşturan başka bir hizmetle bağıntılı olduğunu algıladığında bir hata bildirir. Başarılı bir güncelleştirme gerçekleştiğinde rapor temizlenir.

  • SourceId: System.PLB
  • Özellik: ServiceDescription.
  • Sonraki adımlar: bağıntılı hizmet açıklamalarını denetleyin.

Sistem durumu raporlarını bölümleme

Yük Devretme Yöneticisi hizmetini temsil eden System.FM, hizmet bölümleri hakkındaki bilgileri yöneten yetkilidir.

State

bölüm oluşturulduğunda ve iyi durumda olduğunda System.FM Tamam olarak raporlar. Bölüm silindiğinde varlığı sistem durumu deposundan siler.

Bölüm en düşük çoğaltma sayısının altındaysa bir hata bildirir. Bölüm en düşük çoğaltma sayısının altında değilse ancak hedef çoğaltma sayısının altındaysa bir uyarı bildirir. Bölüm çekirdek kaybındaysa System.FM bir hata bildirir.

Diğer önemli olaylar, yeniden yapılandırmanın beklenenden uzun sürmesi ve derlemenin beklenenden uzun sürmesi gibi bir uyarıdır. Derleme ve yeniden yapılandırma için beklenen süreler hizmet senaryolarına göre yapılandırılabilir. Örneğin, bir hizmetin Azure SQL Veritabanı gibi terabaytlık bir durumu varsa, derleme az miktarda durumu olan bir hizmetten daha uzun sürer.

  • SourceId: System.FM
  • Özellik: Durum.
  • Sonraki adımlar: Sistem durumu düzgün değilse, bazı çoğaltmalar doğru şekilde oluşturulmamış, açılmamış veya birincil veya ikincil olarak yükseltilmemiş olabilir.

Açıklama çekirdek kaybını açıklıyorsa, devre dışı olan çoğaltmalar için ayrıntılı sistem durumu raporunu incelemek ve bunları geri getirmek bölümü yeniden çevrimiçi duruma getirmeye yardımcı olur.

Açıklama yeniden yapılandırmada takılan bir bölümü açıklıyorsa, birincil çoğaltmadaki sistem durumu raporu ek bilgi sağlar.

Diğer System.FM sistem durumu raporları için çoğaltmalar veya diğer sistem bileşenlerinden bölüm veya hizmetle ilgili raporlar olabilir.

Aşağıdaki örneklerde bu raporlardan bazıları açıklanmaktadır.

Aşağıdaki örnekte iyi durumda bir bölüm gösterilmektedir:

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

Aşağıdaki örnekte, hedef çoğaltma sayısının altında olan bir bölümün durumu gösterilmektedir. Sonraki adım, nasıl yapılandırıldığını gösteren bölüm açıklamasını almaktır: MinReplicaSetSize üç, TargetReplicaSetSize ise yedidir. Ardından kümedeki düğüm sayısını (bu örnekte beş) alın. Bu nedenle, hedef çoğaltma sayısı kullanılabilir düğüm sayısından yüksek olduğundan bu durumda iki çoğaltma yerleştirilemiyor.

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

Aşağıdaki örnek, kullanıcının RunAsync yöntemindeki iptal belirtecini kabul etmemesi nedeniyle yeniden yapılandırmada takılan bir bölümün durumunu gösterir. Birincil (P) olarak işaretlenmiş herhangi bir çoğaltmanın sistem durumu raporunu araştırmak, sorunun detayına gitme konusunda yardımcı olabilir.

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

Bu sistem durumu raporu, yeniden yapılandırmadan geçen bölümün çoğaltmalarının durumunu gösterir:

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

Her çoğaltma için sistem durumu raporu şunları içerir:

  • Önceki yapılandırma rolü
  • Geçerli yapılandırma rolü
  • Çoğaltma durumu
  • Çoğaltmanın üzerinde çalıştığı düğüm
  • Çoğaltma Kimliği

Örnekte olduğu gibi bir durumda daha fazla araştırma yapılması gerekir. Önceki örnekte ve (131482789658160654 ve Secondary 131482789688598467) olarak Primary işaretlenmiş çoğaltmalardan başlayarak her bir çoğaltmanın durumunu araştırın.

Çoğaltma kısıtlaması ihlali

System.PLB , çoğaltma kısıtlaması ihlali algılarsa ve tüm bölüm çoğaltmalarını yerleştiremiyorsa bir uyarı bildirir. Rapor ayrıntıları, çoğaltma yerleşimini engelleyen kısıtlamaları ve özellikleri gösterir.

  • SourceId: System.PLB
  • Özellik: ReplicaConstraintViolation ile başlar.

Çoğaltma sistem durumu raporları

Yeniden yapılandırma aracısı bileşenini temsil eden System.RA, çoğaltma durumunun yetkilisidir.

State

System.RA, çoğaltma oluşturulduğunda Tamam'ı bildirir.

  • SourceId: System.RA
  • Özellik: Durum.

Aşağıdaki örnekte iyi durumda bir çoğaltma gösterilmektedir:

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

Bu özellik, bir çoğaltmayı açmaya, çoğaltmayı kapatmaya veya bir çoğaltmayı bir rolden diğerine geçirmeye çalışırken uyarıları veya hataları göstermek için kullanılır. Daha fazla bilgi için bkz . Çoğaltma yaşam döngüsü. Hatalar, bu süre boyunca API çağrılarından oluşturulan özel durumlar veya hizmet konağı işleminin kilitlenmeleri olabilir. C# kodundan api çağrıları nedeniyle oluşan hatalar için Service Fabric, sistem durumu raporuna özel durumu ve yığın izlemesini ekler.

Bu sistem durumu uyarıları, eylemi yerel olarak birkaç kez (ilkeye bağlı olarak) yeniden denendikten sonra tetiklenir. Service Fabric eylemi en yüksek eşiğe kadar yeniden denenir. Maksimum eşiğe ulaşıldıktan sonra durumu düzeltmek için harekete geçebilirsiniz. Bu girişim, bu düğümdeki eylemden vazgeçerken bu uyarıların temizlenmesine neden olabilir. Örneğin, bir çoğaltma bir düğümde açılmazsa Service Fabric bir sistem durumu uyarısı oluşturur. Çoğaltma açılmaya devam ederse Service Fabric kendi kendini onarmaya çalışır. Bu eylem aynı işlemi başka bir düğümde denemeyi içerebilir. Bu deneme, bu çoğaltma için tetiklenen uyarının temizlenmesine neden olur.

  • SourceId: System.RA
  • Özellik: ReplicaOpenStatus, ReplicaCloseStatus ve ReplicaChangeRoleStatus.
  • Sonraki adımlar: İşlemin neden başarısız olduğunu belirlemek için hizmet kodunu veya kilitlenme bilgi dökümlerini araştırın.

Aşağıdaki örnek, açık yönteminden oluşturan TargetInvocationException bir çoğaltmanın durumunu gösterir. Açıklama hata noktasını ( IStatefulServiceReplica.Open), TargetInvocationException özel durum türünü ve yığın izlemesini içerir.

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

Aşağıdaki örnekte, kapatma sırasında sürekli kilitlenen bir çoğaltma gösterilmektedir:

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

Yeniden yapılandırma

Bu özellik, yeniden yapılandırma gerçekleştiren bir çoğaltmanın yeniden yapılandırmanın durdurulduğunu veya takıldığını algıladığında göstermek için kullanılır. Bu sistem durumu raporu, birincilden etkin ikincilye indirgenen çoğaltmanın üzerinde olabileceği değiştirme birincil yeniden yapılandırma durumları dışında geçerli rolü birincil olan çoğaltmada olabilir.

Yeniden yapılandırma aşağıdaki nedenlerden biri nedeniyle takılabilir:

  • Yeniden yapılandırmayı gerçekleştirenle aynı çoğaltma olan yerel çoğaltmadaki bir eylem tamamlanmaz. Bu durumda, system.RAP veya System.RE diğer bileşenlerden bu çoğaltmadaki sistem durumu raporlarını araştırmak ek bilgi sağlayabilir.

  • Uzak çoğaltmada bir eylem tamamlanıyor değil. Eylemlerin beklemede olduğu çoğaltmalar sistem durumu raporunda listelenir. Bu uzak çoğaltmalar için sistem durumu raporları üzerinde daha fazla araştırma yapılmalıdır. Bu düğümle uzak düğüm arasında iletişim sorunları da olabilir.

Nadir durumlarda, yeniden yapılandırma bu düğüm ve Yük Devretme Yöneticisi hizmeti arasındaki iletişim veya diğer sorunlardan dolayı takılabilir.

  • SourceId: System.RA
  • Özellik: Yeniden yapılandırma.
  • Sonraki adımlar: Sistem durumu raporunun açıklamasına bağlı olarak yerel veya uzak çoğaltmaları araştırın.

Aşağıdaki örnekte, yeniden yapılandırmanın yerel çoğaltmada takıldığı bir sistem durumu raporu gösterilmektedir. Bu örnekte, bunun nedeni bir hizmetin iptal belirtecini kabul etmemesidir.

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

Aşağıdaki örnekte, yeniden yapılandırmanın iki uzak çoğaltmadan yanıt beklerken takıldığı bir sistem durumu raporu gösterilmektedir. Bu örnekte, bölümde geçerli birincil de dahil olmak üzere üç çoğaltma vardır.

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

Bu sistem durumu raporu, yeniden yapılandırmanın iki çoğaltmadan yanıt beklerken takıldığını gösterir:

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

Her çoğaltma için aşağıdaki bilgiler verilir:

  • Önceki yapılandırma rolü
  • Geçerli yapılandırma rolü
  • Çoğaltma durumu
  • Düğüm Kimliği
  • Çoğaltma Kimliği

Yeniden yapılandırmanın engelini kaldırmak için:

  • Aşağı çoğaltmalar getirilmelidir.
  • Yerleşik çoğaltmalar derlemeyi tamamlamalı ve hazıra geçmelidir.

Yavaş hizmet API çağrısı

System.RAP ve System.Replicator , kullanıcı hizmet koduna yapılan çağrının yapılandırılan süreden daha uzun sürmesi durumunda bir uyarı bildirir. Çağrı tamamlandığında uyarı temizlenir.

  • SourceId: System.RAP veya System.Replicator
  • Özellik: Yavaş API'nin adı. Açıklama, API'nin beklemede olduğu zaman hakkında daha fazla ayrıntı sağlar.
  • Sonraki adımlar: Aramanın neden beklenenden uzun sürdüğünü araştırın.

Aşağıdaki örnekte, RunAsync'teki iptal belirtecini dikkate almayan güvenilir bir hizmet için System.RAP'den gelen sistem durumu olayı gösterilmektedir:

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

Özelliği ve metni hangi API'nin takıldığını gösterir. Farklı takılmış API'ler için atılması gereken sonraki adımlar farklıdır. IStatefulServiceReplica veya IStatelessServiceInstance üzerindeki herhangi bir API genellikle hizmet kodundaki bir hatadır. Aşağıdaki bölümde, bunların Reliable Services modeline nasıl çevrildiği açıklanmaktadır:

  • IStatefulServiceReplica.Open: Bu uyarı, öğesine ICommunicationListener.OpenAsyncyapılan veya geçersiz kılınan OnOpenAsync bir çağrının CreateServiceInstanceListenerstakıldığını gösterir.

  • IStatefulServiceReplica.Close ve IStatefulServiceReplica.Abort: En yaygın durum, 'a geçirilen iptal belirtecini dikkate RunAsyncalmayan bir hizmettir. Ayrıca ICommunicationListener.CloseAsync, veya geçersiz kılınırsa, OnCloseAsync takılı kalmış olabilir.

  • IStatefulServiceReplica.ChangeRole(S) ve IStatefulServiceReplica.ChangeRole(N): En yaygın durum, 'a geçirilen iptal belirtecini dikkate RunAsyncalmayan bir hizmettir. Bu senaryoda en iyi çözüm çoğaltmayı yeniden başlatmaktır.

  • IStatefulServiceReplica.ChangeRole(P): En yaygın durum hizmetin içinden RunAsyncbir görev döndürmemesidir.

Takılabilir diğer API çağrıları IReplicator arabirimindedir. Örneğin:

  • IReplicator.CatchupReplicaSet: Bu uyarı iki şeyden birini gösterir. Yeterli çoğaltma yok. Durumun bu olup olmadığını görmek için bölümdeki çoğaltmaların çoğaltma durumuna veya takılmış yeniden yapılandırma için System.FM sistem durumu raporuna bakın. Veya çoğaltmalar işlemleri onaylamıyor. PowerShell cmdlet'i Get-ServiceFabricDeployedReplicaDetail tüm çoğaltmaların ilerleme durumunu belirlemek için kullanılabilir. Sorun, değeri birincil CommittedSequenceNumber değerin arkasında olan LastAppliedReplicationSequenceNumber çoğaltmalarla ilgili.

  • IReplicator.BuildReplica(<Remote ReplicaId>): Bu uyarı derleme işleminde bir sorun olduğunu gösterir. Daha fazla bilgi için bkz . Çoğaltma yaşam döngüsü. Bunun nedeni çoğaltıcı adresinin yanlış yapılandırılması olabilir. Daha fazla bilgi için bkz . Durum bilgisi olan Reliable Services'ı yapılandırma ve Hizmet bildiriminde kaynakları belirtme. Uzak düğümde de sorun olabilir.

Çoğaltıcı sistem durumu raporları

Çoğaltma kuyruğu full:System.Replicator , çoğaltma kuyruğu dolduğunda bir uyarı bildirir. Birincilde, çoğaltma kuyruğu genellikle bir veya daha fazla ikincil çoğaltma işlemleri kabul etmede yavaş olduğundan dolmaya başlar. İkincilde, bu genellikle hizmet işlemleri uygulamak için yavaş olduğunda gerçekleşir. Kuyruk artık dolu olmadığında uyarı temizlenir.

  • SourceId: System.Replicator
  • Özellik: Çoğaltma rolüne bağlı olarak PrimaryReplicationQueueStatus veya SecondaryReplicationQueueStatus.
  • Sonraki adımlar: Rapor birincildeyse, kümedeki düğümler arasındaki bağlantıyı denetleyin. Tüm bağlantılar iyi durumdaysa, işlemleri uygulamak için yüksek disk gecikme süresine sahip en az bir yavaş ikincil olabilir. Rapor ikincil sunucudaysa, önce düğümdeki disk kullanımını ve performansını denetleyin. Ardından yavaş düğümden birincil düğüme giden bağlantıyı denetleyin.

Birincil çoğaltmadaki RemoteReplicatorConnectionStatus:System.Replicator , ikincil (uzak) bir çoğaltıcıya bağlantı iyi durumda olmadığında bir uyarı bildirir. Uzak çoğaltıcının adresi raporun iletisinde gösterilir ve bu da yanlış yapılandırmanın geçirilip geçirilmediğini veya çoğaltıcılar arasında ağ sorunları olup olmadığını algılamayı daha kolay hale getirir.

  • SourceId: System.Replicator
  • Özellik: RemoteReplicatorConnectionStatus.
  • Sonraki adımlar: Hata iletisini denetleyin ve uzak çoğaltıcı adresinin doğru yapılandırıldığından emin olun. Örneğin, uzak çoğaltıcı "localhost" dinleme adresiyle açılırsa, dışarıdan erişilemez. Adres doğru görünüyorsa, olası ağ sorunlarını bulmak için birincil düğümle uzak adres arasındaki bağlantıyı denetleyin.

Çoğaltma kuyruğu dolu

System.Replicator , çoğaltma kuyruğu dolduğunda bir uyarı bildirir. Birincilde, çoğaltma kuyruğu genellikle bir veya daha fazla ikincil çoğaltma işlemleri kabul etmede yavaş olduğundan dolmaya başlar. İkincilde, bu genellikle hizmet işlemleri uygulamak için yavaş olduğunda gerçekleşir. Kuyruk artık dolu olmadığında uyarı temizlenir.

  • SourceId: System.Replicator
  • Özellik: Çoğaltma rolüne bağlı olarak PrimaryReplicationQueueStatus veya SecondaryReplicationQueueStatus.

Yavaş Adlandırma işlemleri

Bir Adlandırma işlemi kabul edilebilirden uzun sürdüğünde System.NamingService birincil çoğaltmasında sistem durumunu bildirir. Adlandırma işlemlerine örnek olarak CreateServiceAsync veya DeleteServiceAsync verilebilir. FabricClient altında daha fazla yöntem bulunabilir. Örneğin, bunlar hizmet yönetimi yöntemleri veya özellik yönetimi yöntemleri altında bulunabilir.

Not

Adlandırma hizmeti, hizmet adlarını kümedeki bir konuma çözümler. Kullanıcılar hizmet adlarını ve özelliklerini yönetmek için bunu kullanabilir. Service Fabric bölümlenmiş kalıcı bir hizmettir. Bölümlerden biri, tüm Service Fabric adları ve hizmetleri hakkındaki meta verileri içeren Yetkili Sahibi'ni temsil eder. Service Fabric adları Ad Sahibi bölümleri olarak adlandırılan farklı bölümlere eşlenir, bu nedenle hizmet genişletilebilir. Adlandırma hizmeti hakkında daha fazla bilgi edinin.

Bir Adlandırma işlemi beklenenden uzun sürdüğünde, işleme hizmet veren Adlandırma hizmeti bölümünün birincil çoğaltmasında bir uyarı raporuyla bayrak eklenir. İşlem başarıyla tamamlanırsa uyarı temizlenir. İşlem bir hatayla tamamlanırsa sistem durumu raporu hatayla ilgili ayrıntıları içerir.

  • SourceId: System.NamingService
  • Özellik: "Duration_" ön eki ile başlar ve yavaş işlemi ve işlemin uygulandığı Service Fabric adını tanımlar. Örneğin, name fabric:/MyApp/MyService konumunda hizmet oluşturma işlemi çok uzun sürüyorsa özelliği Duration_AOCreateService.fabric:/MyApp/MyService olur. "AO", bu ad ve işlem için Adlandırma bölümünün rolüne işaret eder.
  • Sonraki adımlar: Adlandırma işleminin neden başarısız olduğunu denetleyin. Her işlemin farklı kök nedenleri olabilir. Örneğin, silme hizmeti takılmış olabilir. Hizmet kodundaki bir kullanıcı hatası nedeniyle uygulama konağı bir düğümde kilitlenmeye devam ettiğinden hizmet takılmış olabilir.

Aşağıdaki örnekte bir hizmet oluşturma işlemi gösterilmektedir. İşlem, yapılandırılan süreden daha uzun sürdü. "AO" yeniden denenir ve "HAYIR" öğesine iş gönderir. "HAYIR", TIMEOUT ile son işlemi tamamladı. Bu durumda, aynı çoğaltma hem "AO" hem de "HAYIR" rolleri için birincil çoğaltmadır.

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

DağıtılanUygulama sistemi sistem durumu raporları

System.Hosting , dağıtılan varlıklardaki yetkilidir.

Etkinleştirme

System.Hosting, bir uygulama düğümde başarıyla etkinleştirildiğinde Tamam olarak raporlar. Aksi takdirde, bir hata bildirir.

  • SourceId: System.Hosting
  • Özellik: Dağıtım sürümü de dahil olmak üzere etkinleştirme.
  • Sonraki adımlar: Uygulama iyi durumda değilse etkinleştirmenin neden başarısız olduğunu araştırın.

Aşağıdaki örnekte başarılı bir etkinleştirme gösterilmektedir:

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

İndir

Uygulama paketi indirme işlemi başarısız olursa System.Hosting bir hata bildirir.

  • SourceId: System.Hosting
  • Özellik: Dağıtım sürümü de dahil olmak üzere indirin.
  • Sonraki adımlar: İndirmenin düğümde neden başarısız olduğunu araştırın.

DeployedServicePackage sistem durumu raporları

System.Hosting , dağıtılan varlıklardaki yetkilidir.

Hizmet paketi etkinleştirme

Düğümdeki hizmet paketi etkinleştirmesi başarılı olursa System.Hosting Tamam olarak raporlar. Aksi takdirde, bir hata bildirir.

  • SourceId: System.Hosting
  • Özellik: Etkinleştirme.
  • Sonraki adımlar: Etkinleştirmenin neden başarısız olduğunu araştırın.

Kod paketi etkinleştirme

Etkinleştirme başarılı olursa System.Hosting her kod paketi için Tamam olarak raporlar. Etkinleştirme başarısız olursa, yapılandırıldığı gibi bir uyarı bildirir. CodePackage etkinleştiremezse veya yapılandırılan CodePackageHealthErrorThreshold değerinden daha büyük bir hatayla sonlandırılırsa, barındırma bir hata bildirir. Bir hizmet paketi birden çok kod paketi içeriyorsa, her biri için bir etkinleştirme raporu oluşturulur.

  • SourceId: System.Hosting
  • Özellik: CodePackageActivation ön ekini kullanır ve kod paketinin adını ve giriş noktasını CodePackageActivation:CodePackageName:SetupEntryPoint/EntryPoint olarak içerir. Örneğin, CodePackageActivation:Code:SetupEntryPoint.

Hizmet türü kaydı

Hizmet türü başarıyla kaydedildiyse System.Hosting tamam olarak raporlar. Kayıt, ServiceTypeRegistrationTimeout kullanılarak yapılandırıldığı gibi zamanında yapılmadıysa bir hata bildirir. Çalışma zamanı kapatılırsa, hizmet türü düğümden kaydı kaldırılır ve barındırma bir uyarı bildirir.

  • SourceId: System.Hosting
  • Özellik: ServiceTypeRegistration ön ekini kullanır ve hizmet türü adını içerir. Örneğin, ServiceTypeRegistration:FileStoreServiceType.

Aşağıdaki örnekte iyi durumda dağıtılmış bir hizmet paketi gösterilmektedir:

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

İndir

Hizmet paketi indirme işlemi başarısız olursa System.Hosting bir hata bildirir.

  • SourceId: System.Hosting
  • Özellik: Dağıtım sürümü de dahil olmak üzere indirin.
  • Sonraki adımlar: İndirmenin düğümde neden başarısız olduğunu araştırın.

Yükseltme doğrulaması

System.Hosting, yükseltme sırasında doğrulama başarısız olursa veya yükseltme düğümde başarısız olursa bir hata bildirir.

  • SourceId: System.Hosting
  • Özellik: FabricUpgradeValidation ön ekini kullanır ve yükseltme sürümünü içerir.
  • Açıklama: Karşılaşılan hatayı gösterir.

Kaynak idaresi ölçümleri için tanımsız düğüm kapasitesi

Küme bildiriminde düğüm kapasiteleri tanımlanmadıysa ve otomatik algılama yapılandırması kapalıysa System.Hosting bir uyarı bildirir. Kaynak idaresi kullanan hizmet paketi belirtilen düğüme her kaydedişinde Service Fabric bir sistem durumu uyarısı oluşturur.

  • SourceId: System.Hosting
  • Özellik: ResourceGovernance.
  • Sonraki adımlar: Bu sorunu aşmanın tercih edilen yolu, kullanılabilir kaynakların otomatik olarak algılanması için küme bildirimini değiştirmektir. Bir diğer yol da küme bildirimini bu ölçümler için doğru şekilde belirtilen düğüm kapasiteleriyle güncelleştirmektir.

Sonraki adımlar