StoreFront

Citrix Analytics Service

Si vous êtes un client Monitor et que vous disposez d’un déploiement StoreFront local, vous pouvez configurer StoreFront de manière à ce que les données soient envoyées à Citrix Analytics Service dans Monitor. Une fois configurés, l’application Citrix Workspace et les navigateurs Web envoient les événements utilisateur à Citrix Analytics pour traitement. Citrix Analytics regroupe des mesures sur les utilisateurs, les applications, les points de terminaison, les réseaux et les données pour fournir des informations complètes sur le comportement des utilisateurs. Pour en savoir plus sur cette fonctionnalité dans la documentation de Citrix Analytics, consultez la section Intégrer des sites Virtual Apps and Desktops à l’aide de StoreFront.

Pour configurer ce comportement, procédez comme suit :

  • Téléchargez un fichier de configuration à partir de Citrix Analytics.
  • Importez les données Citrix Analytics dans votre déploiement StoreFront local à l’aide de PowerShell.

Une fois StoreFront configuré, l’application Citrix Workspace peut envoyer des données à partir des magasins StoreFront lorsque Citrix Analytics Service le demande.

Important :

Votre déploiement StoreFront doit pouvoir contacter les adresses suivantes sur le port 443 pour que cette fonctionnalité fonctionne correctement et utilise les services Monitor :

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

Télécharger le fichier de configuration à partir de Citrix Analytics

Important :

