StoreFront

Análisis de la aplicación Citrix Workspace

Si tiene Citrix Analytics, puede configurar StoreFront para que la aplicación Citrix Workspace envíe eventos de usuario a Citrix Analytics para su procesamiento. Citrix Analytics agrega métricas sobre usuarios, aplicaciones, puntos finales, redes y datos para proporcionar información completa sobre el comportamiento del usuario. Para obtener más información sobre esta función en la documentación de Citrix Analytics, consulte (/es-es/citrix-analytics/data-sources/virtual-apps-desktops-onboarding#onboard-citrix-virtual-apps-and-desktops-on-premises-sites-using-storefront).

Para configurar este comportamiento:

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

Una vez configurado StoreFront, la aplicación Citrix Workspace puede enviar datos de los almacenes de StoreFront cuando el servicio Citrix Analytics lo solicite.

Importante:

Su implementación de StoreFront debe poder ponerse en contacto con los servicios de API de Citrix. Consulte (/es-es/citrix-analytics/technical-security-overview.html#network-requirements).

Descargar el archivo de configuración de Citrix Analytics

Importante:

Se requiere un archivo de configuración que contenga información confidencial para la configuración inicial. Mantenga el archivo seguro después de descargarlo. 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 otra máquina, puede descargar el archivo de nuevo desde la consola de administración del servicio Citrix Analytics.

  1. Inicie sesión para supervisar (https://citrix.cloud.com/) con una cuenta de administrador.
  2. Seleccione un cliente de supervisión.
  3. Abra la consola de administración del servicio Citrix Analytics haciendo clic en Administrar.

    Mosaico de Analytics

  4. En la consola de administración del servicio Citrix Analytics, seleccione Configuración > Orígenes de datos.
  5. En la tarjeta Virtual App and Desktops, seleccione el icono de menú () y, a continuación, seleccione Conectar implementación de StoreFront.
  6. En la página Conectar implementación de StoreFront, seleccione Descargar archivo 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 ID único del cliente de supervisión actual.

cwsServiceKey es una clave única que identifica la cuenta de cliente de supervisión actual.

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

Importar datos de Citrix Analytics a su implementación de StoreFront™

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

    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.

    obtener configuración de STF CAS

Nota:

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

Propagar los datos de Citrix Analytics a un grupo de servidores StoreFront

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

Para propagar los datos, utilice uno de los siguientes enfoques:

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

Comprobar el ID del grupo de servidores StoreFront

Para comprobar si su implementación se ha registrado correctamente en el servicio Citrix Analytics, puede usar PowerShell para descubrir el ServerGroupID de su implementación.

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

    $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 una salida similar a la siguiente:

    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 siguientes comandos:

    Remove-STFCasConfiguration

    Get-STFCasConfiguration

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

  3. Si está realizando estas acciones en un grupo de servidores de StoreFront, propague el cambio y elimine los datos de Citrix Analytics importados 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 el monitor (https://citrix.cloud.com/) con una cuenta de administrador.
  6. Seleccione un cliente de monitorización.
  7. Abra la consola de administración del servicio Citrix Analytics haciendo clic en Administrar.
  8. En la consola de administración del servicio Citrix Analytics, seleccione Configuración > Orígenes de datos.
  9. En la tarjeta de Virtual Apps and Desktops, seleccione el recuento de implementaciones de StoreFront:

    grupos de servidores de StoreFront

  10. Identifique la implementación de StoreFront que desea eliminar consultando su URL base de host y ServerGroupID.
  11. En el menú (), seleccione Eliminar implementación de StoreFront de Analytics.

    grupos de servidores de StoreFront

Nota:

Si elimina la configuración del lado del servidor, pero no de Citrix Analytics, la entrada de implementación de StoreFront permanece en Citrix Analytics, pero no recibe datos de StoreFront. Si elimina la configuración solo de Citrix Analytics, la entrada de implementación de StoreFront se vuelve a agregar en el siguiente reciclaje del grupo de aplicaciones (realizado en un restablecimiento de IIS o automáticamente cada 24 horas).

Configurar StoreFront para usar un proxy web para contactar, supervisar y registrarse en Citrix Analytics

Si StoreFront se encuentra en un servidor web host detrás de un proxy web, el registro en Citrix Analytics fallará. Si los administradores de StoreFront utilizan un proxy HTTP en su implementación de Citrix, el tráfico de StoreFront destinado a Internet debe pasar por el proxy web antes de llegar a Citrix Analytics en la nube. StoreFront no utiliza automáticamente la configuración de proxy del sistema operativo host; se requiere una configuración adicional para indicar a la tienda que envíe el tráfico saliente a través del proxy web. Puede configurar una configuración de proxy <system.net> agregando una nueva sección al archivo web.config de la tienda. Haga esto para cada tienda en el servidor de StoreFront que se utilizará para enviar datos a Citrix Analytics.

Método 1: Configurar el proxy de la tienda mediante PowerShell para una o varias tiendas (recomendado)

La ejecución del script de PowerShell Config-StoreProxy.ps1 automatiza este proceso para una o varias tiendas e inserta automáticamente XML válido para configurar <system.net>. El script también hace una copia de seguridad del archivo web.config de la tienda en el escritorio del usuario actual, lo que permite restaurar el archivo web.config sin modificar si es necesario.

Nota:

Ejecutar el script más de una vez puede resultar en la adición de varias copias del XML <system.net>. Cada tienda solo debe tener una única entrada para <system.net>. La adición de varias copias impide que la configuración del proxy de la tienda funcione correctamente.

  1. Abra PowerShell ISE y seleccione Ejecutar como administrador.

  2. Establezca $Stores = @("Store","Store2") para incluir las tiendas que desea configurar con un proxy web.

  3. Especifique:

    • una dirección IP, O
    • un FQDN para el proxy web
  4. Ejecute el siguiente 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\<Store>\web.config ahora contiene una sección <system.net> al final del archivo.

            </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 tal como se describe en Importar datos de Citrix Analytics en su implementación de StoreFront.

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

Esto debe hacerse para cada almacén en el servidor de StoreFront que se utilizará 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\<Store>\web.config.

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

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

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

    Por ejemplo, utilizando una combinación de IP y puerto, use 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 tal como se describe en Importar datos de Citrix Analytics en su implementación de StoreFront.