Descrição Geral do EventStore

Nota

A partir da versão 6.4 do Service Fabric. as APIs eventStore só estão disponíveis para clusters do Windows em execução apenas no Azure. Estamos a trabalhar na migração desta funcionalidade para o Linux, bem como para os nossos clusters autónomos.

Descrição Geral

Introduzido na versão 6.2, o serviço EventStore é uma opção de monitorização no Service Fabric. O EventStore fornece uma forma de compreender o estado do cluster ou das cargas de trabalho num determinado momento. O EventStore é um serviço do Service Fabric com estado que mantém os eventos do cluster. O evento é exposto através do Service Fabric Explorer, REST e APIs. EventStore consulta o cluster diretamente para obter dados de diagnóstico em qualquer entidade no cluster e deve ser utilizado para ajudar:

  • Diagnosticar problemas de desenvolvimento ou teste ou onde poderá estar a utilizar um pipeline de monitorização
  • Confirme que as ações de gestão que está a tomar no cluster estão a ser processadas corretamente
  • Obter um "instantâneo" de como o Service Fabric está a interagir com uma determinada entidade

Captura de ecrã a mostrar o separador EVENTOS do painel Nós em vários eventos, incluindo um evento NodeDown.

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

Nota

A partir da versão 6.4 do Service Fabric. As APIs eventStore e o UX estão geralmente disponíveis para clusters do Windows do Azure. Estamos a trabalhar na migração desta funcionalidade para o Linux, bem como para os nossos clusters autónomos.

O serviço EventStore pode ser consultado para eventos disponíveis para cada entidade e tipo de entidade no cluster. Isto significa que 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 ao nível do nó
  • Nó: eventos específicos de um nó, identificados por nodeName
  • Aplicações: todos os eventos ao nível da aplicação
  • Aplicação: eventos específicos de uma aplicação identificada por applicationId
  • Serviços: eventos de todos os serviços nos clusters
  • Serviço: eventos de um serviço específico identificados 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 numa 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 no cluster. Ao analisar eventos que foram escritos ao mesmo tempo de diferentes entidades que podem ter afetado entre si, o serviço EventStore consegue ligar estes eventos para ajudar a identificar as causas das atividades no seu cluster. Por exemplo, se uma das suas aplicações ficar em mau estado de funcionamento sem alterações induzidas, a EventStore também analisará outros eventos expostos pela plataforma e poderá correlacioná-lo com um Error evento ou Warning . Isto ajuda na deteção de falhas mais rápida e na análise de causas raiz.

Ativar o EventStore no cluster

Local Cluster

Em fabricSettings.json no cluster, adicione EventStoreService como uma funcionalidade addOn e execute uma atualização do cluster.

    "addOnFeatures": [
        "EventStoreService"
    ],

Versão 6.5+ do cluster do Azure

Se o cluster do Azure for atualizado para a versão 6.5 ou superior, o EventStore será ativado automaticamente no cluster. Para optar ativamente por não participar, tem de atualizar o modelo de cluster com o seguinte:

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

Versão 6.4 do cluster do Azure

Se estiver a utilizar a versão 6.4, pode editar o modelo do Azure Resource Manager para ativar o serviço EventStore. Isto é feito ao efetuar uma atualização de configuração de cluster e adicionar o seguinte código, pode utilizar PlacementConstraints para colocar as réplicas do serviço EventStore num NodeType específico, por exemplo, um NodeType dedicado para os serviços de sistema. A upgradeDescription secção configura a atualização de configuração para acionar um reinício nos nós. Pode remover a secção noutra 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
          }
        }

Passos seguintes