StoreFront

Citrix Analytics Service

Si es cliente de Monitor y tiene una implementación local de StoreFront, puede configurar StoreFront para que los datos se envíen a Citrix Analytics Service en Monitor. Al configurarse, la aplicación Citrix Workspace y los exploradores web envían eventos de usuario a Citrix Analytics para su procesamiento. Citrix Analytics recoge y agrupa métricas de usuarios, aplicaciones, dispositivos de punto final, redes y datos para proporcionar información completa sobre el comportamiento de los usuarios. Para obtener información sobre esta función en la documentación de Citrix Analytics, consulte Incorporar sitios de Virtual Apps and Desktops mediante StoreFront.

Para configurar este comportamiento:

  • Descargue un archivo de configuración de Citrix Analytics.
  • Importe datos de Citrix Analytics en la implementación local de StoreFront mediante PowerShell.

Una vez configurado StoreFront, la aplicación Citrix Workspace puede enviar datos desde almacenes StoreFront cuando Citrix Analytics Service lo solicite.

Importante:

La implementación de StoreFront debe poder contactar con las siguientes direcciones en el puerto 443 para que esta función funcione correctamente y consuma los servicios de Monitor:

  • https://*.cloud.com
  • https://*.citrixdata.com

Descargue el archivo de configuración de Citrix Analytics

Importante:

