Panoramica di EventStore

Nota

A partire da Service Fabric versione 6.4. le API di EventStore sono disponibili solo per i cluster Windows eseguiti in Azure. Questa funzionalità sarà presto disponibile anche per Linux e per i cluster autonomi.

Panoramica

Introdotto nella versione 6.2, il servizio EventStore è un'opzione di monitoraggio di Service Fabric. EventStore offre la possibilità di comprendere lo stato del cluster o dei carichi di lavoro in un determinato punto nel tempo. EventStore è un servizio di Service Fabric con stato che gestisce gli eventi del cluster. L'evento viene esposto usando Service Fabric Explorer, REST e le API. EventStore esegue direttamente una query sul cluster per visualizzare i dati di diagnostica relativi a qualsiasi entità presente nel cluster e deve essere usato per:

  • Diagnosticare problemi di sviluppo o test o laddove sia possibile usare una pipeline di monitoraggio
  • Verificare che le azioni di gestione eseguite nel cluster vengano elaborate correttamente
  • Ottenere un'istantanea del modo in cui Service Fabric interagisce con una particolare entità

Screenshot che mostra la scheda EVENTI del riquadro Nodi con diversi eventi, incluso un evento NodeDown.

Per visualizzare un elenco completo di eventi disponibili in EventStore, vedere Eventi di Service Fabric.

Nota

A partire da Service Fabric versione 6.4. A livello generale le API e l’esperienza utente di EventStore sono disponibili per i cluster Windows di Azure. Questa funzionalità sarà presto disponibile anche per Linux e per i cluster autonomi.

È possibile eseguire una query nel servizio EventStore per gli eventi disponibili per ogni entità e tipo di entità presente nel cluster. Ciò significa che è possibile eseguire una query per gli eventi dei livelli seguenti:

  • Cluster: eventi specifici per lo stesso cluster, ad esempio l'aggiornamento del cluster
  • Nodi: tutti gli eventi a livello di nodo
  • Nodo: eventi specifici di un nodo, identificati da nodeName
  • Applicazioni: tutti gli eventi a livello di applicazione
  • Applicazione: eventi specifici di un'applicazione identificata da applicationId
  • Servizi: eventi da tutti i servizi del cluster
  • Servizio: eventi di un servizio specifico identificato da serviceId
  • Partizioni: eventi da tutte le partizioni
  • Partizione: eventi di una partizione specifica identificata da partitionId
  • Repliche delle partizioni: eventi di tutte le repliche/istanze all'interno di una partizione specifica identificata da partitionId
  • Replica delle partizioni: eventi di una replica/istanza specifica identificata da replicaId e partitionId

Per altre informazioni sull’API, vedere Riferimento all’API EventStore.

Il servizio EventStore consente anche di correlare gli eventi del cluster. Esaminando gli eventi scritti nello stesso momento da entità diverse che potrebbero avere avuto effetti reciproci, il servizio EventStore è in grado di collegare questi eventi per facilitare l'identificazione delle cause per le attività del cluster. Ad esempio, se una delle applicazioni risulta non integra senza che siano state apportate modifiche, il servizio EventStore controlla anche altri eventi esposti dalla piattaforma ed è in grado di metterli in correlazione con un evento Error o Warning. Ciò rende più rapido il rilevamento degli errori e l'analisi delle cause principali.

Abilitare EventStore nel cluster

Cluster locale

In fabricSettings.json nel cluster aggiungere EventStoreService come funzionalità del componente aggiuntivo ed eseguire un aggiornamento del cluster.

    "addOnFeatures": [
        "EventStoreService"
    ],

Cluster di Azure versione 6.5 e successive

Se il cluster di Azure viene aggiornato alla versione 6.5 o successiva, EventStore viene abilitato automaticamente nel cluster. Per rifiutare esplicitamente, è necessario aggiornare il modello di cluster con quanto segue:

  • Usare una versione API 2019-03-01 o una versione successiva
  • Aggiungere il codice seguente alla sezione delle proprietà nel cluster
      "fabricSettings": [
        …
      ],
      "eventStoreServiceEnabled": false
    

Cluster di Azure versione 6.4

Se si usa la versione 6.4, è possibile modificare il modello di Azure Resource Manager per attivare il servizio EventStore. Per effettuare questa operazione, eseguire un aggiornamento della configurazione del cluster e aggiungere il codice seguente. È possibile usare PlacementConstraints per inserire le repliche del servizio EventStore in un NodeType specifico, ad esempio un NodeType dedicato per i servizi di sistema. La sezione upgradeDescription configura l'aggiornamento della configurazione per attivare un riavvio sui nodi. È possibile rimuovere la sezione in un altro aggiornamento.

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

Passaggi successivi