Samouczek: monitorowanie klastra usługi Service Fabric na platformie Azure

Monitorowanie i diagnostyka mają kluczowe znaczenie dla opracowywania, testowania i wdrażania obciążeń w dowolnym środowisku chmury. Ten samouczek jest drugą częścią serii i pokazuje, jak monitorować i diagnozować klaster usługi Service Fabric przy użyciu zdarzeń, liczników wydajności i raportów kondycji. Aby uzyskać więcej informacji, przeczytaj omówienie monitorowania klastra i monitorowania infrastruktury.

Ten samouczek zawiera informacje na temat wykonywania następujących czynności:

  • Wyświetlanie zdarzeń usługi Service Fabric
  • Wykonywanie zapytań o interfejsy API magazynu zdarzeń dla zdarzeń klastra
  • Monitorowanie infrastruktury/zbieranie liczników wydajności
  • Wyświetlanie raportów kondycji klastra

Ta seria samouczków zawiera informacje na temat wykonywania następujących czynności:

Uwaga

Zalecamy korzystanie z modułu Azure Az programu PowerShell do interakcji z platformą Azure. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Wymagania wstępne

Przed rozpoczęciem tego samouczka:

Wyświetlanie zdarzeń usługi Service Fabric przy użyciu dzienników usługi Azure Monitor

Dzienniki usługi Azure Monitor zbierają i analizują dane telemetryczne z aplikacji i usług hostowanych w chmurze oraz udostępnia narzędzia do analizy, które ułatwiają zmaksymalizowanie ich dostępności i wydajności. Zapytania można uruchamiać w dziennikach usługi Azure Monitor, aby uzyskać szczegółowe informacje i rozwiązywać problemy z tym, co dzieje się w klastrze.

Aby uzyskać dostęp do rozwiązania Service Fabric Analytics, przejdź do Azure Portal i wybierz grupę zasobów, w której utworzono rozwiązanie Service Fabric Analytics.

Wybierz zasób ServiceFabric(mysfomsworkspace).

W obszarze Przegląd są widoczne kafelki w postaci grafu dla każdego z włączonych rozwiązań, w tym kafelków dla usługi Service Fabric. Kliknij graf usługi Service Fabric , aby przejść do rozwiązania Service Fabric Analytics.

Zrzut ekranu przedstawiający wykres usługi Service Fabric.

Na poniższej ilustracji przedstawiono stronę główną rozwiązania Service Fabric Analytics. Ta strona główna zawiera widok migawki tego, co dzieje się w klastrze.

Rozwiązanie usługi Service Fabric

Jeśli włączono diagnostykę po utworzeniu klastra, można zobaczyć zdarzenia dla

Uwaga

Oprócz zdarzeń usługi Service Fabric poza polem można zbierać bardziej szczegółowe zdarzenia systemowe, aktualizując konfigurację rozszerzenia diagnostycznego.

Wyświetlanie zdarzeń usługi Service Fabric, w tym akcji w węzłach

Na stronie Analiza usługi Service Fabric kliknij wykres dla zdarzeń klastra. Zostaną wyświetlone dzienniki wszystkich zebranych zdarzeń systemowych. Do celów referencyjnych znajdują się one w tabeli WADServiceFabricSystemEventsTable na koncie usługi Azure Storage i podobnie zdarzenia niezawodnych usług i aktorów, które są widoczne w kolejnych tabelach.

Kanał operacyjny zapytań

Zapytanie używa języka zapytań Kusto, który można zmodyfikować w celu uściślinia szukanych elementów. Aby na przykład znaleźć wszystkie akcje wykonywane w węzłach w klastrze, można użyć następującego zapytania. Identyfikatory zdarzeń, które zostały użyte poniżej, znajdują się w dokumentacji zdarzeń kanału operacyjnego.

ServiceFabricOperationalEvent
| where EventId < 25627 and EventId > 25619 

Język zapytań Kusto jest zaawansowany. Oto kilka innych przydatnych zapytań.

Utwórz tabelę odnośników ServiceFabricEvent jako funkcję zdefiniowaną przez użytkownika, zapisując zapytanie jako funkcję z aliasem ServiceFabricEvent:

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

Zwracanie zdarzeń operacyjnych zarejestrowanych w ostatniej godzinie:

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

Zwracanie zdarzeń operacyjnych za pomocą identyfikatora EventId == 18604 i EventName == "NodeDownOperational":

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

