Aracılığıyla paylaş


sfctl chaos

Kaos testi hizmetini başlatın, durdurun ve rapor edin.

Alt Gruplar

Alt Açıklama
Zamanlama Kaos zamanlamasını alın ve ayarlayın.

Komutlar

Komut Açıklama
etkinlikler Devam belirtecini veya zaman aralığını temel alarak Chaos olaylarının sonraki segmentini alır.
get Kaos durumunu alın.
start Kümede Chaos başlatır.
Dur Kümede çalışıyorsa Chaos'ı durdurur ve Chaos Zamanlamasını durdurulmuş duruma getirir.

sfctl chaos events

Devam belirtecini veya zaman aralığını temel alarak Chaos olaylarının sonraki segmentini alır.

Chaos olaylarının bir sonraki segmentini almak için ContinuationToken değerini belirtebilirsiniz. Chaos olaylarının yeni bir segmentini başlatmak için StartTimeUtc ve EndTimeUtc aracılığıyla zaman aralığını belirtebilirsiniz. Aynı çağrıda hem ContinuationToken hem de zaman aralığını belirtemezsiniz. 100'den fazla Chaos olayı olduğunda, Chaos olayları bir segmentin 100'den fazla Chaos olayı içermediği birden çok segmentte döndürülür ve bir sonraki segmente devamlılık belirteci ile bu API'ye çağrı yaparsınız.

Bağımsız değişkenler

Bağımsız Değişken Açıklama
--continuation-token Devamlılık belirteci parametresi, sonraki sonuç kümesini almak için kullanılır. Sistemden alınan sonuçlar tek bir yanıta sığmadığında API'nin yanıtına boş olmayan bir değer içeren bir devamlılık belirteci eklenir. Bu değer bir sonraki API çağrısına geçirildiğinde, API bir sonraki sonuç kümesini döndürür. Başka sonuç yoksa, devamlılık belirteci bir değer içermez. Bu parametrenin değeri URL kodlanmış olmamalıdır.
--end-time-utc Kaos raporunun oluşturulacağı zaman aralığının bitiş saatini temsil eden Windows dosya süresi. Ayrıntılar için DateTime.ToFileTimeUtc Yöntemi'ne başvurun.
--max-results Disk belleğine alınan sorguların bir parçası olarak döndürülecek en fazla sonuç sayısı. Bu parametre, döndürülen sonuç sayısı üzerindeki üst sınırı tanımlar. Döndürülen sonuçlar, yapılandırmada tanımlanan maksimum ileti boyutu kısıtlamalarına göre iletiye sığmamaları durumunda belirtilen en yüksek sonuçlardan küçük olabilir. Bu parametre sıfırsa veya belirtilmezse, sayfalanan sorgu dönüş iletisine sığacak kadar çok sonuç içerir.
--start-time-utc Kaos raporunun oluşturulacağı zaman aralığının başlangıç saatini temsil eden Windows dosya süresi. Ayrıntılar için DateTime.ToFileTimeUtc Yöntemi'ne başvurun.
--timeout -t İşlemi saniyeler içinde gerçekleştirmek için sunucu zaman aşımı. Bu zaman aşımı, istemcinin istenen işlemin tamamlanmasını beklemeye istekli olduğu süreyi belirtir. Bu parametre için varsayılan değer 60 saniyedir. Varsayılan: 60.

Genel Bağımsız Değişkenler

Bağımsız Değişken Açıklama
--Hata ayıklama Tüm hata ayıklama günlüklerini göstermek için günlük ayrıntı düzeyini artırın.
--help -h Bu yardım iletisini göster ve çık.
--output -o Çıkış biçimi. İzin verilen değerler: json, jsonc, table, tsv. Varsayılan: json.
--Sorgu JMESPath sorgu dizesi. Daha fazla bilgi ve örnek için bkz http://jmespath.org/ .
--Ayrıntılı Günlük ayrıntı düzeyini artırın. Tam hata ayıklama günlükleri için --debug komutunu kullanın.

sfctl chaos get

Kaos durumunu alın.

Chaos'un çalışıp çalışmadığını, Chaos çalıştırmak için kullanılan Chaos parametrelerini ve Chaos Zamanlamasının durumunu belirten Chaos durumunu alın.

Bağımsız değişkenler

Bağımsız Değişken Açıklama
--timeout -t İşlemi saniyeler içinde gerçekleştirmek için sunucu zaman aşımı. Bu zaman aşımı, istemcinin istenen işlemin tamamlanmasını beklemeye istekli olduğu süreyi belirtir. Bu parametre için varsayılan değer 60 saniyedir. Varsayılan: 60.

Genel Bağımsız Değişkenler

