البرنامج التعليمي: مراقبة نظام مجموعة نسيج الخدمة في Azure

تعتبرالمراقبة والتشخيصات ضرورية لتطوير أحمال العمل واختبارها ونشرها في أي بيئة سحابية. هذا البرنامج التعليمي هو الجزء الثاني من سلسلة، ويوضح لك كيفية مراقبة وتشخيص مجموعة نسيج الخدمة باستخدام الأحداث وعدادات الأداء والتقارير الصحية. لمزيد من المعلومات، اقرأ النظرة العامة حول مراقبة نظام المجموعة ومراقبة البنية التحتية.

في هذا البرنامج التعليمي، تتعلم كيفية:

  • اعرض أحداث Service Fabric
  • الاستعلام عن واجهات برمجة تطبيقات EventStore لأحداث نظام المجموعة
  • مراقبة البنية التحتية / جمع عدادات الأداء
  • عرض التقارير الصحية العنقودية

ستتعلم في سلسلة البرامج التعليمية هذه كيفية:

إشعار

نوصي باستخدام الوحدة النمطية Azure Az PowerShell للتفاعل مع Azure. للبدء، راجع تثبيت Azure PowerShell. لمعرفة كيفية الترحيل إلى الوحدة النمطية Az PowerShell، راجع ترحيل Azure PowerShell من AzureRM إلى Az.

المتطلبات الأساسية

قبل أن تبدأ هذا البرنامج التعليمي:

عرض أحداث Service Fabric باستخدام سجلات Azure Monitor

تقوم سجلات Azure Monitor بجمع وتحليل بيانات القياس عن بُعد من التطبيقات والخدمات المستضافة في السحابة وتوفر أدوات تحليل لمساعدتك على زيادة توافرها وأدائها. يمكنك تشغيل الاستعلامات في سجلات Azure Monitor لاكتساب رؤى واستكشاف ما يحدث في نظام المجموعة الخاص بك.

للوصول إلى حل Service Fabric Analytics، انتقل إلى "مدخل Microsoft Azure " وحدد مجموعة الموارد التي أنشأت فيها حل Service Fabric Analytics.

حدد المورد ServiceFabric (mysfomsworkspace).

في "Overview"، ترى مربعات على شكل رسم بياني لكل من الحلول الممكنة، بما في ذلك حل Service Fabric. انقر على الرسم البياني "Service Fabric" للمتابعة إلى حل Service Fabric Analytics.

لقطة شاشة تعرض الرسم البياني لنسيج الخدمة.

تُظهر الصورة التالية الصفحة الرئيسية لحل Service Fabric Analytics. توفر هذه الصفحة الرئيسية عرضاً سريعاً لما يحدث في مجموعتك.

حل نسيج الخدمة

إذا قمت بتمكين التشخيص عند إنشاء المجموعة، يمكنك مشاهدة أحداث

إشعار

بالإضافة إلى أحداث Service Fabric الجاهزة، يمكن جمع المزيد من أحداث النظام التفصيلية عن طريق "updating the config of your diagnostics extension".

عرض أحداث نسيج الخدمة، بما في ذلك الإجراءات على العقد

في صفحة Service Fabric Analytics، انقر على الرسم البياني Cluster Events. تظهر سجلات كافة أحداث النظام التي تم تجميعها. كمرجع، هذه من WADServiceFabricSystemEventsTable في حساب Azure Storage، وبالمثل الخدمات الموثوقة وأحداث الممثلين التي تراها بعد ذلك هي من تلك الجداول المعنية.

الاستعلام عن القناة التشغيلية

يستخدم الاستعلام لغة الاستعلام Kusto، والتي يمكنك تعديلها لتحسين ما تبحث عنه. على سبيل المثال، للعثور على جميع الإجراءات المتخذة على العقد في نظام المجموعة، يمكنك استخدام الاستعلام التالي. تم العثور على معرفات الأحداث المستخدمة أدناه في "operational channel events reference".

ServiceFabricOperationalEvent
| where EventId < 25627 and EventId > 25619 

لغة الاستعلام Kusto قوية. فيما يلي بعض الاستفسارات المفيدة الأخرى.

أنشئ جدول بحث ServiceFabricEvent كوظيفة محددة بواسطة المستخدم عن طريق حفظ الاستعلام كدالة بالاسم المستعار ServiceFabricEvent:

