EventStore-Übersicht
Hinweis
Ab Service Fabric-Version 6.4 sind die EventStore-APIs nur für in Azure ausgeführte Windows-Cluster verfügbar. Wir arbeiten daran, diese Funktionalität sowohl für Linux als auch für unseren eigenständigen Cluster zu portieren.
Übersicht
Der EventStore-Dienst wurde in Version 6.2 eingeführt und ist eine Überwachungsoption in Service Fabric. EventStore bietet eine Möglichkeit, den Zustand Ihres Clusters oder Ihrer Workloads zu einem bestimmten Zeitpunkt zu verstehen. EventStore ist ein zustandsbehafteter Service Fabric-Dienst, der Ereignisse vom Cluster verwaltet. Die Ereignisse werden über Service Fabric-Explorer, REST und APIs bereitgestellt. EventStore fragt den Cluster direkt ab, um Diagnosedaten zu einer beliebigen Entität im Cluster abzurufen. Diese Daten können Sie bei den folgenden Aufgaben unterstützen:
- Diagnostizieren von Problemen bei der Entwicklung oder bei Tests oder an den Punkten, an denen Sie möglicherweise eine Überwachungspipeline verwenden.
- Sicherstellen, dass am Cluster vorgenommene Verwaltungsaktionen ordnungsgemäß verarbeitet werden
- Abrufen einer „Momentaufnahme“ der Interaktion von Service Fabric mit der betreffenden Entität.
Unter Service Fabric-Ereignisse finden Sie eine vollständige Auflistung der in EventStore verfügbaren Ereignisse.
Hinweis
Ab Service Fabric-Version 6.4 sind die EventStore-APIs und die Benutzeroberfläche allgemein verfügbar für Azure-Windows-Cluster. Wir arbeiten daran, diese Funktionalität sowohl für Linux als auch für unseren eigenständigen Cluster zu portieren.
Der EventStore-Dienst kann nach Ereignissen abgefragt werden, die in Ihrem Cluster für jede Entität und jeden Entitätstyp verfügbar sind. Dies bedeutet, dass Sie Ereignisse auf den folgenden Ebenen abfragen können:
- Cluster: Ereignisse in Bezug auf den Cluster selbst (z.B. Clusterupgrade).
- Knoten: Knotenereignisse auf allen Ebenen
- Knoten: Ereignisse, die spezifisch für einen bestimmten Knoten sind, der durch
nodeName
identifiziert wird. - Anwendungen: Anwendungsereignisse auf allen Ebenen
- Anwendung: Ereignisse, die für eine durch
applicationId
identifizierte Anwendung spezifisch sind. - Dienste: Ereignisse von allen Diensten im Cluster
- Dienst: Ereignisse von einem durch
serviceId
identifizierten bestimmten Dienst. - Partitionen: Ereignisse von allen Partitionen
- Partition: Ereignisse von einer durch
partitionId
identifizierten bestimmten Partition. - Partitionsreplikate: Ereignisse von allen Replikaten/Instanzen in einer bestimmten, durch
partitionId
identifizierten Partition. - Partitionsreplikat: Ereignisse von einem bestimmten Replikat/einer bestimmten Instanz, das bzw. die durch
replicaId
undpartitionId
identifiziert wird.
Um mehr über die API zu erfahren, lesen Sie die API-Referenz zu EventStore.
Der EventStore-Dienst hat auch die Möglichkeit, Ereignisse in Ihrem Cluster zu korrelieren. Durch den Blick auf Ereignisse, die gleichzeitig von unterschiedlichen Entitäten geschrieben wurden und sich möglicherweise gegenseitig beeinträchtigt haben, kann der EventStore-Dienst diese Ereignisse verknüpfen und beim Identifizieren von Ursachen für Aktivitäten in Ihrem Cluster helfen. Wenn beispielsweise eine Anwendung ohne veranlasste Änderung fehlerhaft wird, sucht EventStore auch nach anderen Ereignissen, die von der Plattform bereitgestellt werden, und kann diese mit einem Error
- oder Warning
-Ereignis korrelieren. Das beschleunigt die Fehlererkennung und Analyse der Hauptursachen.
Aktivieren von EventStore für einen Cluster
Lokaler Cluster
Fügen Sie in der Datei „fabricSettings.json“ in Ihrem Cluster EventStoreService als Add-On-Funktion hinzu, und führen Sie ein Clusterupgrade aus.
"addOnFeatures": [
"EventStoreService"
],
Azure-Clusterversion 6.5+
Wenn Ihr Azure-Cluster auf Version 6.5 oder höher aktualisiert wird, wird EventStore automatisch für Ihren Cluster aktiviert. Zur Deaktivierung müssen Sie die Clustervorlage mit folgenden Informationen aktualisieren:
- Verwenden Sie mindestens die API-Version
2019-03-01
. - Fügen Sie im Abschnitt mit den Eigenschaften in Ihrem Cluster den folgenden Code hinzu.
"fabricSettings": [ … ], "eventStoreServiceEnabled": false
Azure-Clusterversion 6.4
Wenn Sie Version 6.4 verwenden, können Sie Ihre Azure Resource Manager-Vorlage so bearbeiten, dass der EventStore-Dienst aktiviert wird. Dazu führen Sie ein Upgrade der Clusterkonfiguration durch und fügen den folgenden Code hinzu. Sie können PlacementConstraints verwenden, um die Replikate des EventStore-Diensts auf einen bestimmten NodeType festzulegen, z. B. einen NodeType, der für die Systemdienste bestimmt ist. Die Abschnitt upgradeDescription
konfiguriert das Konfigurationsupgrade, um einen Neustart auf den Knoten auszulösen. Sie können den Abschnitt in einem weiteren Update entfernen.
"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ächste Schritte
- Erste Schritte mit der EventStore-API: Verwenden der EventStore-APIs in Azure Service Fabric-Clustern
- Weitere Informationen zur Liste der von EventStore bereitgestellten Ereignisse: Service Fabric-Ereignisse
- Übersicht über Überwachung und Diagnose in Service Fabric – Überwachen von Service Fabric
- Anzeigen der vollständigen Liste der API-Aufrufe: REST-API-Referenz zu EventStore
- Weitere Informationen zum Überwachen Ihres Clusters finden Sie unter Überwachen des Clusters und der Plattform.