Bağımsız Değişken Açıklama
--Hata ayıklama Tüm hata ayıklama günlüklerini göstermek için günlük ayrıntı düzeyini artırın.
--help -h Bu yardım iletisini göster ve çık.
--output -o Çıkış biçimi. İzin verilen değerler: json, jsonc, table, tsv. Varsayılan: json.
--Sorgu JMESPath sorgu dizesi. Daha fazla bilgi ve örnek için bkz http://jmespath.org/ .
--Ayrıntılı Günlük ayrıntı düzeyini artırın. Tam hata ayıklama günlükleri için --debug komutunu kullanın.

sfctl chaos start

Kümede Chaos başlatır.

Chaos kümede zaten çalışmıyorsa, Chaos parametrelerinde geçirilen ile Chaos'u başlatır. Bu çağrı yapıldığında Chaos zaten çalışıyorsa, çağrı FABRIC_E_CHAOS_ALREADY_RUNNING hata koduyla başarısız olur. Daha fazla ayrıntı için Service Fabric kümelerinde denetimli Kaosu başlatma makalesine bakın.

Bağımsız değişkenler

Bağımsız Değişken Açıklama
--app-type-health-policy-map Belirli uygulama türleri için en yüksek iyi durumda olmayan uygulama yüzdesine sahip JSON kodlanmış sözlük (anahtar /değer) girdileri dizisi. Her sözlük girdisi, belirtilen uygulama türünün uygulamalarını değerlendirmek için kullanılan MaxPercentUnhealthyApplications yüzdesini temsil eden değer için bir tamsayı ve uygulama türü adını bir anahtar olarak belirtir.

Belirli uygulama türleri için en yüksek iyi durumda olmayan uygulama yüzdesine sahip bir harita tanımlar. Uygulama türü sistem durumu ilkesi eşlemesi, tek tek uygulama türlerini açıklamak için küme durumu değerlendirmesi sırasında kullanılabilir. Haritaya dahil edilen uygulama türleri, küme sistem durumu ilkesinde tanımlanan genel MaxPercentUnhealthyApplications ile değil, haritada belirtilen yüzdeye göre değerlendirilir. Haritada belirtilen uygulama türlerinin uygulamaları genel uygulama havuzuna dahil değildir. Örneğin, bir türdeki bazı uygulamalar kritikse, küme yöneticisi bu uygulama türü için haritaya bir girdi ekleyebilir ve buna %0 değeri atayabilir (hatalara tolerans gösterme). Diğer tüm uygulamalar, binlerce uygulama örneğinden bazı hataları tolere etmek için MaxPercentUnhealthyApplications %20 olarak ayarlanmış şekilde değerlendirilebilir. Uygulama türü sistem durumu ilkesi eşlemesi yalnızca küme bildirimi HealthManager/EnableApplicationTypeHealthEvaluation yapılandırma girdisini kullanarak uygulama türü sistem durumu değerlendirmesini etkinleştirirse kullanılır.

Örnek JSON kodlanmış dizesi: [{"key": "fabric:/Voting", "value": "0"}]
--chaos-target-filter İki dize türü anahtarıyla JSON kodlanmış sözlüğü. İki anahtar NodeTypeInclusionList ve ApplicationInclusionList tuşlarıdır. Bu anahtarların her ikisi için de değerler dize listesidir. chaos_target_filter, hedeflenen Chaos hataları için tüm filtreleri tanımlar; örneğin, yalnızca belirli düğüm türlerinin hatalı olması veya yalnızca belirli uygulamaların hatalı olması.

