Partilhar via


Configurar um servidor de relatório em um cluster de balanceamento de carga de rede

Se você estiver configurando uma expansão do servidor de relatório para ser executado em um cluster NLB (Balanceamento de Carga de Rede), deverá executar as seguintes tarefas:

  • Verifique se o cluster NLB está acessível através de um nome de servidor virtual que está associado ao endereço IP do servidor virtual. Um nome de servidor virtual é necessário para que você possa configurar um único ponto de entrada para o cluster NLB. Ao configurar uma URL para cada instância do servidor de relatório, você especifica o nome do servidor virtual como host.

  • Configure a validação do estado de exibição para oferecer suporte à exibição interativa de relatórios. Os relatórios interativos geralmente são renderizados várias vezes durante uma única sessão de usuário para visualizar dados novos ou diferentes em resposta às ações do usuário. Ao configurar a validação do estado de exibição, a continuidade é preservada na sessão do usuário, independentemente de qual servidor de relatório atende a solicitação real.

O Reporting Services não fornece funcionalidade para balancear a carga de uma implantação em expansão ou para definir um único ponto de acesso por meio de uma URL compartilhada. Você deve implementar uma solução de cluster NLB de software ou hardware separada para dar suporte a uma implantação em expansão do Reporting Services.

Você pode instalar o Reporting Services em nodes que já fazem parte de um cluster NLB, ou pode configurar uma implantação escalonada primeiro e, em seguida, instalar o software de cluster.

Etapas para implantação do servidor de relatório em um cluster NLB

Use as seguintes diretrizes para instalar e configurar sua implantação:

Passo Descrição Mais informações
1 Antes de instalar o Reporting Services nos nós de servidor de um cluster NLB, verifique os requisitos para a implementação de expansão. Configurar um de implantação em expansão do servidor de relatório de modo nativo
2 Configure o cluster NLB e verifique se ele está funcionando corretamente.

Certifique-se de mapear um nome de cabeçalho de host para o IP do servidor virtual do cluster NLB. O nome do cabeçalho do host é usado na URL do servidor de relatório e é mais fácil de lembrar e digitar do que um endereço IP.
Para obter mais informações, consulte a documentação do produto Windows Server para a versão do sistema operacional Windows que você executa.
3 Adicione o NetBIOS e o FQDN (nome de domínio totalmente qualificado) para o cabeçalho do host na lista de BackConnectionHostNames armazenados no Registo do Windows.

Por exemplo, se o nome do cabeçalho do host <MyServer> for um nome virtual para o nome do computador Windows de "contoso", você provavelmente poderá fazer referência ao formulário FQDN como contoso.domain.com. Você precisa adicionar o nome do cabeçalho do host (MyServer) e o nome do FQDN (contoso.domain.com) à lista no BackConnectionHostNames.

Em seguida, reinicie o computador para garantir que as alterações entrem em vigor.
Esta etapa é necessária se o ambiente do servidor envolver autenticação NTLM no computador local, criando uma conexão de loop back.

Em caso afirmativo, as solicitações entre o Gerenciador de Relatórios e o Servidor de Relatório falham com 401 (Não autorizado).
4 Instale o Reporting Services no modo apenas ficheiros em nós que já fazem parte de um cluster NLB e configure as instâncias do servidor de relatórios para uma implementação ampliada.

A expansão configurada pode não responder a solicitações direcionadas ao IP do servidor virtual. A configuração da expansão para usar o IP do servidor virtual ocorre em uma etapa posterior, depois de configurar a validação do estado de exibição.
Configurar uma implantação em expansão do servidor de relatório no modo nativo (Gerenciador de Configuração do Servidor de Relatórios)
5 Configure a validação do estado de exibição.

Para obter melhores resultados, execute esta etapa depois de configurar a implantação em expansão e antes de configurar as instâncias do servidor de relatório para usar o IP do servidor virtual. Ao configurar primeiro a validação do estado de visualização, pode-se evitar exceções sobre validação de estado com falha quando os utilizadores tentam aceder a relatórios interativos.
Como configurar a validação do estado de exibição neste artigo.
6 Configure Hostname e UrlRoot para usar o IP do servidor virtual do cluster NLB. Como configurar Hostname e UrlRoot neste artigo.
7 Verifique se os servidores estão acessíveis através do nome de host especificado. Verifique o acesso ao servidor de relatório neste artigo.

Configurar a validação do estado de exibição