Se requiere un archivo de configuración que contiene información confidencial para la configuración inicial. Mantenga el archivo seguro después de la descarga. No comparta este archivo con nadie fuera de su organización. Después de la configuración, puede eliminar este archivo. Si necesita volver a aplicar la configuración en otro equipo, puede descargar el archivo de nuevo desde la consola de administración de Citrix Analytics Service.

  1. Inicie sesión en Monitor (https://citrix.cloud.com/) con una cuenta de administrador.
  2. Seleccione un cliente de Monitor.
  3. Para abrir la consola de administración de servicios de Citrix Analytics, haga clic en Administrar.

    Icono de Analytics

  4. En la consola de administración de servicios de Citrix Analytics, seleccione Settings > Data Sources.
  5. En la tarjeta Virtual Apps and Desktops, seleccione el icono de menú () y, luego, Connect StoreFront deployment.
  6. En la página Connect StoreFront Deployment, seleccione Download File para descargar el archivo StoreFrontConfigurationFile.json.

Archivo de configuración de ejemplo

{
  "customerId": "<yourcloudcustomer>",
  "enablementService": " https://api.analytics.cloud.com /casvc/<yourcloudcustomer>/ctxana/v1/cas/<yourcloudcustomer>/XenDesktop/<deviceid>/dsconfigdata",
  "cwsServiceKey": "PFJTPn…….. T4=",
  "enablementServiceStatus": " https://api.analytics.cloud.com /casvc/<yourcloudcustomer>/ctxana/v1/cas/storefront/config",
  "instanceId": "d98f21d0-56e0-11e9-ba52-5136d90862fe",
  "name": "CASSingleTenant"
}
<!--NeedCopy-->

donde

customerId es el identificador único del cliente actual de Monitor.

cwsServiceKey es una clave única que identifica la cuenta de cliente actual de Monitor.

instanceID es un ID generado que se utiliza para firmar (proteger) las solicitudes realizadas desde la aplicación Citrix Workspace para Citrix Analytics. Si registra varios servidores o grupos de servidores de StoreFront con Monitor, cada uno tiene un instanceID único.

Importar datos de Citrix Analytics en su implementación de StoreFront

  1. Copie el archivo StoreFrontConfigurationFile.json en una carpeta adecuada del servidor local de StoreFront (o en un servidor de un grupo de servidores de StoreFront). Los siguientes comandos dan por supuesto que el archivo se guarda en el escritorio.
  2. Abra PowerShell ISE y seleccione Ejecutar como administrador.
  3. Ejecute los comandos siguientes:

    Import-STFCasConfiguration -Path "$Env:UserProfile\Desktop\StoreFrontConfigurationFile.json"
    Get-STFCasConfiguration
    <!--NeedCopy-->
    
  4. Este comando devuelve una copia de los datos importados y los muestra en la consola de PowerShell.

    get stf cas configuration

Nota:

Los servidores locales de StoreFront, que están instalados en Windows Server 2012 R2, pueden requerir que los componentes de software del runtime de C++ se instalen manualmente para que puedan registrarse con el servicio CAS. Si StoreFront se instala durante la instalación de Citrix Virtual Apps and Desktops, este paso no es necesario porque el metainstalador de CVAD ya instala los componentes del runtime de C++. Si StoreFront se instala solamente con el metainstalador CitrixStoreFront-x64.exe y sin el runtime de C++, es posible que no se registre con Monitor después de importar el archivo de configuración del servicio CAS.

Propagar datos de Citrix Analytics en un grupo de servidores de StoreFront

Si realiza estas acciones en un grupo de servidores de StoreFront, debe propagar los datos importados de Citrix Analytics en todos los miembros del grupo de servidores. Este paso no es necesario en implementaciones con un solo servidor de StoreFront.

Para propagar los datos, utilice uno de los siguientes métodos:

  • Utilice la consola de administración de StoreFront.
  • Utilice el cmdlet de PowerShell Publish-STFServerGroupConfiguration.

Comprobar el ID del grupo de servidores de StoreFront

Para comprobar si la implementación se ha registrado correctamente en Citrix Analytics Service, puede usar PowerShell para detectar ServerGroupID en la implementación.

  1. Inicie sesión en el servidor de StoreFront o en un servidor de StoreFront del grupo de servidores.
  2. Abra PowerShell ISE y seleccione Ejecutar como administrador.
  3. Ejecute los comandos siguientes:

    $WebConfigPath = "C:\Program Files\Citrix\Receiver StoreFront\Framework\FrameworkData\Framework.xml"
    $XMLObject = (Get-Content $WebConfigPath) -as [Xml]
    $XMLObject.framework.properties.property
    <!--NeedCopy-->
    

    Por ejemplo, estos comandos generan resultados como los siguientes:

    name value
    ---- -----
    ClusterId 8b8ff5c8-44ba-46e4-87f0-2df8cff31432
    HostBaseUrl https://storefront.example.com/
    SelectedIISWebSiteId 1
    AdminConsoleOperationMode Full
    <!--NeedCopy-->
    

Dejar de enviar datos a Citrix Analytics desde StoreFront

  1. Abra PowerShell ISE y seleccione Ejecutar como administrador.
  2. Ejecute los comandos siguientes:

    Remove-STFCasConfiguration

    Get-STFCasConfiguration

    Get-STFCasConfiguration no devuelve nada si los datos importados anteriormente de Citrix Analytics se han eliminado correctamente.

  3. Si realiza estas acciones en un grupo de servidores de StoreFront, propague el cambio y elimine los datos importados de Citrix Analytics de todos los miembros del grupo de servidores. En un servidor del grupo de servidores, ejecute el siguiente comando:

    Publish-STFServerGroupConfiguration

  4. En cualquier otro miembro del grupo de servidores, ejecute el siguiente comando para confirmar que la configuración de Citrix Analytics se ha eliminado correctamente de todos los servidores del grupo:

    Get-STFCasConfiguration

  5. Inicie sesión en Monitor (https://citrix.cloud.com/) con una cuenta de administrador.
  6. Seleccione un cliente de Monitor.
  7. Para abrir la consola de administración de servicios de Citrix Analytics, haga clic en Administrar.
  8. En la consola de administración de servicios de Citrix Analytics, seleccione Settings > Data Sources.
  9. En la tarjeta Virtual Apps and Desktops, seleccione el recuento de implementaciones de StoreFront.

    grupos de servidores de StoreFront

  10. Para identificar la implementación de StoreFront que quiere eliminar, haga referencia a la URL base de su host y a ServerGroupID.
  11. En el menú (), seleccione Remove StoreFront deployment from Analytics.

    grupos de servidores de StoreFront

Nota:

Si quita la configuración del servidor, pero no de Citrix Analytics, la entrada de la implementación de StoreFront permanece en Citrix Analytics, pero no recibe datos de StoreFront. Si quita la configuración solamente de Citrix Analytics, la entrada de la implementación de StoreFront se vuelve a agregar en el siguiente reciclaje del grupo de aplicaciones (tiene lugar al restablecer IIS o automáticamente cada 24 horas).

Configurar StoreFront para que use un proxy web para contactar con Monitor y registrarse con Citrix Analytics

Si StoreFront se coloca en un servidor web host detrás de un proxy web, ocurrirá un error en el registro con Citrix Analytics. Si los administradores de StoreFront utilizan un proxy HTTP en su implementación de Citrix, el tráfico de StoreFront asociado a Internet debe pasar a través del proxy web antes de que llegue a Citrix Analytics en la nube. StoreFront no utiliza automáticamente la configuración de proxy del SO de alojamiento; se requiere una configuración adicional para indicar al almacén que envíe el tráfico saliente a través del proxy web. Puede establecer una configuración de proxy <system.net> agregando una nueva sección al archivo web.config del almacén. Haga esto para cada almacén del servidor de StoreFront que se utilice para enviar datos a Citrix Analytics.

Método 1: Establecer la configuración del proxy del almacén a través de PowerShell para uno o varios almacenes (recomendado)

La ejecución del script de PowerShell Config-StoreProxy.ps1 automatiza este proceso para uno o varios almacenes e inserta automáticamente XML válido para configurar <system.net>. El script también realiza una copia de seguridad del archivo web.config del almacén en el escritorio del usuario actual, para permitir restaurar el archivo web.config no modificado si es necesario.

Nota:

Ejecutar el script más de una vez puede dar lugar a que se agreguen varias copias del código XML de <system.net. Cada almacén solo debe tener una entrada para <system.net>. Agregar varias copias impide que la configuración del proxy de almacén funcione correctamente.

  1. Abra PowerShell ISE y seleccione Ejecutar como administrador.

  2. Configure $Stores = @("Store","Store2") para que incluya los almacenes que quiere configurar con un proxy web.

  3. Especifique:

    • Una dirección IP
    • O un nombre de dominio completo (FQDN) para el proxy web
  4. Ejecute el siguiente comando de PowerShell:

    $Stores = @("Store","Store2")
    $ProxyIP = "10.0.0.1"
    $ProxyFQDN = "proxyserver.example.com"
    $ProxyPort = 8888
    
    # Set this for every Store using Stores array
    function Set-StoreProxyServer() # Tested with both IP and FQDN
    {
        [CmdletBinding()]
        param([Parameter(Mandatory=$true,ParameterSetName="ProxyIP")][Parameter(Mandatory=$true,ParameterSetName="ProxyFQDN")][array]$Stores,
            [Parameter(Mandatory=$true,ParameterSetName="ProxyIP")][string]$ProxyIP,
            [Parameter(Mandatory=$true,ParameterSetName="ProxyFQDN")][string]$ProxyFQDN,
            [Parameter(Mandatory=$true,ParameterSetName="ProxyIP")][Parameter(Mandatory=$true,ParameterSetName="ProxyFQDN")][int]$ProxyPort)
    
        foreach($Store in $Stores)
        {
            Write-Host "Backing up the Store web.config file for store $Store before making changes..." -ForegroundColor "Yellow"
            Write-Host "`n"
    
            if(!(Test-Path "$env:UserProfile\desktop$Store"))
            {
                Write-Host "Creating $env:UserProfile\desktop$Store\ directory for backup..." -ForegroundColor "Yellow"
                New-Item -Path "$env:UserProfile\desktop$Store" -ItemType "Directory" | Out-Null
                Write-Host "`n"
            }
    
            Write-Host "Copying c:\inetpub\wwwroot\Citrix$Store\web.config to $env:UserProfile\desktop$Store..." -ForegroundColor "Yellow"
            Copy-Item -Path "c:\inetpub\wwwroot\Citrix$Store\web.config" -Destination "$env:UserProfile\desktop$Store" -Force | Out-Null
    
            if(Test-Path "$env:UserProfile\desktop$Store\web.config")
            {
                Write-Host "$env:UserProfile\desktop$Store\web.config file backed up" -ForegroundColor "Green"
            }
            else
            {
                Write-Host "$env:UserProfile\desktop$Store\web.config file NOT found!" -ForegroundColor "Red"
            }
            Write-Host "`n"
    
            Write-Host "Setting the proxy server to $ProxyAddress for Store $Store..." -ForegroundColor "Yellow"
            Write-Host "`n"
    
            $StoreConfigPath = "c:\inetpub\wwwroot\Citrix$Store\web.config"
            $XMLObject = (Get-Content $StoreConfigPath) -as [Xml]
    
            if([string]::IsNullOrEmpty($ProxyFQDN))
            {
                $ProxyServer = ("HTTP://$ProxyIP"+":"+$ProxyPort)
            }
            else
            {
                $ProxyServer = ("HTTP://$ProxyFQDN"+":"+$ProxyPort)
            }
    
            $XMLObject = (Get-Content $StoreConfigPath) -as [Xml]
    
            # Create 3 elements
            $SystemNet = $XMLObject.CreateNode("element","system.net","")
            $DefaultProxy = $XMLObject.CreateNode("element","defaultProxy","")
            $Proxy = $XMLObject.CreateNode("element","proxy","")
            $Proxy.SetAttribute("proxyaddress","$ProxyServer")
            $Proxy.SetAttribute("bypassonlocal","true")
    
            # Move back up the XML tree appending new child items in reverse order
            $DefaultProxy.AppendChild($Proxy)
            $SystemNet.AppendChild($DefaultProxy)
            $XMLObject.configuration.AppendChild($SystemNet)
    
            # Save the modified XML document to disk
            $XMLObject.Save($StoreConfigPath)
    
            Write-Host "Getting the proxy configuration for c:\inetpub\wwwroot\Citrix$Store..." -ForegroundColor "Yellow"
            $XMLObject = (Get-Content $StoreConfigPath) -as [Xml]
            $ConfiguredProxyServer = $XMLObject.configuration.'system.net'.defaultProxy.proxy.proxyaddress | Out-Null
            Write-Host ("Configured proxy server for Store $Store"+": "+ $ConfiguredProxyServer) -ForegroundColor "Green"
            Write-Host "`n"
        }
        Write-Host "Restarting IIS..." -ForegroundColor "Yellow"
        IISReset /RESTART
    }
    
    Set-StoreProxyServer -Stores $Stores -ProxyFQDN $ProxyFQDN -ProxyPort $ProxyPort
    # OR
    Set-StoreProxyServer -Stores $Stores -ProxyIP $ProxyIP -ProxyPort $ProxyPort
    <!--NeedCopy-->
    
  5. Compruebe que C:\inetpub\wwwroot\Citrix\web.config contiene ahora una nueva sección `` al final del archivo web.config.

            </dependentAssembly>
        </assemblyBinding>
    </runtime>
    <system.net>
        <defaultProxy>
        <proxy proxyaddress="HTTP://proxyserver.example.com:8888" bypassonlocal="true" />
        </defaultProxy>
    </system.net>
    </configuration>
    <!--NeedCopy-->
    
  6. Importe los datos de Citrix Analytics como se describe en Importar datos de Citrix Analytics en su implementación de StoreFront.

Método 2: Agregar manualmente una sección <system.net> al archivo web.config del almacén

Esto se debe hacer para cada almacén del servidor de StoreFront que se utilice para enviar datos a Citrix Analytics.

  1. Haga una copia de seguridad del archivo web.config del almacén y cópielo en otra ubicación, fuera de C:\inetpub\wwwroot\Citrix\web.config.

  2. Modifique el siguiente XML con su configuración de proxy mediante una combinación de FQDN y puerto o mediante una combinación de IP y puerto.

    Por ejemplo, mediante una combinación de FQDN y puerto, utilice el siguiente elemento <system.net>:

    <system.net>
        <defaultProxy>
        <proxy proxyaddress="HTTP://proxyserver.example.com:8888" bypassonlocal="true" />
        </defaultProxy>
    </system.net>
    <!--NeedCopy-->
    

    Por ejemplo, mediante una combinación de IP y puerto, utilice el siguiente elemento <system.net>:

    <system.net>
        <defaultProxy>
        <proxy proxyaddress="HTTP://10.0.0.1:8888" bypassonlocal="true" />
        </defaultProxy>
    </system.net>
    <!--NeedCopy-->
    
  3. Al final del archivo web.config del almacén, inserte el elemento <system.net> apropiado donde se indica aquí:

    <runtime>
    <gcServer enabled="true" />
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
        <assemblyIdentity name="System.Web.MVC" publicKeyToken="31BF3856AD364E35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
        </dependentAssembly>
        <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
        </dependentAssembly>
    </assemblyBinding>
    </runtime>
    
    Insert the <system.net> element here
    
    </configuration>
    <!--NeedCopy-->
    
  4. Importe los datos de Citrix Analytics como se describe en Importar datos de Citrix Analytics en su implementación de StoreFront.