Session Recording

Equilibrio de carga

La Grabación de sesiones admite el equilibrio de carga en todos los Servidores de grabación de sesiones. Para utilizar esta función, configure el equilibrio de carga en Citrix ADC para que los Servidores de grabación de sesiones puedan llevar a cabo el equilibro de carga y la conmutación automática por error.

Algunas configuraciones de equilibrio de carga se pueden sincronizar entre todos los Servidores de grabación de sesiones.

Nota:

Esta función requiere la versión 7.16 o posterior del Servidor de grabación de sesiones y del Agente de grabación de sesiones.

Cambios en la Grabación de sesiones para admitir el equilibrio de carga:

  • Todos los Servidores de grabación de sesiones comparten una carpeta para almacenar los archivos de grabación.
  • Todos los Servidores de grabación de sesiones comparten una Base de datos de grabación de sesiones.
  • (Recomendado) Instale solamente una Consola de directivas de grabación de sesiones, y todos los Servidores de grabación de sesiones podrán compartirla.

Configurar el equilibrio de carga

Para usar esta función, realice los siguientes pasos en Citrix ADC y en los diversos componentes de la Grabación de sesiones:

Configurar el equilibrio de carga (la parte de Citrix ADC)

Configurar servidores de equilibrio de carga

En Citrix ADC, agregue los Servidores de grabación de sesiones a los servidores de equilibrio de carga.

Configurar servicios de equilibrio de carga

  1. Agregue un servicio de equilibrio de carga para cada protocolo necesario en cada uno de los Servidores de grabación de sesiones.
  2. (Recomendado.) Seleccione el monitor de protocolo correspondiente para enlazar cada monitor de servicio.

Configurar servidores virtuales de equilibrio de carga

  1. Cree servidores virtuales con la misma dirección IP virtual de Citrix ADC, basada en los protocolos necesarios, y enlace esos servidores virtuales a los servicios pertinentes de equilibrio de carga.
  2. Configure la persistencia en cada servidor virtual.
  3. (Recomendado.) Seleccione LEASTBANDWITH o LEASTPACKETS como el método de equilibrio de carga, en lugar del método predeterminado (LEASTCONNECTION).
  4. Cree un certificado para activar el servidor virtual HTTPS.

Configurar el equilibrio de carga (la parte de Grabación de sesiones)

