EventStore – översikt
Kommentar
Från och med Service Fabric version 6.4. EventStore-API:erna är endast tillgängliga för Windows-kluster som körs på Azure. Vi arbetar med att portera den här funktionen till Linux och våra fristående kluster.
Översikt
EventStore-tjänsten introducerades i version 6.2 och är ett övervakningsalternativ i Service Fabric. EventStore är ett sätt att förstå tillståndet för klustret eller arbetsbelastningarna vid en viss tidpunkt. EventStore är en tillståndskänslig Service Fabric-tjänst som underhåller händelser från klustret. Händelsen exponeras via Service Fabric Explorer, REST och API:er. EventStore frågar klustret direkt för att hämta diagnostikdata på en entitet i klustret och bör användas för att:
- Diagnostisera problem med utveckling eller testning, eller där du kanske använder en övervakningspipeline
- Bekräfta att hanteringsåtgärder som du vidtar i klustret bearbetas korrekt
- Hämta en "ögonblicksbild" av hur Service Fabric interagerar med en viss entitet
En fullständig lista över händelser som är tillgängliga i EventStore finns i Service Fabric-händelser.
Kommentar
Från och med Service Fabric version 6.4. EventStore-API:er och UX är allmänt tillgängliga för Azure Windows-kluster. Vi arbetar med att portera den här funktionen till Linux och våra fristående kluster.
EventStore-tjänsten kan frågas efter händelser som är tillgängliga för varje entitets- och entitetstyp i klustret. Det innebär att du kan fråga efter händelser på följande nivåer:
- Kluster: händelser som är specifika för själva klustret (t.ex. klusteruppgradering)
- Noder: alla nodnivåhändelser
- Nod: händelser som är specifika för en nod, identifierade av
nodeName
- Program: alla händelser på programnivå
- Program: händelser som är specifika för ett program som identifieras av
applicationId
- Tjänster: händelser från alla tjänster i dina kluster
- Tjänst: händelser från en specifik tjänst som identifieras av
serviceId
- Partitioner: händelser från alla partitioner
- Partition: händelser från en specifik partition som identifieras av
partitionId
- Partitionsrepliker: händelser från alla repliker/instanser inom en specifik partition som identifieras av
partitionId
- Partitionsreplik: händelser från en specifik replik/instans som identifieras av
replicaId
ochpartitionId
Mer information om API:et finns i referensen för EventStore API.
EventStore-tjänsten har också möjlighet att korrelera händelser i klustret. Genom att titta på händelser som skrevs samtidigt från olika entiteter som kan ha påverkat varandra kan EventStore-tjänsten länka dessa händelser för att hjälpa till att identifiera orsaker till aktiviteter i klustret. Om ett av dina program till exempel råkar bli felfritt utan några inducerade ändringar tittar EventStore också på andra händelser som exponeras av plattformen och kan korrelera detta med en eller Warning
-Error
händelse. Detta hjälper till med snabbare felidentifiering och rotorsaksanalys.
Aktivera EventStore i klustret
Lokalt kluster
I fabricSettings.json i klustret lägger du till EventStoreService som en addOn-funktion och utför en klusteruppgradering.
"addOnFeatures": [
"EventStoreService"
],
Azure-klusterversion 6.5+
Om ditt Azure-kluster uppgraderas till version 6.5 eller senare aktiveras EventStore automatiskt i klustret. Om du vill avregistrera dig måste du uppdatera klustermallen med följande:
- Använda en API-version av
2019-03-01
eller senare - Lägg till följande kod i avsnittet egenskaper i klustret
"fabricSettings": [ … ], "eventStoreServiceEnabled": false
Azure-klusterversion 6.4
Om du använder version 6.4 kan du redigera Azure Resource Manager-mallen för att aktivera EventStore-tjänsten. Detta görs genom att utföra en klusterkonfigurationsuppgradering och lägga till följande kod. Du kan använda PlacementConstraints för att placera replikerna av EventStore-tjänsten på en specifik NodeType, till exempel en NodeType-dedikerad för systemtjänsterna. Avsnittet upgradeDescription
konfigurerar konfigurationsuppgradningen för att utlösa en omstart på noderna. Du kan ta bort avsnittet i en annan uppdatering.
"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
}
}
Nästa steg
- Kom igång med EventStore-API:et – Använda EventStore-API:erna i Azure Service Fabric-kluster
- Läs mer om listan över händelser som erbjuds av EventStore – Service Fabric-händelser
- Översikt över övervakning och diagnostik i Service Fabric – Övervaka Service Fabric
- Visa den fullständiga listan över API-anrop – EventStore REST API-referens
- Läs mer om övervakning av klustret – Övervaka klustret och plattformen.