Visão geral do EventStore
Observação
A partir do Service Fabric 6.4. as APIs do EventStore estão apenas disponíveis para clusters do Windows somente na execução no Azure. Estamos trabalhando mover essa funcionalidade para Linux, assim como para nossos clusters independentes.
Visão geral
O serviço de EventStore introduzido na versão 6.2, é uma opção de monitoramento no Service Fabric. O EventStore fornece uma maneira de entender o estado do cluster ou cargas de trabalho em um determinado ponto no tempo. O EventStore é um serviço do Service Fabric com monitoramento de estado que mantém os eventos do cluster. Os eventos são expostos por meio do Service Fabric Explorer, REST e APIs. As consultas do EventStore permitem que você consulte o cluster diretamente para obter dados de diagnóstico em qualquer entidade no cluster e devem ser usadas para ajudar a:
- Diagnosticar problemas em desenvolvimento ou teste, ou em que talvez você possa estar usando um pipeline de monitoramento
- Confirme se as ações de gerenciamento que você está realizando no cluster estão sendo processadas corretamente
- Obter um "instantâneo" de como o Service Fabric está interagindo com uma entidade específica
Para ver uma lista completa de eventos disponíveis no EventStore, consulte Eventos do Service Fabric.
Observação
A partir do Service Fabric 6.4. as APIs e a UX do EventStore geralmente estão disponíveis para os clusters do Azure Windows. Estamos trabalhando mover essa funcionalidade para Linux, assim como para nossos clusters independentes.
O serviço EventStore pode ser consultado para eventos que estão disponíveis para cada entidade e tipo de entidade em seu cluster. Isso significa que você pode consultar eventos nos seguintes níveis:
- Cluster: eventos específicos para o cluster em si (por exemplo, a atualização de cluster)
- Nós: eventos todos os eventos no nível do nó
- Nó: eventos específicos a um nó, com base em
nodeName
- Aplicativos: todos os eventos no nível do aplicativo
- Aplicativo: eventos específicos para um aplicativo identificado por
applicationId
- Serviços: eventos de todos os serviços em seus clusters
- Serviço: eventos de um serviço específico identificado por
serviceId
- Partições: eventos de todas as partições
- Partição: eventos de uma partição específica identificada por
partitionId
- Réplicas de partição: eventos de todas as réplicas / instâncias em uma partição específica identificada por
partitionId
- Réplica de partição: eventos de uma réplica específica / instância identificada por
replicaId
epartitionId
Para saber mais sobre a API, veja a referência da API EventStore.
O serviço EventStore também tem a capacidade de correlacionar eventos em seu cluster. Ao observar eventos que foram gravados ao mesmo tempo de diferentes entidades que podem ter impactado umas às outras, o serviço EventStore é capaz de vincular esses eventos para ajudar a identificar as causas das atividades em seu cluster. Por exemplo, caso um de seus aplicativos se tornar não íntegro sem quaisquer alterações induzidas, o EventStore também examinará outros eventos expostos pela plataforma e poderá correlacionar isso a um evento Error
ou Warning
. Isso ajuda com detecção de falha e análise de causas raiz mais rápidas.
Habilitar EventStore em seu cluster
Cluster Local
No fabricSettings.json em seu cluster, adicione EventStoreService como um recurso de complemento e execute uma atualização de cluster.
"addOnFeatures": [
"EventStoreService"
],
Cluster do Azure versão 6.5+
Se o seu cluster do Azure for atualizado para a versão 6.5 ou superior, o EventStore será automaticamente habilitado no seu cluster. Para recusar, você precisa atualizar o modelo de cluster com o seguinte:
- Use uma versão de API
2019-03-01
ou mais recente - Adicione o código a seguir à seção de propriedades no cluster
"fabricSettings": [ … ], "eventStoreServiceEnabled": false
Versão 6.4 do cluster do Azure
Se estiver usando a versão 6.4, você poderá editar seu modelo do Azure Resource Manager para ativar o serviço EventStore. Isso é feito executando um atualização de configuração de cluster e adicionando o código a seguir, você pode usar PlacementConstraints para colocar as réplicas do serviço EventStore em um NodeType específico, por exemplo, um NodeType dedicado para os serviços do sistema. A upgradeDescription
seção configura a atualização de configuração para disparar uma reinicialização em nós. Você pode remover a seção em outra atualização.
"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
}
}
Próximas etapas
- Introdução à API de EventStore - Usando as APIs de EventStore em clusters do Service Fabric
- Saiba mais sobre a lista de eventos oferecidos pelo EventStore - Eventos do Service Fabric
- Visão geral do monitoramento e diagnóstico no Service Fabric - Monitor Service Fabric
- Exibir a lista completa das chamadas à API - Referência de API REST do EventStore
- Saiba mais sobre o monitoramento de seu cluster - Monitoramento do cluster e da plataforma.