chaos_target_filter kullanılmazsa, Chaos tüm küme varlıklarını hataya neden olur. chaos_target_filter kullanılırsa, Chaos yalnızca chaos_target_filter belirtimini karşılayan varlıkları hataya neden olur. NodeTypeInclusionList ve ApplicationInclusionList yalnızca birleşim semantiğine izin verir. NodeTypeInclusionList ve ApplicationInclusionList'in kesişimini belirtmek mümkün değildir. Örneğin, "bu uygulama yalnızca bu düğüm türünde olduğunda hata" belirtilmesi mümkün değildir. NodeTypeInclusionList veya ApplicationInclusionList'e bir varlık eklendikten sonra, bu varlık ChaosTargetFilter kullanılarak dışlanamaz. ApplicationInclusionList'te applicationX görünmese bile, nodeTypeInclusionList içinde bulunan nodeTypeY düğümünde olduğundan bazı Chaos yinelemelerinde applicationX hatası oluşabilir. Hem NodeTypeInclusionList hem de ApplicationInclusionList boşsa, bir ArgumentException oluşturulur. Bu düğüm türlerinin düğümleri için tüm hata türleri (düğümü yeniden başlatma, kod paketini yeniden başlatma, çoğaltmayı kaldırma, çoğaltmayı yeniden başlatma, birincil öğeyi taşıma ve ikincil öğeyi taşıma) etkinleştirilir. NodeTypeInclusionList içinde düğüm türü (NodeTypeX gibi) görünmüyorsa NodeTypeX düğümleri için düğüm düzeyinde hatalar (NodeRestart gibi) hiçbir zaman etkinleştirilmez, ancak ApplicationInclusionList'teki bir uygulama NodeTypeX düğümünde yer alıyorsa NodeTypeX için kod paketi ve çoğaltma hataları yine etkinleştirilebilir. Bu listeye en fazla 100 düğüm türü adı eklenebilir; bu sayıyı artırmak için MaxNumberOfNodeTypesInChaosEntityFilter yapılandırması için bir yapılandırma yükseltmesi gerekir. Bu uygulamaların hizmetlerine ait tüm çoğaltmalar Chaos tarafından çoğaltma hatalarına (çoğaltmayı yeniden başlatma, çoğaltmayı kaldırma, birincil öğeyi taşıma ve ikincil taşıma) uygundur. Chaos, yalnızca kod paketi yalnızca bu uygulamaların çoğaltmalarını barındırıyorsa kod paketini yeniden başlatabilir. Bir uygulama bu listede görünmüyorsa, uygulama NodeTypeInclusionList'e dahil edilen düğüm türünde bir düğümde sona eriyorsa, bazı Chaos yinelemelerinde hataya neden olabilir. Ancak applicationX, yerleştirme kısıtlamaları aracılığıyla nodeTypeY'ye bağlıysa ve ApplicationInclusionList'de applicationX yoksa ve NodeTypeInclusionList'de nodeTypeY yoksa, applicationX hiçbir zaman hataya neden olmaz. Bu listeye en fazla 1000 uygulama adı eklenebilir; bu sayıyı artırmak için MaxNumberOfApplicationsInChaosEntityFilter yapılandırması için bir yapılandırma yükseltmesi gerekir.
--Bağlam JSON kodlanmış eşlemesi (dize, dize) türü anahtar-değer çiftleri. Harita, Chaos çalıştırması hakkındaki bilgileri kaydetmek için kullanılabilir. Bu tür çiftler 100'den fazla olamaz ve her dize (anahtar veya değer) en fazla 4095 karakter uzunluğunda olabilir. Bu harita, isteğe bağlı olarak belirli bir çalıştırmayla ilgili bağlamı depolamak için Chaos çalıştırmasının başlangıcı tarafından ayarlanır.
--disable-move-replica-faults Birincil ve taşıma ikincil hatalarını taşımayı devre dışı bırakır.
--max-cluster-stabilization Tüm küme varlıklarının kararlı ve iyi durumda olmasını bekleme süresi üst sınırı. Varsayılan: 60.

Kaos yinelemelerde yürütülür ve her yinelemenin başında küme varlıklarının durumunu doğrular. Bir küme varlığı MaxClusterStabilizationTimeoutInSeconds içinde kararlı ve iyi durumda değilse doğrulama sırasında Chaos doğrulama başarısız olayı oluşturur.
--max-concurrent-faults Yineleme başına tetiklenmiş en fazla eş zamanlı hata sayısı. Kaos yinelemelerde yürütülür ve iki ardışık yineleme bir doğrulama aşamasıyla ayrılır. Eşzamanlılık ne kadar yüksek olursa, hataların eklenmesi o kadar agresif olur ve hataları ortaya çıkarmak için daha karmaşık durum serileri oluşturur. Öneri, 2 veya 3 değeriyle başlamak ve yukarı hareket ederken dikkatli olmaktır. Varsayılan: 1.
--max-percent-unhealthy-apps Chaos sırasında küme durumunu değerlendirirken, hata bildirmeden önce iyi durumda olmayan uygulamaların izin verilen en yüksek yüzdesi.

Hata raporlamadan önce iyi durumda olmayan uygulamaların izin verilen en yüksek yüzdesi. Örneğin, uygulamaların %10'unun iyi durumda olmamasına izin vermek için bu değer 10 olur. Yüzde, küme hata olarak kabul edilmeden önce iyi durumda olmayan uygulamaların tolere edilen en yüksek yüzdesini temsil eder. Yüzdeye uyulup en az bir iyi durumda olmayan uygulama varsa, sistem durumu Uyarı olarak değerlendirilir. Bu, ApplicationTypeHealthPolicyMap'e dahil edilen uygulama türlerinin uygulamaları hariç olmak üzere, iyi durumda olmayan uygulamaların sayısı kümedeki toplam uygulama örneği sayısına bölünerek hesaplanır. Hesaplama, az sayıda uygulamada bir hatayı tolere etmek için yukarı yuvarlar. Varsayılan yüzde sıfırdır.
--max-percent-unhealthy-nodes Chaos sırasında küme durumunu değerlendirirken, hata raporlamadan önce iyi durumda olmayan düğümlerin izin verilen en yüksek yüzdesi.

