Partilhar via


Descrição geral do EventStore

Nota

A partir da versão 6.4 do Service Fabric. as APIs da EventStore só estão disponíveis para clusters do Windows em execução no Azure. Estamos trabalhando na portabilidade dessa funcionalidade para Linux, bem como para nossos clusters autônomos.

Descrição geral

Introduzido na versão 6.2, o serviço EventStore é uma opção de monitoramento no Service Fabric. O EventStore fornece uma maneira de entender o estado do cluster ou das cargas de trabalho em um determinado momento. O EventStore é um serviço do Service Fabric com estado que mantém eventos do cluster. O evento é exposto por meio do Service Fabric Explorer, REST e APIs. O EventStore consulta o cluster diretamente para obter dados de diagnóstico sobre qualquer entidade no cluster e deve ser usado para ajudar:

  • Diagnosticar problemas no desenvolvimento ou teste, ou onde você pode estar usando um pipeline de monitoramento
  • Confirme se as ações de gerenciamento que você está executando no cluster estão sendo processadas corretamente
  • Obtenha um "instantâneo" de como o Service Fabric está interagindo com uma entidade específica

A captura de tela mostra a guia EVENTOS do painel Nós vários eventos, incluindo um evento NodeDown.

Para ver uma lista completa de eventos disponíveis na EventStore, consulte Eventos do Service Fabric.

Nota

A partir da versão 6.4 do Service Fabric. as APIs e a experiência do usuário da EventStore estão geralmente disponíveis para clusters do Windows do Azure. Estamos trabalhando na portabilidade dessa funcionalidade para Linux, bem como para nossos clusters autônomos.

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 do próprio cluster (por exemplo, atualização do cluster)
  • Nós: todos os eventos de nível de nó
  • Nó: eventos específicos de um nó, identificados por nodeName
  • Aplicativos: todos os eventos de nível de aplicativo
  • Aplicação: eventos específicos de uma aplicação identificados 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 dentro de uma partição específica identificada por partitionId
  • Réplica de partição: eventos de uma réplica/instância específica identificada por replicaId e partitionId

Para saber mais sobre a API, consulte a referência da API EventStore.

O serviço EventStore também tem a capacidade de correlacionar eventos em seu cluster. Ao examinar eventos que foram escritos ao mesmo tempo de entidades diferentes que podem ter afetado umas às outras, o serviço EventStore pode vincular esses eventos para ajudar a identificar causas para atividades em seu cluster. Por exemplo, se um dos seus aplicativos ficar não íntegro sem alterações induzidas, a EventStore também examinará outros eventos expostos pela plataforma e poderá correlacionar isso com um Error evento OR Warning . Isso ajuda com a deteção mais rápida de falhas e análise de causas raiz.

Habilitar o EventStore em seu cluster

Local Cluster

Em fabricSettings.json no cluster, adicione EventStoreService como um recurso addOn e execute uma atualização de cluster.

    "addOnFeatures": [
        "EventStoreService"
    ],

Azure cluster versão 6.5+

Se o cluster do Azure for atualizado para a versão 6.5 ou superior, o EventStore será automaticamente habilitado no cluster. Para desativar, você precisa atualizar seu modelo de cluster com o seguinte:

  • Usar uma versão da API ou 2019-03-01 mais recente
  • Adicione o seguinte código à seção de propriedades no cluster
      "fabricSettings": [
        …
      ],
      "eventStoreServiceEnabled": false
    

Azure cluster versão 6.4

Se estiver a utilizar a versão 6.4, pode editar o modelo do Azure Resource Manager para ativar o serviço EventStore. Isso é feito executando uma 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 nos 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óximos passos