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à
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
epartitionId
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
- Introduzione all'API di EventStore - Uso delle API di EventStore nei cluster di Azure Service Fabric
- Altre informazioni sull'elenco di eventi offerto da EventStore - Eventi di Service Fabric
- Per una panoramica del monitoraggio e della diagnostica in Service Fabric, vedere Monitorare Service Fabric
- Visualizzare l'elenco completo delle chiamate API - Riferimento all'API REST di EventStore
- Altre informazioni sul monitoraggio del cluster - Monitoraggio del cluster e della piattaforma.