Hata raporlamadan önce iyi durumda olmayan düğümlerin izin verilen en yüksek yüzdesi. Örneğin, düğümlerin %10'unun iyi durumda olmamasına izin vermek için bu değer 10 olur. Yüzde, küme hata olarak değerlendirilmeden önce iyi durumda olmayan düğümlerin tolere edilen en yüksek yüzdesini temsil eder. Yüzdeye uyulup en az bir iyi durumda olmayan düğüm varsa sistem durumu Uyarı olarak değerlendirilir. Yüzde, iyi durumda olmayan düğümlerin sayısı kümedeki toplam düğüm sayısına bölünerek hesaplanır. Hesaplama, az sayıda düğümde bir hatayı tolere etmek için yukarı yuvarlar. Varsayılan yüzde sıfırdır. Büyük kümelerde, bazı düğümler onarım için her zaman devre dışı kalır, bu nedenle bu yüzde bunu tolere edecek şekilde yapılandırılmalıdır.
--çalışma zamanı Chaos'un otomatik olarak durdurulmadan önce çalıştırılacağı toplam süre (saniye olarak). İzin verilen en büyük değer 4.294.967.295'tir (System.UInt32.MaxValue). Varsayılan: 4294967295.
--timeout -t Varsayılan: 60.
--wait-time-between-faults Tek bir yineleme içinde ardışık hatalar arasında bekleme süresi (saniye cinsinden). Varsayılan: 20.

Değer ne kadar büyük olursa, hatalar arasındaki çakışma o kadar düşük olur ve kümenin geçtiği durum geçişleri dizisi o kadar basit olur. Öneri, 1 ile 5 arasında bir değerle başlayıp yukarı hareket ederken dikkatli olmanızdır.
--wait-time-between-yinelemeleri Kaos'un iki ardışık yinelemesi arasında zaman ayrımı (saniye olarak). Değer ne kadar büyükse hata ekleme oranı da o kadar düşük. Varsayılan: 30.
--hata olarak uyarı Uyarıların hatalarla aynı önem derecesine sahip olup olmadığını gösterir.

Genel Bağımsız Değişkenler

Bağımsız Değişken Açıklama
--Hata ayıklama Tüm hata ayıklama günlüklerini göstermek için günlük ayrıntı düzeyini artırın.
--help -h Bu yardım iletisini göster ve çık.
--output -o Çıkış biçimi. İzin verilen değerler: json, jsonc, table, tsv. Varsayılan: json.
--Sorgu JMESPath sorgu dizesi. Daha fazla bilgi ve örnek için bkz http://jmespath.org/ .
--Ayrıntılı Günlük ayrıntı düzeyini artırın. Tam hata ayıklama günlükleri için --debug komutunu kullanın.

sfctl chaos stop

Kümede çalışıyorsa Chaos'ı durdurur ve Chaos Zamanlamasını durdurulmuş duruma getirir.

Chaos'un yeni hataları yürütmesini durdurur. Uçuş içi hatalar tamamlanana kadar yürütülmeye devam eder. Geçerli Kaos Zamanlaması durdurulmuş duruma getirilir. Bir zamanlama durdurulduktan sonra durdurulmuş durumda kalır ve Chaos Schedule yeni Chaos çalıştırmaları için kullanılmaz. Zamanlamayı sürdürmek için yeni bir Kaos Zamanlaması ayarlanmalıdır.

Bağımsız değişkenler

Bağımsız Değişken Açıklama
--timeout -t İşlemi saniyeler içinde gerçekleştirmek için sunucu zaman aşımı. Bu zaman aşımı, istemcinin istenen işlemin tamamlanmasını beklemeye istekli olduğu süreyi belirtir. Bu parametre için varsayılan değer 60 saniyedir. Varsayılan: 60.

Genel Bağımsız Değişkenler

Bağımsız Değişken Açıklama
--Hata ayıklama Tüm hata ayıklama günlüklerini göstermek için günlük ayrıntı düzeyini artırın.
--help -h Bu yardım iletisini göster ve çık.
--output -o Çıkış biçimi. İzin verilen değerler: json, jsonc, table, tsv. Varsayılan: json.
--Sorgu JMESPath sorgu dizesi. Daha fazla bilgi ve örnek için bkz http://jmespath.org/ .
--Ayrıntılı Günlük ayrıntı düzeyini artırın. Tam hata ayıklama günlükleri için --debug komutunu kullanın.

Sonraki adımlar