Partilhar via


Visão geral da EventStore

Observação

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.

Visão geral

Introduzido na versão 6.2, o serviço EventStore é uma opção de monitoramento no Service Fabric. EventStore oferece uma forma de entender o estado do seu cluster ou das suas cargas de trabalho num determinado momento. O EventStore é um serviço Service Fabric com estado que mantém eventos provenientes do cluster. Os eventos são expostos através do Service Fabric Explorer, REST e APIs. EventStore consulta diretamente o cluster para obter dados de diagnóstico sobre qualquer entidade no seu cluster e deve ser utilizado para ajudar:

  • Diagnosticar problemas em desenvolvimento ou teste, ou onde possa estar a usar um pipeline de monitorização.
  • Confirme se as ações de gerenciamento que você está executando no cluster estão sendo processadas corretamente
  • Obtenha uma "instantânea" de como o Service Fabric está a interagir com uma entidade específica

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

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

Observação

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

Agrupamento Local

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 a versão 2019-03-01 da API ou uma 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