Omówienie bazy danych EventStore
Uwaga
Od 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 momencie. Magazyn zdarzeń to stanowa usługa Service Fabric, która obsługuje zdarzenia z klastra. Zdarzenie jest udostępniane za pośrednictwem narzędzia 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
Od 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ń, które są dostępne 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, zobacz 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 aplikacji stanie się w złej kondycji bez żadnych wprowadzonych 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 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ć, należy 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 przeprowadzić uaktualnienie konfiguracji klastra i dodać następujący kod. Można użyć ograniczeń umieszczania, aby umieścić repliki usługi EventStore w określonym węźle NodeType, na przykład nodeType dedykowanym dla usług systemowych. Sekcja upgradeDescription
umożliwia skonfigurowanie uaktualnienia 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
- Wprowadzenie do interfejsu 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 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.