Para executar uma implantação em expansão em um cluster NLB, você deve configurar a validação do estado de exibição para que os usuários possam exibir relatórios HTML interativos. Você deve configurar a validação do estado de exibição para o Serviço Web Servidor de Relatórios.

Para executar uma implantação em expansão em um cluster NLB, você deve configurar a validação do estado de exibição para que os usuários possam exibir relatórios HTML interativos.

ASP.NET controles exibem validação de estado. Por padrão, a validação do estado de exibição é habilitada e usa a identidade do serviço Web para executar a validação. No entanto, em um cenário de cluster NLB, há várias instâncias de serviço e identidades de serviço Web que são executadas em computadores diferentes. Como a identidade do serviço varia para cada nó, você não pode confiar em uma única identidade de processo para executar a validação.

Para contornar esse problema, você pode gerar uma chave de validação arbitrária para dar suporte à validação do estado de exibição e, em seguida, configurar manualmente cada nó do servidor de relatório para usar a mesma chave. Você pode usar qualquer sequência hexadecimal gerada aleatoriamente. O algoritmo de validação (como SHA1) determina qual o comprimento que a sequência hexadecimal deve ter.

Aplica-se a: SQL Server Reporting Services (2016)

  1. Gere automaticamente uma chave de validação e uma chave de desencriptação utilizando a funcionalidade fornecida pelo .NET Framework. No final, você deve ter uma única entrada de <machineKey> que possa colar no arquivo de Web.config para cada instância do Servidor de Relatório na implantação em expansão.

    O exemplo a seguir fornece uma ilustração do valor que você deve obter. Não copie o exemplo para seus arquivos de configuração; Os valores-chave não são válidos.

    <machineKey validationKey="[your key here]" decryptionKey="[your key here]" validation="SHA1" decryption="AES"/>  
    

    Consulte Apêndice A: Como gerar um elemento <machineKey> para obter instruções sobre como gerar chaves.

  2. Abra o arquivo Web.config para Reportservere, na seção <system.web>, cole o elemento <machineKey> que você gerou. Por padrão, o arquivo Web.config está localizado em \Program Files\Microsoft SQL Server\MSRS13.MSSQLSERVER\Reporting Services\Reportserver\Web.config.

  3. Salve o arquivo.

  4. Repita a etapa anterior para cada servidor de relatório na implantação em expansão.

  5. Verifique se todos os arquivos de Web.Config para todos os servidores de relatório na implantação em expansão contêm elementos <machineKey> idênticos na seção <system.web>.

Aplica-se a: SQL Server Reporting Services (2017 e posterior) Servidor de Relatório do Power BI

  1. Gere automaticamente uma chave de validação e uma chave de desencriptação utilizando a funcionalidade fornecida pelo .NET Framework. No final, você deve ter uma única entrada de <machineKey> que possa colar no arquivo de RSReportServer.config para cada instância do servidor de relatório na implantação em expansão.

    O exemplo a seguir fornece uma ilustração do valor que você deve obter. Não copie o exemplo para seus arquivos de configuração; Os valores-chave não são válidos. O servidor de relatório requer o invólucro correto.

    <MachineKey ValidationKey="[your key here]" DecryptionKey="[your key here]" Validation="SHA1" Decryption="AES"/>
    

    Consulte Apêndice A: Como gerar um elemento <machineKey> para obter instruções sobre como gerar chaves.

  2. Abra o arquivo RSReportServer.config para Reportservere, na seção <Configuration>, cole o elemento <machineKey> que você gerou. Por padrão, o arquivo RSReportServer.config está localizado no \Program Files\Microsoft SQL Server Reporting Services\SSRS\ReportServer\RSReportServer.config para Reporting Services. Para o Servidor de Relatório do Power BI, o arquivo está localizado em \Program Files\Microsoft Power BI Report Server\PBIRS\ReportServer\RSReportServer.config.

  3. Salve o arquivo.

  4. Repita a etapa anterior para cada servidor de relatório na implantação em expansão.

  5. Verifique se todos os arquivos de RSReportServer.config para todos os servidores de relatório na implantação em expansão contêm elementos <MachineKey> idênticos na seção <Configuration>.

Como configurar Hostname e UrlRoot

Para configurar uma implantação em expansão do servidor de relatório em um cluster NLB, você deve definir um único nome de servidor virtual que forneça um único ponto de acesso ao cluster de servidores. Em seguida, registre esse nome de servidor virtual com o servidor de nomes de domínio (DNS) em seu ambiente.