let ServiceFabricEvent = datatable(EventId: int, EventName: string)
[
    ...
    18603, 'NodeUpOperational',
    18604, 'NodeDownOperational',
    ...
];
ServiceFabricEvent

إرجاع الأحداث التشغيلية المسجلة في الساعة الماضية:

ServiceFabricOperationalEvent
| where TimeGenerated > ago(1h)
| join kind=leftouter ServiceFabricEvent on EventId
| project EventId, EventName, TaskName, Computer, ApplicationName, EventMessage, TimeGenerated
| sort by TimeGenerated

إرجاع الأحداث التشغيلية باستخدام with EventId == 18604 and EventName == 'NodeDownOperational':

ServiceFabricOperationalEvent
| where EventId == 18604
| project EventId, EventName = 'NodeDownOperational', TaskName, Computer, EventMessage, TimeGenerated
| sort by TimeGenerated 

إرجاع الأحداث التشغيلية باستخدام EventId == 18604 and EventName == 'NodeUpOperational':

ServiceFabricOperationalEvent
| where EventId == 18603
| project EventId, EventName = 'NodeUpOperational', TaskName, Computer, EventMessage, TimeGenerated
| sort by TimeGenerated 

إرجاع Health Reports باستخدام HealthState == 3 (Error) and extract additional properties from the EventMessage field:

ServiceFabricOperationalEvent
| join kind=leftouter ServiceFabricEvent on EventId
| extend HealthStateId = extract(@"HealthState=(\S+) ", 1, EventMessage, typeof(int))
| where TaskName == 'HM' and HealthStateId == 3
| extend SourceId = extract(@"SourceId=(\S+) ", 1, EventMessage, typeof(string)),
         Property = extract(@"Property=(\S+) ", 1, EventMessage, typeof(string)),
         HealthState = case(HealthStateId == 0, 'Invalid', HealthStateId == 1, 'Ok', HealthStateId == 2, 'Warning', HealthStateId == 3, 'Error', 'Unknown'),
         TTL = extract(@"TTL=(\S+) ", 1, EventMessage, typeof(string)),
         SequenceNumber = extract(@"SequenceNumber=(\S+) ", 1, EventMessage, typeof(string)),
         Description = extract(@"Description='([\S\s, ^']+)' ", 1, EventMessage, typeof(string)),
         RemoveWhenExpired = extract(@"RemoveWhenExpired=(\S+) ", 1, EventMessage, typeof(bool)),
         SourceUTCTimestamp = extract(@"SourceUTCTimestamp=(\S+)", 1, EventMessage, typeof(datetime)),
         ApplicationName = extract(@"ApplicationName=(\S+) ", 1, EventMessage, typeof(string)),
         ServiceManifest = extract(@"ServiceManifest=(\S+) ", 1, EventMessage, typeof(string)),
         InstanceId = extract(@"InstanceId=(\S+) ", 1, EventMessage, typeof(string)),
         ServicePackageActivationId = extract(@"ServicePackageActivationId=(\S+) ", 1, EventMessage, typeof(string)),
         NodeName = extract(@"NodeName=(\S+) ", 1, EventMessage, typeof(string)),
         Partition = extract(@"Partition=(\S+) ", 1, EventMessage, typeof(string)),
         StatelessInstance = extract(@"StatelessInstance=(\S+) ", 1, EventMessage, typeof(string)),
         StatefulReplica = extract(@"StatefulReplica=(\S+) ", 1, EventMessage, typeof(string))

إرجاع مخطط زمني للأحداث باستخدام EventId! = 17523:

ServiceFabricOperationalEvent
| join kind=leftouter ServiceFabricEvent on EventId
| where EventId != 17523
| summarize Count = count() by Timestamp = bin(TimeGenerated, 1h), strcat(tostring(EventId), " - ", case(EventName != "", EventName, "Unknown"))
| render timechart 

احصل على الأحداث التشغيلية لـ Service Fabric مجمعة مع الخدمة والعقدة المحددة:

ServiceFabricOperationalEvent
| where ApplicationName  != "" and ServiceName != ""
| summarize AggregatedValue = count() by ApplicationName, ServiceName, Computer 

عرض عدد أحداث Service Fabric بواسطة EventId / EventName باستخدام استعلام عبر الموارد:

