EventStore – přehled

Poznámka

Od Service Fabric verze 6.4. Rozhraní API EventStore jsou k dispozici pouze pro clustery s Windows, které běží pouze v Azure. Pracujeme na přenosu této funkce do Linuxu i do samostatných clusterů.

Přehled

Služba EventStore, která byla představena ve verzi 6.2, je možnost monitorování v Service Fabric. EventStore poskytuje způsob, jak porozumět stavu clusteru nebo úloh v daném okamžiku. EventStore je stavová služba Service Fabric, která udržuje události z clusteru. Událost se zveřejňují prostřednictvím Service Fabric Explorer, REST a rozhraní API. EventStore se dotazuje clusteru přímo za účelem získání diagnostických dat pro libovolnou entitu v clusteru. Mělo by vám pomoct:

  • Diagnostika problémů s vývojem nebo testováním nebo s místem, kde můžete používat kanál monitorování
  • Ověřte, že se správně zpracovávají akce správy, které v clusteru provádíte.
  • Získání snímku interakce Service Fabric s konkrétní entitou

Snímek obrazovky ukazuje kartu EVENTS v podokně Uzly s několika událostmi, včetně události NodeDown.

Úplný seznam událostí dostupných v úložišti událostí najdete v tématu Události Service Fabric.

Poznámka

Od Service Fabric verze 6.4. Rozhraní API a uživatelské prostředí eventstoru jsou obecně dostupné pro clustery Azure s Windows. Pracujeme na přenosu této funkce do Linuxu i do samostatných clusterů.

Služba EventStore se může dotazovat na události, které jsou k dispozici pro každou entitu a typ entity v clusteru. To znamená, že se můžete dotazovat na události na následujících úrovních:

  • Cluster: události specifické pro samotný cluster (např. upgrade clusteru)
  • Uzly: všechny události na úrovni uzlů
  • Uzel: události specifické pro jeden uzel identifikované nodeName
  • Aplikace: všechny události na úrovni aplikace
  • Aplikace: události specifické pro jednu aplikaci identifikovanou applicationId
  • Služby: události ze všech služeb v clusterech
  • Služba: události z konkrétní služby identifikované serviceId
  • Oddíly: události ze všech oddílů
  • Oddíl: události z konkrétního oddílu identifikovaného partitionId
  • Repliky oddílů: události ze všech replik / instancí v rámci konkrétního oddílu identifikovaného partitionId
  • Replika oddílu: události z konkrétní repliky nebo instance identifikované a replicaIdpartitionId

Další informace o rozhraní API najdete v referenčních informacích k rozhraní EVENTStore API.

Služba EventStore má také možnost korelovat události v clusteru. Když se služba EventStore podívá na události zapsané ve stejnou dobu z různých entit, které se mohly vzájemně ovlivnit, dokáže tyto události propojit, aby vám pomohla identifikovat příčiny aktivit v clusteru. Pokud se například stane, že některá z vašich aplikací přestane být v pořádku bez jakýchkoliv vyvolaných změn, EventStore se také podívá na další události vystavené platformou a může je korelovat s událostí Error nebo Warning . To pomáhá s rychlejší detekcí selhání a analýzou původních příčin.

Povolení eventstoru v clusteru

Místní cluster

V souboru fabricSettings.json ve vašem clusteru přidejte službu EventStoreService jako funkci addOn a proveďte upgrade clusteru.

    "addOnFeatures": [
        "EventStoreService"
    ],

Cluster Azure verze 6.5 nebo novější

Pokud se váš cluster Azure upgraduje na verzi 6.5 nebo novější, eventStore se v clusteru automaticky povolí. Pokud se chcete odhlásit, musíte šablonu clusteru aktualizovat následujícím postupem:

  • Použití verze rozhraní API nebo 2019-03-01 novější
  • Do oddílu properties v clusteru přidejte následující kód.
      "fabricSettings": [
        …
      ],
      "eventStoreServiceEnabled": false
    

Cluster Azure verze 6.4

Pokud používáte verzi 6.4, můžete úpravou šablony Azure Resource Manager zapnout službu EventStore. Provede se to provedením upgradu konfigurace clusteru a přidáním následujícího kódu. Pomocí příkazu PlacementConstraints můžete umístit repliky služby EventStore do konkrétního nodeType, například NodeType vyhrazeného pro systémové služby. Oddíl upgradeDescription konfiguruje upgrade konfigurace tak, aby na uzlech aktivoval restartování. Oddíl můžete odebrat v jiné aktualizaci.

    "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
          }
        }

Další kroky