Общие сведения об EventStore
Примечание.
Начиная с версии Service Fabric 6.4 интерфейсы API EventStore доступны только для кластеров Windows, работающих в Azure. Мы работаем над переносом этих функциональных возможностей в Linux, а также в изолированные кластеры.
Обзор
Введенная в версии 6.2, служба EventStore является вариантом мониторинга в Service Fabric. EventStore предоставляет способ для оценки состояния кластера или рабочих нагрузок в определенный момент времени. EventStore — это служба Service Fabric с отслеживанием состояния, сохраняющая события из кластера. Событие предоставляется через Service Fabric Explorer, REST и API. EventStore отправляет запросы непосредственно к кластеру, чтобы получить данные диагностики по любой сущности в кластере. Их следует использовать, чтобы:
- Диагностировать проблемы при разработке, тестировании или во время использования конвейера для мониторинга.
- Убедитесь, что действия управления, выполняемые в кластере, обрабатываются правильно
- Получить моментальный снимок взаимодействия Service Fabric с конкретной сущностью.
Полный список событий, доступных в EventStore, см. в этом разделе.
Примечание.
Начиная с версии Service Fabric 6.4 Программные и пользовательские интерфейсы EventStore предоставляются в общедоступной версии для кластеров Azure Windows. Мы работаем над переносом этих функциональных возможностей в Linux, а также в изолированные кластеры.
Службу EventStore можно запрашивать для событий, доступных для каждой сущности и типа сущности в кластере. Это означает, что вы можете запрашивать события на следующих уровнях:
- Кластер. События, относящиеся к кластеру (например, обновление кластера).
- Узлы. Все события уровня узла.
- Узел. События, относящиеся к одному узлу, которые идентифицируются на основе
nodeName
. - Приложения. Все события уровня приложения.
- Приложение. События для одного приложения, идентифицируемые на основе
applicationId
. - Службы. События из всех служб в кластерах.
- Служба. События из определенной службы, идентифицируемые на основе
serviceId
. - Разделы. События из всех разделов.
- Раздел. События из определенного раздела, идентифицируемые на основе
partitionId
. - Реплики разделов. События из всех реплик или экземпляров в определенной секции, идентифицируемые на основе
partitionId
. - Реплика раздела. События из конкретной реплики или экземпляра, идентифицируемые на основе
replicaId
илиpartitionId
.
Дополнительные сведения об API см. в справочнике по API EventStore.
Служба EventStore также имеет возможность корреляции событий в кластере. Просмотр событий, написанных одновременно с различными сущностями, которые могли повлиять друг на друга, служба EventStore может связать эти события, чтобы помочь в выявлении причин действий в кластере. Например, если одно из приложений становится неработоспособным без принудительных изменений, EventStore будет также рассматривать другие события, предоставляемые платформой, и сопоставлять их с событием Error
или Warning
. Это позволяет быстрее обнаружить сбой и выполнить анализ первопричин.
Включение в кластере EventStore
Локальный кластер
В файл fabricSettings.json в своем кластере добавьте EventStoreService в качестве дополнительной функции и выполните обновление кластера.
"addOnFeatures": [
"EventStoreService"
],
Версия кластера Azure 6.5 и выше
Если кластер Azure обновляется до версии 6.5 или выше, EventStore автоматически включается в кластере. Чтобы отказаться от ее использования, обновите шаблон кластера, изменив в нем следующее:
- укажите версию API
2019-03-01
или более новую; - Добавьте следующий код в раздел свойств в кластере
"fabricSettings": [ … ], "eventStoreServiceEnabled": false
Версия кластера Azure 6.4 и выше
Если вы используете версию 6.4, вы можете изменить шаблон Azure Resource Manager, чтобы включить службу EventStore. Это делается путем обновления конфигурации кластера и добавления следующего кода, с помощью PlacementConstraints можно поместить реплики службы EventStore в определенный NodeType, например NodeType, выделенный для системных служб. Раздел upgradeDescription
настраивает обновление конфигурации, чтобы активировать перезапуск узлов. Раздел можно удалить в другом обновлении.
"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
}
}
Следующие шаги
- Сведения о начале работы с API EventStore см. в статье Выполнение запросов к интерфейсам API EventStore для получения событий кластера.
- Дополнительные сведения о списке событий, предоставляемых EventStore, см. в статье о событиях Service Fabric.
- Обзор мониторинга и диагностика в Service Fabric — мониторинг Service Fabric
- Полный список вызовов API можно просмотреть в справочнике по REST API EventStore.
- Дополнительные сведения о мониторинге кластера см. в этой статье.