app('PlunkoServiceFabricCluster').traces
| where customDimensions.ProviderName == 'Microsoft-ServiceFabric'
| extend EventId = toint(customDimensions.EventId), TaskName = tostring(customDimensions.TaskName)
| where EventId != 17523
| join kind=leftouter ServiceFabricEvent on EventId
| extend EventName = case(EventName != '', EventName, 'Undocumented')
| summarize ["Event Count"]= count() by bin(timestamp, 30m), EventName = strcat(tostring(EventId), " - ", EventName)
| render timechart

عرض أحداث تطبيق نسيج الخدمة

يمكنك عرض أحداث الخدمات الموثوقة وتطبيقات الجهات الفاعلة الموثوقة المنتشرة في نظام المجموعة. في صفحة Service Fabric Analytics، انقر على الرسم البياني "Application Events".

قم بتشغيل الاستعلام التالي لعرض الأحداث من تطبيقات الخدمات الموثوقة الخاصة بك:

ServiceFabricReliableServiceEvent
| sort by TimeGenerated desc

يمكنك مشاهدة أحداث مختلفة لوقت بدء الخدمة runasync واكتمالها والتي تحدث عادةً في عمليات النشر والترقيات.

حلول نسيج الخدمة خدمات موثوقة

يمكنك أيضاً العثور على أحداث للخدمة الموثوقة باستخدام ServiceName == "fabric:/Watchdog/WatchdogService":

ServiceFabricReliableServiceEvent
| where ServiceName == "fabric:/Watchdog/WatchdogService"
| project TimeGenerated, EventMessage
| order by TimeGenerated desc  

يمكن مشاهدة أحداث الممثل الموثوق به بطريقة مماثلة:

ServiceFabricReliableActorEvent
| sort by TimeGenerated desc

لتكوين أحداث أكثر تفصيلاً للجهات الفاعلة الموثوقة، يمكنك تغيير scheduledTransferKeywordFilter في التهيئة لملحق التشخيص في قالب المجموعة. توجد تفاصيل حول قيم هذه العناصر في مرجع أحداث الجهات الفاعلة الموثوقة.