En cada servidor donde instaló el Servidor de grabación de sesiones, haga lo siguiente

  1. (Recomendado) Escriba el mismo nombre de la Base de datos de grabación de sesiones durante la instalación del Servidor de grabación de sesiones.
  2. Si elige la función Registro de administrador, Citrix recomienda que especifique el mismo nombre de base de datos de Registro de administrador cuando instale cada Servidor de grabación de sesiones.
  3. Después de compartir el permiso de lectura y escritura en la carpeta de almacenamiento de archivos con todas las cuentas de equipo de Servidor de grabación de sesiones, realice cambios para utilizar la carpeta de almacenamiento de archivos como carpeta compartida en Propiedades del Servidor de grabación de sesiones. Para obtener más información, consulte Especificar dónde se almacenan las grabaciones.
  4. Agregue un valor al Registro del Servidor de grabación de sesiones en HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\Server.
    Nombre del valor: EnableLB
    Datos del valor: 1 (DWORD, lo que significa “habilitado”)
  5. Si elige el protocolo HTTP o HTTPS para la cola de mensajes del Administrador de almacenamiento de grabación de sesiones, cree un registro de host para la dirección IP virtual de Citrix ADC, agregue redirecciones en C:\Windows\System32\msmq\Mapping\sample_map y reinicie el servicio Message Queuing.

    La redirección es similar a:

    <redirections xmlns="msmq-queue-redirections.xml">
            <redirection>
                        <from>http://<ADCHost>\*/msmq/private$/CitrixSmAudData</from>
                        <to>http://<LocalFqdn>/msmq/private$/CitrixSmAudData</to>
            </redirection>
            <redirection>
                        <from>https://<ADCHost>\*/msmq/private$/CitrixSmAudData</from>
                        <to>https://<LocalFqdn>/msmq/private$/CitrixSmAudData</to>
            </redirection>
    </redirections>
    <!--NeedCopy-->
    

    Donde <ADCHost> es el FQDN creado de la dirección IP virtual de Citrix ADC y <LocalFqdn> es el nombre FQDN del host local.

  6. (Recomendado) Después de configurar el Registro de Windows de un Servidor de grabación de sesiones, puede usar el siguiente script para exportar sus configuraciones e importarlas en los Registros de Windows de los demás Servidores de grabación de sesiones. También puede usar el script para agregar la asignación de la redirección de la cola de mensajes.

    # Copyright (c) Citrix Systems, Inc.  All rights reserved.
    <#
           .SYNOPSIS
    
           This script is used to sync configurations between Session Recording Servers for load balancing deployment.
    
           .DESCRIPTION
    
        Will do below kinds of actions:
    
        1. Export values from the registry key: HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\Server to SrServerConfig.reg;
    
        2. Import from SrServerConfig.reg and overwrite values in registry key: HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\Server;
    
        3. Add redirection mapping sr_lb_map.xml in %windir%\System32\msmq\mapping;
    
           3.1 sr_lb_map.xml will consist redirection rule for both http and https, and not port specific.
    
           .PARAMETER Action
    
           Export - to export the registry configurations of Session Recording Server to a registry file
    
           Import - to import the registry configurations of Session Recording Server from a registry file
    
           AddRedirection - to add HTTP/HTTPS redirection for MSMQ
    
           .PARAMETER ADCHost
    
           The host name or FQDN of Citrix ADC.
    
        .OUTPUTS
    
        Exported configuration file (SrServerConfig.reg) or backup configuration file (SrServerConfig.reg.bk)
    
           .EXAMPLE
    
           SrServerConfigurationSync.ps1 -Action Export
    
           .EXAMPLE
    
           SrServerConfigurationSync.ps1 -Action Import
    
           .EXAMPLE
    
        SrServerConfigurationSync.ps1 -Action AddRedirection -ADCHost netscaler.xd.local
    
           .EXAMPLE
    
        SrServerConfigurationSync.ps1 -Action Import,AddRedirection -ADCHost netscaler.xd.local
    
           .EXAMPLE
    
        SrServerConfigurationSync.ps1 -Action Import,Export,AddRedirection -ADCHost netscaler.xd.local
    
    #>
    
    ######################
    
    # Parameters section #
    
    ######################
    
    Param(
    
           [Parameter(Mandatory = $true)]
    
           [ValidateSet("Export", "Import", "AddRedirection")]
    
           [string[]] $Action,
    
           [Parameter(Mandatory = $false)]
    
           [string] $ADCHost
    
    )
    
    #############################
    
    # Default variables section #
    
    #############################
    
    $SR_SERVER_REG_PATH   = "HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\Server"
    
    $REG_FILE_PATH        = "SrServerConfig.reg"
    
    $REG_BACKUP_FILE_PATH = "SrServerConfig.reg.bk"
    
    $TEMP_REDIRECT_XML    = "sr_lb_map.xml"
    
    $REDIRECT_XML_PATH    = "$env:windir\System32\msmq\mapping"
    
    ############# MAIN ###############
    
    Try
    
    {
    
           If ($Action -Contains "export") {
    
                  Write-Host "Exporting current Session Recording Server Configuration to registry file: $REG_FILE_PATH ..." -ForegroundColor Green
    
                  & REG EXPORT $SR_SERVER_REG_PATH $REG_FILE_PATH /Y
    
                  Write-Host "Finish exporting." -ForegroundColor Green
    
           }
    
           If ($Action -Contains "import")
    
           {
    
                  If (!(Test-Path $REG_FILE_PATH))
    
                  {
    
                         Write-Host "No $REG_FILE_PATH founded. Aborted." -ForegroundColor Yellow
    
                         Exit 0
    
                  }
    
                  # Back up previous registry key
    
                  Write-Host "Backing up Session Recording Server Configuration to Registry file: $REG_BACKUP_FILE_PATH ..." -ForegroundColor Green
    
                  & REG EXPORT $SR_SERVER_REG_PATH $REG_BACKUP_FILE_PATH /Y
    
                  Write-Host "Importing Session Recording Server Configuration from Registry file: $REG_FILE_PATH ..." -ForegroundColor Green
    
                  & REG IMPORT $REG_FILE_PATH 2>$null
    
                  Write-Host "Finish importing." -ForegroundColor Green
    
           }
    
           If ($Action -Contains "addredirection")
    
           {
    
                  # Check if Citrix ADC host is given; If not, exit normally with warning.
    
                  If(([String]::IsNullOrEmpty($ADCHost)))
    
                  {
    
                         Write-Host "No Citrix ADC host name is specified. Finish adding redirection." -ForegroundColor Yellow
    
                         Exit 0
    
                  }
    
                  If (!(Test-Path $TEMP_REDIRECT_XML))
    
                  {
    
                         New-Item $TEMP_REDIRECT_XML -Type file
    
                  }
    
                  $SysInfo = Get-WmiObject -Class Win32_ComputerSystem
    
                  $LocalFqdn = "$($SysInfo.Name).$($SysInfo.Domain)"
    
                  $RedirectXmlContent =
    
    @"
    
    <redirections xmlns="msmq-queue-redirections.xml">
    
           <redirection>
    
                  <from>http://$ADCHost*/msmq/private$/CitrixSmAudData</from>
    
                  <to>http://$LocalFqdn/msmq/private$/CitrixSmAudData</to>
    
           </redirection>
    
           <redirection>
    
                  <from>https://$ADCHost*/msmq/private$/CitrixSmAudData</from>
    
                  <to>https://$LocalFqdn/msmq/private$/CitrixSmAudData</to>
    
           </redirection>
    
    </redirections>
    
    "@
    
                  # Don't take care of encoding
    
                  $RedirectXmlContent | Out-File -FilePath $TEMP_REDIRECT_XML
    
                  Write-Host "Copying $TEMP_REDIRECT_XML to $REDIRECT_XML_PATH ..." -ForegroundColor Green
    
                  Copy-Item $TEMP_REDIRECT_XML -Destination $REDIRECT_XML_PATH
    
                  Write-Host "Restarting MSMQ service ..." -ForegroundColor Green
    
                  Restart-Service msmq -Force
    
                  Write-Host "Finish adding HTTP/HTTPS Redirection for MSMQ." -ForegroundColor Green
    
           }
    
           Exit 0
    
    }
    
    Catch
    
    {
    
           Write-Host "$_.Exception.Message" -ForegroundColor Red
    
           Exit 1
    
    }
    
    Finally
    
    {
    
           # Nothing to do
    
    }
    
    <!--NeedCopy-->
    

