Omówienie magazynu zdarzeń
Uwaga
W wersji 6.4 usługi Service Fabric. Interfejsy API magazynu zdarzeń są dostępne tylko dla klastrów systemu Windows działających tylko na platformie Azure. Pracujemy nad przenoszeniem tej funkcji do systemu Linux, a także naszych klastrów autonomicznych.
Omówienie
Wprowadzona w wersji 6.2 usługa EventStore jest opcją monitorowania w usłudze Service Fabric. Magazyn zdarzeń umożliwia zrozumienie stanu klastra lub obciążeń w danym punkcie w czasie. Magazyn zdarzeń to stanowa usługa Service Fabric, która obsługuje zdarzenia z klastra. Zdarzenie jest uwidocznione za pośrednictwem Service Fabric Explorer, interfejsów API i REST. Magazyn zdarzeń wysyła zapytanie do klastra bezpośrednio, aby uzyskać dane diagnostyczne dla dowolnej jednostki w klastrze i powinny być używane do pomocy:
- Diagnozowanie problemów z programowaniem lub testowaniem lub używanie potoku monitorowania
- Upewnij się, że akcje zarządzania wykonywane w klastrze są przetwarzane prawidłowo
- Pobieranie "migawki" sposobu interakcji usługi Service Fabric z określoną jednostką
Aby wyświetlić pełną listę zdarzeń dostępnych w magazynie zdarzeń, zobacz Zdarzenia usługi Service Fabric.
Uwaga
W wersji 6.4 usługi Service Fabric. Interfejsy API i środowisko użytkownika magazynu zdarzeń są ogólnie dostępne dla klastrów systemu Windows platformy Azure. Pracujemy nad przenoszeniem tej funkcji do systemu Linux, a także naszych klastrów autonomicznych.
Usługa EventStore może być odpytywane pod kątem zdarzeń dostępnych dla każdej jednostki i typu jednostki w klastrze. Oznacza to, że można wykonywać zapytania dotyczące zdarzeń na następujących poziomach:
- Klaster: zdarzenia specyficzne dla samego klastra (np. uaktualnienie klastra)
- Węzły: wszystkie zdarzenia na poziomie węzła
- Węzeł: zdarzenia specyficzne dla jednego węzła identyfikowane przez
nodeName
- Aplikacje: wszystkie zdarzenia na poziomie aplikacji
- Aplikacja: zdarzenia specyficzne dla jednej aplikacji zidentyfikowanej przez
applicationId
- Usługi: zdarzenia ze wszystkich usług w klastrach
- Usługa: zdarzenia z określonej usługi zidentyfikowane przez
serviceId
- Partycje: zdarzenia ze wszystkich partycji
- Partycja: zdarzenia z określonej partycji zidentyfikowane przez
partitionId
- Repliki partycji: zdarzenia ze wszystkich replik/wystąpień w określonej partycji zidentyfikowanej przez
partitionId
- Replika partycji: zdarzenia z określonej repliki/wystąpienia zidentyfikowane przez
replicaId
ipartitionId
Aby dowiedzieć się więcej na temat interfejsu API, zapoznaj się z dokumentacją interfejsu API magazynu zdarzeń.
Usługa EventStore ma również możliwość korelowania zdarzeń w klastrze. Patrząc na zdarzenia, które zostały zapisane w tym samym czasie z różnych jednostek, które mogły mieć na siebie wpływ, usługa EventStore może połączyć te zdarzenia, aby ułatwić identyfikowanie przyczyn działań w klastrze. Jeśli na przykład jedna z Twoich aplikacji stanie się w złej kondycji bez żadnych wprowadzona zmian, magazyn zdarzeń będzie również przeglądać inne zdarzenia uwidocznione przez platformę i może skorelować je z zdarzeniem Error
lub Warning
. Pomaga to w szybszym wykrywaniu błędów i analizie głównych przyczyn.
Włączanie magazynu zdarzeń w klastrze
Klaster lokalny
W pliku fabricSettings.json w klastrze dodaj funkcję EventStoreService jako funkcję addOn i przeprowadź uaktualnienie klastra.
"addOnFeatures": [
"EventStoreService"
],
Klaster platformy Azure w wersji 6.5 lub nowszej
Jeśli klaster platformy Azure zostanie uaktualniony do wersji 6.5 lub nowszej, magazyn zdarzeń zostanie automatycznie włączony w klastrze. Aby zrezygnować, musisz zaktualizować szablon klastra przy użyciu następujących elementów:
- Korzystanie z wersji interfejsu API lub nowszej
2019-03-01
- Dodaj następujący kod do sekcji właściwości w klastrze
"fabricSettings": [ … ], "eventStoreServiceEnabled": false
Klaster platformy Azure w wersji 6.4
Jeśli używasz wersji 6.4, możesz edytować szablon usługi Azure Resource Manager, aby włączyć usługę EventStore. W tym celu należy wykonać uaktualnienie konfiguracji klastra i dodać następujący kod. Za pomocą ograniczeń umieszczania można umieścić repliki usługi EventStore w określonym typie węzła, np. nodeType dedykowanym dla usług systemowych. Sekcja upgradeDescription
konfiguruje uaktualnienie konfiguracji w celu wyzwolenia ponownego uruchomienia w węzłach. Sekcję można usunąć w innej aktualizacji.
"fabricSettings": [
…
…
…,
{
"name": "EventStoreService",
"parameters": [
{
"name": "TargetReplicaSetSize",
"value": "3"
},
{
"name": "MinReplicaSetSize",
"value": "1"
},
{
"name": "PlacementConstraints",
"value": "(NodeType==<node_type_name_here>)"
}
]
}
],
"upgradeDescription": {
"forceRestart": true,
"upgradeReplicaSetCheckTimeout": "10675199.02:48:05.4775807",
"healthCheckWaitDuration": "00:01:00",
"healthCheckStableDuration": "00:01:00",
"healthCheckRetryTimeout": "00:5:00",
"upgradeTimeout": "1:00:00",
"upgradeDomainTimeout": "00:10:00",
"healthPolicy": {
"maxPercentUnhealthyNodes": 100,
"maxPercentUnhealthyApplications": 100
},
"deltaHealthPolicy": {
"maxPercentDeltaUnhealthyNodes": 0,
"maxPercentUpgradeDomainDeltaUnhealthyNodes": 0,
"maxPercentDeltaUnhealthyApplications": 0
}
}
Następne kroki
- Rozpoczynanie pracy z interfejsem API magazynu zdarzeń — korzystanie z interfejsów API magazynu zdarzeń w klastrach usługi Azure Service Fabric
- Dowiedz się więcej o liście zdarzeń oferowanych przez magazyn zdarzeń — zdarzenia usługi Service Fabric
- Omówienie monitorowania i diagnostyki w usłudze Service Fabric — monitorowanie i diagnostyka dla usługi Service Fabric
- Wyświetlanie pełnej listy wywołań interfejsu API — Dokumentacja interfejsu API REST magazynu zdarzeń
- Dowiedz się więcej o monitorowaniu klastra — monitorowanie klastra i platformy.