Zwracanie zdarzeń operacyjnych za pomocą identyfikatora EventId == 18604 i EventName == "NodeUpOperational":

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

Zwraca raporty o kondycji z parametrem HealthState == 3 (Błąd) i wyodrębnij dodatkowe właściwości z pola EventMessage:

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))

Zwróć wykres czasu zdarzeń o identyfikatorze 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 

Pobierz zdarzenia operacyjne usługi Service Fabric zagregowane przy użyciu określonej usługi i węzła:

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

Renderuj liczbę zdarzeń usługi Service Fabric według identyfikatora EventId /EventName przy użyciu zapytania obejmującego wiele zasobów:

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

Wyświetlanie zdarzeń aplikacji usługi Service Fabric

Zdarzenia dla niezawodnych usług i niezawodnych aplikacji aktorów wdrożonych w klastrze można wyświetlać. Na stronie Analiza usługi Service Fabric kliknij wykres zdarzeń aplikacji.

Uruchom następujące zapytanie, aby wyświetlić zdarzenia z aplikacji niezawodnych usług:

ServiceFabricReliableServiceEvent
| sort by TimeGenerated desc

Po uruchomieniu i zakończeniu usługi runasync można zobaczyć różne zdarzenia, które zwykle mają miejsce w przypadku wdrożeń i uaktualnień.

Service Fabric Solution Reliable Services

Zdarzenia dotyczące niezawodnej usługi można również znaleźć za pomocą elementu ServiceName == "fabric:/Watchdog/WatchdogService":

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

Wydarzenia niezawodnego aktora można oglądać w podobny sposób:

ServiceFabricReliableActorEvent
| sort by TimeGenerated desc

Aby skonfigurować bardziej szczegółowe zdarzenia dla niezawodnych aktorów, można zmienić scheduledTransferKeywordFilter w konfiguracji rozszerzenia diagnostycznego w szablonie klastra. Szczegółowe informacje o wartościach tych elementów znajdują się w dokumentacji zdarzeń reliable actors.

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

Wyświetlanie liczników wydajności za pomocą dzienników usługi Azure Monitor

Aby wyświetlić liczniki wydajności, przejdź do Azure Portal i grupy zasobów, w której utworzono rozwiązanie Service Fabric Analytics.

Wybierz zasób ServiceFabric(mysfomsworkspace), a następnie obszar roboczy usługi Log Analytics, a następnie pozycję Ustawienia zaawansowane.

Kliknij pozycję Dane, a następnie kliknij pozycję Liczniki wydajności systemu Windows. Istnieje lista domyślnych liczników, które można włączyć i można też ustawić interwał dla kolekcji. Możesz również dodać dodatkowe liczniki wydajności do zbierania. Odpowiedni format jest przywołyyny w tym artykule. Kliknij przycisk Zapisz, a następnie kliknij przycisk OK.

Zamknij blok Ustawienia zaawansowane i wybierz pozycję Podsumowanie obszaru roboczego w nagłówku Ogólne . Dla każdego z włączonych rozwiązań znajduje się kafelek graficzny, w tym jeden dla usługi Service Fabric. Kliknij graf usługi Service Fabric , aby przejść do rozwiązania Service Fabric Analytics.

Istnieją kafelki graficzne dla kanału operacyjnego i zdarzeń niezawodnych usług. Graficzna reprezentacja danych przepływających dla wybranych liczników będzie wyświetlana w obszarze Metryki węzła.

Wybierz wykres Metryka kontenera , aby wyświetlić dodatkowe szczegóły. Możesz również wykonywać zapytania dotyczące danych licznika wydajności, podobnie jak zdarzenia klastra i filtrować w węzłach, nazwę licznika wydajności i wartości przy użyciu języka zapytań Kusto.

Wykonywanie zapytań względem usługi EventStore

Usługa EventStore umożliwia zrozumienie stanu klastra lub obciążeń w danym momencie. Magazyn zdarzeń to stanowa usługa Service Fabric, która obsługuje zdarzenia z klastra. Zdarzenia są widoczne za pośrednictwem interfejsów API Service Fabric Explorer, REST i API. Magazyn zdarzeń wysyła zapytanie do klastra bezpośrednio w celu pobrania danych diagnostycznych dla dowolnej jednostki w klastrze Aby wyświetlić pełną listę zdarzeń dostępnych w magazynie zdarzeń, zobacz Zdarzenia usługi Service Fabric.