6a. Guarde el código de ejemplo anterior como un script de PowerShell; por ejemplo, SrServerConfigurationSync.ps1.

6b. En un Servidor de grabación de sesiones, después de configurar el valor del Registro EnableLB, inicie un símbolo del sistema como administrador y ejecute el comando powershell.exe -file SrServerConfigurationSync.ps1 –Action Export,AddRedirection –ADCHost <ADCHost>, donde <ADCHost> es el FQDN creado de la dirección IP virtual de Citrix ADC.

6c. Una vez ejecutado el script, se genera un archivo de Registro llamado SrServerConfig.reg y se agrega el archivo sr_lb_map.xml a la ruta C:\Windows\System32\msmq\Mapping.

6d. En otros Servidores de grabación de sesiones, copie el archivo SrServerConfig.reg generado en el paso anterior, abra una ventana del símbolo del sistema como administrador y ejecute el comando powershell.exe -file SrServerConfigurationSync.ps1 –Action Import,AddRedirection –ADCHost <ADCHost>, donde <ADCHost> es el nombre FQDN creado de la dirección IP virtual de Citrix ADC.

6e. Una vez ejecutado el script, el valor EnableLB se agrega a las claves del Registro de Windows de los demás Servidores de grabación de sesiones y se agrega el archivo sr_lb_map.xml a la ruta C:\Windows\System32\msmq\Mapping.

En la máquina donde instaló el Agente de grabación de sesiones, realice lo siguiente en las propiedades del Agente de grabación de sesiones

  • Si elige el protocolo HTTP o HTTPS para la cola de mensajes del Administrador de almacenamiento de grabación de sesiones, escriba el FQDN de la dirección IP virtual de Citrix ADC en el cuadro de texto Servidor de grabación de sesiones.
  • Si elige el protocolo TCP predeterminado para la cola de mensajes del Administrador de almacenamiento de grabación de sesiones, escriba la dirección IP virtual de Citrix ADC en el cuadro de texto Servidor de grabación de sesiones.

En la máquina donde instaló el Reproductor de grabación de sesiones, realice lo siguiente

Agregue la dirección IP virtual de Citrix ADC o su FQDN como el Servidor de grabación de sesiones conectado.

En el servidor SQL donde instaló la Base de datos de grabación de sesiones, realice lo siguiente

Agregue todas las cuentas de equipo del Servidor de grabación de sesiones a la Base de datos de grabación de sesiones compartida y concédales el permiso db_owner.

Equilibrio de carga