Depois de definir o nome do servidor virtual, você pode configurar as propriedades Hostname e UrlRoot no arquivo RSReportServer.config para incluir o nome do servidor virtual na URL do servidor de relatório.

Configurar a propriedade Hostname quando estiver a utilizar reservas de URL coringa no seu ambiente de relatórios. Quando você especifica a propriedade Hostname como o nome do servidor virtual do servidor NLB, o tráfego de rede para o ambiente de relatório é direcionado para o servidor NLB. Em seguida, o NLB distribui solicitações entre os nós do servidor de relatório.

Além disso, configure a propriedade UrlRoot para que os links de relatório funcionem em relatórios exportados para relatórios estáticos, como em formato Excel ou PDF, ou em relatórios gerados por assinaturas, como assinaturas de email.

Se você integrar o Reporting Services ao Windows SharePoint Services 3.0 ou ao Office SharePoint Server 2007 ou hospedar seus relatórios em um aplicativo Web personalizado, talvez seja necessário configurar apenas a propriedade UrlRoot. Nesse caso, configure a propriedade UrlRoot para ser a URL do site ou aplicativo Web do SharePoint. Essa configuração direciona o tráfego de rede para o ambiente de relatório para o aplicativo que manipula os relatórios, em vez de para o servidor de relatório ou cluster NLB.

Não modifique ReportServerUrl. Se você modificar essa URL, introduzirá uma viagem de ida e volta extra pelo servidor virtual cada vez que uma solicitação interna for tratada. Para obter mais informações, consulte URLs em arquivos de configuração (Gerenciador de Configuração do Servidor de Relatórios). Para obter mais informações sobre como editar o arquivo de configuração, consulte Modificar um arquivo de configuração do Reporting Services (RSreportserver.config).

  1. Abra RSReportServer.config em um editor de texto.

  2. Localize a seção <Service> e adicione as seguintes informações ao arquivo de configuração, substituindo o valor Hostname pelo nome do servidor virtual para seu servidor NLB:

    <Hostname>virtual_server</Hostname>  
    
  3. Encontre UrlRoot. O elemento não é especificado no arquivo de configuração, mas o valor padrão usado é uma URL neste formato: https:// ou https://<computername>/<reportserver>, onde <reportserver> é o nome do diretório virtual do serviço Web Servidor de Relatórios.

  4. Digite um valor para UrlRoot que inclua o nome virtual do cluster neste formato: https:// ou https://<virtual_server>/<reportserver>.

  5. Salve o arquivo.

  6. Repita essas etapas em cada arquivo de RSReportServer.config para cada servidor de relatório na implantação em expansão.

Verificar o acesso ao servidor de relatório

Verifique se você pode acessar a implantação em expansão por meio do nome do servidor virtual (por exemplo, https://MyVirtualServerName/reportserver e https://MyVirtualServerName/reports).

Você pode verificar qual nó realmente processa relatórios examinando os arquivos de log do servidor de relatório ou verificando o log de execução RS (a tabela de log de execução contém uma coluna chamada InstanceName que mostra qual instância processou uma solicitação específica). Para obter mais informações, consulte os arquivos de log e fontes dos Serviços de Relatórios .

Se você não conseguir se conectar ao servidor de relatório, verifique o NLB. Verifique se as solicitações são enviadas ao servidor de relatório e exiba o log HTTP do servidor de relatório para garantir que o servidor esteja recebendo as solicitações.

Solução de problemas de solicitações com falha

Se as solicitações não chegarem às instâncias do servidor de relatório, verifique o arquivo de RSReportServer.config para verificar se o nome do servidor virtual está especificado como o nome do host para as URLs do servidor de relatório:

  1. Abra o arquivo RSReportServer.config em um editor de texto.

  2. Encontre <Hostname>, <ReportServerUrl>e <UrlRoot>e verifique o nome do host para cada configuração. Se o valor não for o nome de host esperado, substitua-o pelo nome de host correto.

Se você iniciar a ferramenta Configuração do Reporting Services depois de fazer essas alterações, a ferramenta poderá alterar as configurações de <ReportServerUrl> para o valor padrão. Mantenha sempre uma cópia de backup dos arquivos de configuração para o caso de precisar substituí-los pela versão que contém as configurações que você deseja usar.