Översikt över EventStore
Anteckning
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å klustrets eller arbetsbelastningarnas tillstånd 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å valfri entitet i klustret och bör användas för att:
- Diagnostisera problem med utveckling eller testning, eller var du kanske använder en övervakningspipeline
- Bekräfta att hanteringsåtgärder som du vidtar på 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.
Anteckning
Från och med Service Fabric version 6.4. EventStore-API:erna 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, som identifieras 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 EventStore API-referensen.
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 med 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 Error
eller-händelse Warning
. 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 egenskapsavsnittet i klustret
"fabricSettings": [ … ], "eventStoreServiceEnabled": false
Azure-klusterversion 6.4
Om du använder version 6.4 kan du redigera din Azure Resource Manager-mall för att aktivera EventStore-tjänsten. Detta görs genom att utföra en uppgradering av klusterkonfigurationen och lägga till följande kod. Du kan använda PlacementConstraints för att placera replikerna för EventStore-tjänsten på en specifik NodeType, t.ex. en NodeType som är 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 – övervakning och diagnostik för 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.