Interfejsy API magazynu zdarzeń można wykonywać programowo przy użyciu biblioteki klienta usługi Service Fabric.

Oto przykładowe żądanie dla wszystkich zdarzeń klastra między 2018-04-03T18:00:00Z i 2018-04-04T18:00:00Z za pośrednictwem funkcji 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();

Oto kolejny przykład, który wysyła zapytania dotyczące kondycji klastra i wszystkich zdarzeń węzłów we wrześniu 2018 r. i wyświetla je.

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);
    }
}

Monitorowanie kondycji klastra

Usługa Service Fabric wprowadza model kondycji z jednostkami kondycji, na których składniki systemu i watchdogs mogą zgłaszać lokalne warunki, które są monitorowane. Magazyn kondycji agreguje wszystkie dane kondycji, aby określić, czy jednostki są w dobrej kondycji.

Klaster jest automatycznie wypełniany raportami kondycji wysyłanymi przez składniki systemu. Przeczytaj więcej na stronie Używanie raportów kondycji systemu do rozwiązywania problemów.

Usługa Service Fabric uwidacznia zapytania dotyczące kondycji dla każdego z obsługiwanych typów jednostek. Dostęp do nich można uzyskać za pośrednictwem interfejsu API, przy użyciu metod w narzędziu FabricClient.HealthManager, poleceniach cmdlet programu PowerShell i interfejsie REST. Te zapytania zwracają pełne informacje o kondycji jednostki: zagregowany stan kondycji, zdarzenia kondycji jednostki, stany kondycji podrzędnej (jeśli dotyczy), oceny w złej kondycji (gdy jednostka nie jest w dobrej kondycji) i statystyki kondycji dzieci (jeśli dotyczy).

Uzyskiwanie kondycji klastra

Polecenie cmdlet Get-ServiceFabricClusterHealth zwraca kondycję jednostki klastra i zawiera stany kondycji aplikacji i węzłów (podrzędne klastra). Najpierw połącz się z klastrem przy użyciu polecenia cmdlet Connect-ServiceFabricCluster.

Stan klastra to 11 węzłów, aplikacja systemowa i sieć szkieletowa:/Voting skonfigurowane zgodnie z opisem.

Poniższy przykład pobiera kondycję klastra przy użyciu domyślnych zasad kondycji. 11 węzłów jest w dobrej kondycji, ale zagregowany stan kondycji klastra to Błąd, ponieważ aplikacja fabric:/Voting znajduje się w obszarze Błąd. Zwróć uwagę, w jaki sposób oceny w złej kondycji zawierają szczegółowe informacje na temat warunków, które wyzwoliły zagregowaną kondycję.

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

Poniższy przykład pobiera kondycję klastra przy użyciu niestandardowych zasad aplikacji. Filtruje wyniki, aby uzyskać tylko aplikacje i węzły w błędzie lub ostrzeżeniu. W tym przykładzie nie są zwracane żadne węzły, ponieważ są w dobrej kondycji. Tylko aplikacja fabric:/Voting szanuje filtr aplikacji. Ponieważ zasady niestandardowe określają, aby rozważyć ostrzeżenia jako błędy dla aplikacji fabric:/Voting, aplikacja jest oceniana jako w błędzie i tak jest klaster.

$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

Pobieranie kondycji węzła

Polecenie cmdlet Get-ServiceFabricNodeHealth zwraca kondycję jednostki węzła i zawiera zdarzenia kondycji zgłoszone w węźle. Najpierw połącz się z klastrem przy użyciu polecenia cmdlet Connect-ServiceFabricCluster. Poniższy przykład pobiera kondycję określonego węzła przy użyciu domyślnych zasad kondycji:

Get-ServiceFabricNodeHealth _nt1vm_3

Poniższy przykład pobiera kondycję wszystkich węzłów w klastrze:

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

Uzyskiwanie kondycji usługi systemu

Pobierz zagregowaną kondycję usług systemowych:

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

Następne kroki

W niniejszym samouczku zawarto informacje na temat wykonywania następujących czynności:

  • Wyświetlanie zdarzeń usługi Service Fabric
  • Wykonywanie zapytań o interfejsy API magazynu zdarzeń dla zdarzeń klastra
  • Monitorowanie infrastruktury/zbieranie liczników wydajności
  • Wyświetlanie raportów kondycji klastra

Następnie przejdź do poniższego samouczka, aby dowiedzieć się, jak skalować klaster.