Un fichier de configuration contenant des informations sensibles est requis pour la configuration initiale. Conservez le fichier en toute sécurité après le téléchargement. Ne partagez pas ce fichier avec quiconque en dehors de votre organisation. Après la configuration, vous pouvez supprimer ce fichier. Si vous devez réappliquer la configuration sur une autre machine, vous pouvez télécharger à nouveau le fichier à partir de la console de gestion de Citrix Analytics Service.

  1. Connectez-vous à Monitor (https://citrix.cloud.com/) à l’aide d’un compte administrateur.
  2. Sélectionnez un client Monitor.
  3. Cliquez sur Gérer pour ouvrir la console de gestion de Citrix Analytics Service.

    Mosaïque Analytics

  4. Dans la console de gestion de Citrix Analytics Service, sélectionnez Settings > Data Sources.
  5. Dans la carte Virtual Apps and Desktops, sélectionnez l’icône de menu (), puis sélectionnez Connect StoreFront deployment.
  6. Sur la page Connect StoreFront Deployment, sélectionnez Download File pour télécharger le fichier StoreFrontConfigurationFile.json.

Exemple de fichier de configuration

{
  "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-->

customerId est l’ID unique du client Monitor actuel.

cwsServiceKey est une clé unique identifiant le compte client Monitor actuel.

instanceID est un ID généré utilisé pour signer des requêtes (sécurisées) effectuées à partir de l’application Citrix Workspace vers Citrix Analytics. Si vous enregistrez plusieurs serveurs StoreFront ou groupes de serveurs avec Monitor, chacun possède un ID instanceID unique.

Importer les données Citrix Analytics dans votre déploiement StoreFront

  1. Copiez le fichier StoreFrontConfigurationFile.json dans un dossier approprié sur le serveur StoreFront local (ou un serveur dans un groupe de serveurs StoreFront). Les commandes suivantes supposent que le fichier est enregistré sur le bureau.
  2. Ouvrez PowerShell ISE et sélectionnez Exécuter en tant qu’administrateur.
  3. Exécutez les commandes suivantes :

    Import-STFCasConfiguration -Path "$Env:UserProfile\Desktop\StoreFrontConfigurationFile.json"
    Get-STFCasConfiguration
    <!--NeedCopy-->
    
  4. Cette commande renvoie une copie des données importées et l’affiche dans la console PowerShell.

    get stf cas configuration

Remarque :

Les serveurs StoreFront locaux, qui sont installés sur Windows Server 2012 R2, peuvent nécessiter l’installation manuelle des composants logiciels C++ Runtime, afin qu’ils puissent s’inscrire auprès de CAS. Si StoreFront est installé lors de l’installation de Citrix Virtual Apps and Desktops, cette étape n’est pas requise, car le métainstaller CVAD installe déjà les composants C++ Runtime. Si StoreFront est installé en utilisant uniquement le métainstaller CitrixStoreFront-x64.exe sans C++ Runtime, il peut ne pas réussir à s’inscrire auprès de Monitor après l’importation du fichier de configuration CAS.

Propager les données Citrix Analytics vers un groupe de serveurs StoreFront

Si vous effectuez ces actions sur un groupe de serveurs StoreFront, vous devez propager les données Citrix Analytics importées à tous les membres du groupe de serveurs. Cette étape n’est pas nécessaire dans un déploiement de serveur StoreFront unique.

Pour propager les données, utilisez l’une des approches suivantes :

  • Utilisez la console de gestion StoreFront.
  • Utilisez l’applet de commande PowerShell Publish-STFServerGroupConfiguration.

Vérifier l’ID du groupe de serveurs StoreFront

Pour vérifier si votre déploiement s’est correctement enregistré auprès de Citrix Analytics Service, vous pouvez utiliser PowerShell pour afficher l’ID ServerGroupID de votre déploiement.

  1. Connectez-vous à votre serveur StoreFront ou à un serveur StoreFront dans le groupe de serveurs.
  2. Ouvrez PowerShell ISE et sélectionnez Exécuter en tant qu’administrateur.
  3. Exécutez les commandes suivantes :

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

    Par exemple, ces commandes génèrent une sortie comme suit :

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

Arrêter d’envoyer des données à Citrix Analytics à partir de StoreFront

  1. Ouvrez PowerShell ISE et sélectionnez Exécuter en tant qu’administrateur.
  2. Exécutez les commandes suivantes :

    Remove-STFCasConfiguration

    Get-STFCasConfiguration

    Get-STFCasConfiguration ne renvoie aucune valeur si les données Citrix Analytics précédemment importées ont été supprimées.

  3. Si vous effectuez ces actions sur un groupe de serveurs StoreFront, propagez la modification et supprimez les données Citrix Analytics importées de tous les membres du groupe de serveurs. Sur un serveur du groupe de serveurs, exécutez la commande suivante :

    Publish-STFServerGroupConfiguration

  4. Sur tous les autres membres du groupe de serveurs, exécutez la commande suivante pour confirmer que la configuration de Citrix Analytics a bien été supprimée de tous les serveurs du groupe :

    Get-STFCasConfiguration

  5. Connectez-vous à Monitor (https://citrix.cloud.com/) à l’aide d’un compte administrateur.
  6. Sélectionnez un client Monitor.
  7. Cliquez sur Gérer pour ouvrir la console de gestion de Citrix Analytics Service.
  8. Dans la console de gestion de Citrix Analytics Service, sélectionnez Settings > Data Sources.
  9. Dans la carte Virtual App and Desktops, sélectionnez le nombre de StoreFront deployment :

    Groupes de serveurs StoreFront

  10. Identifiez le déploiement StoreFront que vous souhaitez supprimer en faisant référence à son URL de base de l’hôte et son ID ServerGroupID.
  11. Dans le menu (), sélectionnez Remove StoreFront deployment from Analytics.

    Groupes de serveurs StoreFront

Remarque :

Si vous supprimez la configuration côté serveur, mais pas à partir de Citrix Analytics, l’entrée StoreFront deployment reste dans Citrix Analytics, mais ne reçoit aucune donnée de StoreFront. Si vous supprimez la configuration de Citrix Analytics uniquement, l’entrée StoreFront deployment est de nouveau ajoutée lors du prochain recyclage du pool d’applications (effectué lors d’une réinitialisation IIS ou automatiquement toutes les 24 heures).

Configurer StoreFront pour utiliser un proxy Web pour contacter Monitor et s’enregistrer auprès de Citrix Analytics

Si StoreFront est placé sur un serveur Web hôte derrière un proxy Web, l’enregistrement auprès de Citrix Analytics échoue. Si les administrateurs StoreFront utilisent un proxy HTTP dans leur déploiement Citrix, le trafic StoreFront lié à Internet doit passer par le proxy Web avant d’atteindre Citrix Analytics dans le cloud. StoreFront n’utilise pas automatiquement les paramètres proxy du système d’exploitation d’hébergement ; une configuration supplémentaire est requise pour demander au magasin d’envoyer le trafic sortant via le proxy Web. Vous pouvez définir une configuration de proxy <system.net> en ajoutant une nouvelle section au fichier web.config du magasin. Effectuez cette opération pour chaque magasin sur le serveur StoreFront qui est utilisé pour envoyer des données à Citrix Analytics.

Méthode 1 – Définir la configuration du proxy de magasin via Powershell pour un ou plusieurs magasins (recommandé)

L’exécution du script Powershell Config-StoreProxy.ps1 automatise ce processus pour un ou plusieurs magasins et insère automatiquement le fichier XML valide pour configurer <system.net>. Le script sauvegarde également le fichier web.config store sur le bureau de l’utilisateur actuel, ce qui permet de restaurer le fichier web.config non modifié si nécessaire.

Remarque :

L’exécution répétée du script peut entraîner l’ajout de plusieurs copies du fichier XML <system.net>. Chaque magasin ne devrait avoir qu’une seule entrée pour <system.net>. L’ajout de plusieurs copies empêche la configuration du proxy de magasin de fonctionner correctement.

  1. Ouvrez PowerShell ISE et sélectionnez Exécuter en tant qu’administrateur.

  2. Définissez $Stores = @("Store","Store2") pour inclure les magasins que vous souhaitez configurer avec un proxy Web.

  3. Spécifiez :

    • une adresse IP OU
    • un nom de domaine complet pour le proxy Web
  4. Exécutez les applets de commande PowerShell suivants :

    $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. Vérifiez que C:\inetpub\wwwroot\Citrix<magasin>\web.config contient maintenant une nouvelle section <system.net> à la fin du fichier web.config.

            </dependentAssembly>
        </assemblyBinding>
    </runtime>
    <system.net>
        <defaultProxy>
        <proxy proxyaddress="HTTP://proxyserver.example.com:8888" bypassonlocal="true" />
        </defaultProxy>
    </system.net>
    </configuration>
    <!--NeedCopy-->
    
  6. Importez les données de Citrix Analytics comme décrit dans la section Importer les données Citrix Analytics dans votre déploiement StoreFront.

Méthode 2 – Ajouter manuellement une section <system.net> au fichier web.config du magasin

Cette opération doit être effectuée pour chaque magasin sur le serveur StoreFront qui est utilisé pour envoyer des données à Citrix Analytics.

  1. Sauvegardez le fichier web.config du magasin et copiez-le vers un autre emplacement en dehors de C:\inetpub\wwwroot\Citrix<magasin>\web.config.

  2. Modifiez le fichier XML suivant avec vos paramètres de proxy à l’aide d’une combinaison Nom de domaine complet + Port ou d’une combinaison Adresse IP + Port.

    Par exemple, à l’aide d’une combinaison Nom de domaine complet + Port, utilisez l’élément <system.net> suivant :

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

    Par exemple, à l’aide d’une combinaison Adresse IP + Port, utilisez l’élément <system.net> suivant :

    <system.net>
        <defaultProxy>
        <proxy proxyaddress="HTTP://10.0.0.1:8888" bypassonlocal="true" />
        </defaultProxy>
    </system.net>
    <!--NeedCopy-->
    
  3. À la fin du fichier web.config du magasin, insérez l’élément <system.net> approprié comme indiqué ici :

    <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. Importez les données de Citrix Analytics comme décrit dans la section Importer les données Citrix Analytics dans votre déploiement StoreFront.