"EtwEventSourceProviderConfiguration": [
                {
                    "provider": "Microsoft-ServiceFabric-Actors",
                    "scheduledTransferKeywordFilter": "1",
                    "scheduledTransferPeriod": "PT5M",
                    "DefaultEvents": {
                    "eventDestination": "ServiceFabricReliableActorEventTable"
                    }
                },

عرض عدادات الأداء مع سجلات Azure Monitor

لعرض عدادات الأداء، انتقل إلى "مدخل Microsoft Azure " ومجموعة الموارد التي أنشأت فيها حل Service Fabric Analytics.

حدد المورد ServiceFabric (mysfomsworkspace)، ثم Log Analytics Workspace، ثم Advanced Settings.

انقر فوق "Data"، ثم انقر فوق "Windows Performance Counters". توجد قائمة بالعدادات الافتراضية التي يمكنك اختيارها لتمكينها ويمكنك ضبط الفاصل الزمني للمجموعة أيضاً. يمكنك أيضاً إضافة "additional performance counters" لتجميعها. تتم الإشارة إلى التنسيق المناسب في هذه "article". انقر فوق "Save"، ثم انقر فوق "OK".

أغلق شفرة الإعدادات المتقدمة وحدد "Workspace summary" تحت العنوان "General". لكل من الحلول التي تم تمكينها، توجد لوحة رسومية، بما في ذلك لوحة Service Fabric. انقر على الرسم البياني "Service Fabric" للمتابعة إلى حل Service Fabric Analytics.

توجد مربعات رسومية للقنوات التشغيلية وأحداث الخدمات الموثوقة. سيظهر التمثيل الرسومي للبيانات المتدفقة للعدادات التي حددتها ضمن "Node Metrics".

حدد الرسم البياني "Container Metric" لمشاهدة تفاصيل إضافية. يمكنك أيضاً الاستعلام عن بيانات عداد الأداء بشكل مشابه لأحداث المجموعة والتصفية على العقد واسم عداد الأداء والقيم باستخدام لغة الاستعلام Kusto.

استعلم عن خدمة EventStore

توفر "EventStore service" طريقة لفهم حالة المجموعة أو أحمال العمل في نقطة زمنية معينة. EventStore هي خدمة نسيج الخدمة ذات الحالة التي تحافظ على الأحداث من المجموعة. يتم عرض الأحداث من خلال Service Fabric Explorer وREST وAPIs. يستعلم EventStore عن المجموعة مباشرةً للحصول على بيانات التشخيص على أي كيان في المجموعة الخاصة بك لمشاهدة قائمة كاملة بالأحداث المتوفرة في EventStore، راجع "Service Fabric events".

يمكن الاستعلام عن واجهات برمجة تطبيقات EventStore برمجياً باستخدام "Service Fabric client library".

فيما يلي مثال لطلب جميع أحداث المجموعة بين 2018-04-03T18: 00: 00Z و2018-04-04T18: 00: 00Z، عبر دالة GetClusterEventListAsync.

var sfhttpClient = ServiceFabricClientFactory.Create(clusterUrl, settings);

var clstrEvents = sfhttpClient.EventsStore.GetClusterEventListAsync(
    "2018-04-03T18:00:00Z",
    "2018-04-04T18:00:00Z")
    .GetAwaiter()
    .GetResult()
    .ToList();

فيما يلي مثال آخر يقوم بالاستعلام عن صحة نظام المجموعة وجميع أحداث العقدة في سبتمبر 2018 ويطبعها.

const int timeoutSecs = 60;
var clusterUrl = new Uri(@"http://localhost:19080"); // This example is for a Local cluster
var sfhttpClient = ServiceFabricClientFactory.Create(clusterUrl);

var clusterHealth = sfhttpClient.Cluster.GetClusterHealthAsync().GetAwaiter().GetResult();
Console.WriteLine("Cluster Health: {0}", clusterHealth.AggregatedHealthState.Value.ToString());


Console.WriteLine("Querying for node events...");
var nodesEvents = sfhttpClient.EventsStore.GetNodesEventListAsync(
    "2018-09-01T00:00:00Z",
    "2018-09-30T23:59:59Z",
    timeoutSecs,
    "NodeDown,NodeUp")
    .GetAwaiter()
    .GetResult()
    .ToList();
Console.WriteLine("Result Count: {0}", nodesEvents.Count());

foreach (var nodeEvent in nodesEvents)
{
    Console.Write("Node event happened at {0}, Node name: {1} ", nodeEvent.TimeStamp, nodeEvent.NodeName);
    if (nodeEvent is NodeDownEvent)
    {
        var nodeDownEvent = nodeEvent as NodeDownEvent;
        Console.WriteLine("(Node is down, and it was last up at {0})", nodeDownEvent.LastNodeUpAt);
    }
    else if (nodeEvent is NodeUpEvent)
    {
        var nodeUpEvent = nodeEvent as NodeUpEvent;
        Console.WriteLine("(Node is up, and it was last down at {0})", nodeUpEvent.LastNodeDownAt);
    }
}

مراقبة صحة نظام المجموعة

تقدم Service Fabric "health model" مع الكيانات الصحية حيث يمكن لمكونات النظام والجهات الرقابية الإبلاغ عن الظروف المحلية التي يراقبونها. يعمل "health store" على تجميع جميع البيانات الصحية لتحديد ما إذا كانت الكيانات سليمة أم لا.

يتم ملء نظام المجموعة تلقائياً بالتقارير الصحية التي ترسلها مكونات النظام. اقرأ المزيد على "Use system health reports to troubleshoot".

يعرض نسيج الخدمة الاستعلامات الصحية لكل نوع من "entity types". يمكن الوصول إليها من خلال واجهة برمجة التطبيقات، باستخدام طرق على FabricClient.HealthManager وPowerShell cmdlets وREST. تعرض هذه الاستعلامات معلومات صحية كاملة عن الكيان: الحالة الصحية المجمعة، والأحداث الصحية للكيان، وحالات صحة الطفل (عند الاقتضاء)، والتقييمات غير الصحية (عندما يكون الكيان غير صحي)، وإحصاءات صحة الأطفال (عند الاقتضاء).

احصل على صحة نظام المجموعة

يعرض Get-ServiceFabricClusterHealth cmdlet صحة كيان المجموعة ويحتوي على الحالات الصحية للتطبيقات والعقد (العناصر الفرعية للمجموعة). أولاً، اتصل بالمجموعة باستخدام Connect-ServiceFabricCluster cmdlet.

حالة نظام المجموعة هي 11 عقدة، وتطبيق النظام، والنسيج: / تم تكوين التصويت كما هو موصوف.

يحصل المثال التالي على صحة المجموعة باستخدام النُهج الصحية الافتراضية. العقد الـ 11 صحية ولكن الحالة الصحية المجمعة للنظام مجموعة هي خطأ لأن النسيج: / تطبيق التصويت خطأ. لاحظ كيف توفر التقييمات غير الصحية تفاصيل عن الظروف التي أدت إلى الصحة الإجمالية.

Get-ServiceFabricClusterHealth

AggregatedHealthState   : Error
UnhealthyEvaluations    : 
                          100% (1/1) applications are unhealthy. The evaluation tolerates 0% unhealthy applications.
                          
                          Application 'fabric:/Voting' is in Error.
                          
                          	33% (1/3) deployed applications are unhealthy. The evaluation tolerates 0% unhealthy deployed applications.
                          
                          	Deployed application on node '_nt2vm_3' is in Error.
                          
                          		50% (1/2) deployed service packages are unhealthy.
                          
                          		Service package for manifest 'VotingWebPkg' and service package activation ID '8723eb73-9b83-406b-9de3-172142ba15f3' is in Error.
                          
                          			'System.Hosting' reported Error for property 'CodePackageActivation:Code:SetupEntryPoint:131959376195593305'.
                          			There was an error during CodePackage activation.The service host terminated with exit code:1
                          
                          
NodeHealthStates        : 
                          NodeName              : _nt2vm_3
                          AggregatedHealthState : Ok
                          
                          NodeName              : _nt1vm_4
                          AggregatedHealthState : Ok
                          
                          NodeName              : _nt2vm_2
                          AggregatedHealthState : Ok
                          
                          NodeName              : _nt1vm_3
                          AggregatedHealthState : Ok
                          
                          NodeName              : _nt2vm_1
                          AggregatedHealthState : Ok
                          
                          NodeName              : _nt1vm_2
                          AggregatedHealthState : Ok
                          
                          NodeName              : _nt2vm_0
                          AggregatedHealthState : Ok
                          
                          NodeName              : _nt1vm_1
                          AggregatedHealthState : Ok
                          
                          NodeName              : _nt1vm_0
                          AggregatedHealthState : Ok
                          
                          NodeName              : _nt3vm_0
                          AggregatedHealthState : Ok
                          
                          NodeName              : _nt2vm_4
                          AggregatedHealthState : Ok
                          
ApplicationHealthStates : 
                          ApplicationName       : fabric:/System
                          AggregatedHealthState : Ok
                          
                          ApplicationName       : fabric:/Voting
                          AggregatedHealthState : Error
                          
HealthEvents            : None
HealthStatistics        : 
                          Node                  : 11 Ok, 0 Warning, 0 Error
                          Replica               : 4 Ok, 0 Warning, 0 Error
                          Partition             : 2 Ok, 0 Warning, 0 Error
                          Service               : 2 Ok, 0 Warning, 0 Error
                          DeployedServicePackage : 3 Ok, 1 Warning, 1 Error
                          DeployedApplication   : 1 Ok, 1 Warning, 1 Error
                          Application           : 0 Ok, 0 Warning, 1 Error

يحصل المثال التالي على صحة نظام المجموعة باستخدام نهج تطبيق مخصص. يقوم بتصفية النتائج للحصول على التطبيقات والعقد فقط عن طريق الخطأ أو التحذير. في هذا المثال، لم يتم إرجاع أي عقد، لأنها كلها سليمة. النسيج فقط: / تطبيق التصويت يحترم مرشح التطبيقات. نظراً لأن النهج المخصص يحدد اعتبار التحذيرات على أنها أخطاء في تطبيق fabric: / Voting، يتم تقييم التطبيق على أنه خطأ وكذلك نظام المجموعة.

$appHealthPolicy = New-Object -TypeName System.Fabric.Health.ApplicationHealthPolicy
$appHealthPolicy.ConsiderWarningAsError = $true
$appHealthPolicyMap = New-Object -TypeName System.Fabric.Health.ApplicationHealthPolicyMap
$appUri1 = New-Object -TypeName System.Uri -ArgumentList "fabric:/Voting"
$appHealthPolicyMap.Add($appUri1, $appHealthPolicy)
Get-ServiceFabricClusterHealth -ApplicationHealthPolicyMap $appHealthPolicyMap -ApplicationsFilter "Warning,Error" -NodesFilter "Warning,Error" -ExcludeHealthStatistics

AggregatedHealthState   : Error
UnhealthyEvaluations    : 
                          100% (1/1) applications are unhealthy. The evaluation tolerates 0% unhealthy applications.
                          
                          Application 'fabric:/Voting' is in Error.
                          
                          	100% (5/5) deployed applications are unhealthy. The evaluation tolerates 0% unhealthy deployed applications.
                          
                          	Deployed application on node '_nt2vm_3' is in Error.
                          
                          		50% (1/2) deployed service packages are unhealthy.
                          
                          		Service package for manifest 'VotingWebPkg' and service package activation ID '8723eb73-9b83-406b-9de3-172142ba15f3' is in Error.
                          
                          			'System.Hosting' reported Error for property 'CodePackageActivation:Code:SetupEntryPoint:131959376195593305'.
                          			There was an error during CodePackage activation.The service host terminated with exit code:1
                          
                          	Deployed application on node '_nt2vm_2' is in Error.
                          
                          		50% (1/2) deployed service packages are unhealthy.
                          
                          		Service package for manifest 'VotingWebPkg' and service package activation ID '2466f2f9-d5fd-410c-a6a4-5b1e00630cca' is in Error.
                          
                          			'System.Hosting' reported Error for property 'CodePackageActivation:Code:SetupEntryPoint:131959376486201388'.
                          			There was an error during CodePackage activation.The service host terminated with exit code:1
                          
                          	Deployed application on node '_nt2vm_4' is in Error.
                          
                          		100% (1/1) deployed service packages are unhealthy.
                          
                          		Service package for manifest 'VotingWebPkg' and service package activation ID '5faa5201-eede-400a-865f-07f7f886aa32' is in Error.
                          
                          			'System.Hosting' reported Warning for property 'CodePackageActivation:Code:SetupEntryPoint:131959376207396204'. The evaluation treats 
                          Warning as Error.
                          			There was an error during CodePackage activation.The service host terminated with exit code:1
                          
                          	Deployed application on node '_nt2vm_0' is in Error.
                          
                          		100% (1/1) deployed service packages are unhealthy.
                          
                          		Service package for manifest 'VotingWebPkg' and service package activation ID '204f1783-f774-4f3a-b371-d9983afaf059' is in Error.
                          
                          			'System.Hosting' reported Error for property 'CodePackageActivation:Code:SetupEntryPoint:131959375885791093'.
                          			There was an error during CodePackage activation.The service host terminated with exit code:1
                          
                          	Deployed application on node '_nt3vm_0' is in Error.
                          
                          		50% (1/2) deployed service packages are unhealthy.
                          
                          		Service package for manifest 'VotingWebPkg' and service package activation ID '2533ae95-2d2a-4f8b-beef-41e13e4c0081' is in Error.
                          
                          			'System.Hosting' reported Error for property 'CodePackageActivation:Code:SetupEntryPoint:131959376108346272'.
                          			There was an error during CodePackage activation.The service host terminated with exit code:1                         
                          
NodeHealthStates        : None
ApplicationHealthStates : 
                          ApplicationName       : fabric:/Voting
                          AggregatedHealthState : Error
                          
HealthEvents            : None

احصل على صحة العقدة

يعرض Get-ServiceFabricNodeHealth cmdlet صحة كيان العقدة ويحتوي على الأحداث الصحية التي تم الإبلاغ عنها في العقدة. أولاً، قم بالاتصال بنظام المجموعة باستخدام Connect-ServiceFabricCluster cmdlet. يوضح المثال التالي صحة عقدة معينة باستخدام نُهج الصحة الافتراضية:

Get-ServiceFabricNodeHealth _nt1vm_3

يحصل المثال التالي على صحة جميع العقد في نظام المجموعة:

Get-ServiceFabricNode | Get-ServiceFabricNodeHealth | select NodeName, AggregatedHealthState | ft -AutoSize

احصل على صحة خدمة النظام

احصل على الصحة المجمعة لخدمات النظام:

Get-ServiceFabricService -ApplicationName fabric:/System | Get-ServiceFabricServiceHealth | select ServiceName, AggregatedHealthState | ft -AutoSize

الخطوات التالية

في هذا البرنامج التعليمي، نتعلم طريقة القيام بما يأتي:

  • اعرض أحداث Service Fabric
  • الاستعلام عن واجهات برمجة تطبيقات EventStore لأحداث نظام المجموعة
  • مراقبة البنية التحتية / جمع عدادات الأداء
  • عرض التقارير الصحية العنقودية

بعد ذلك، تقدم إلى البرنامج التعليمي التالي لمعرفة كيفية قياس نظام المجموعة.