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ą

Zrzut ekranu przedstawia kartę ZDARZENIA w okienku Węzły z kilkoma zdarzeniami, w tym zdarzenie NodeDown.

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 i partitionId

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