StoreFront

Citrix Analytics-Dienst

Monitor-Kunden mit einer StoreFront-Bereitstellung im eigenen Rechenzentrum können StoreFront so konfigurieren, dass Daten an Citrix Analytics in Monitor gesendet werden. Bei entsprechender Konfiguration senden die Citrix Workspace-App und Webbrowser Benutzerereignisse zur Verarbeitung an Citrix Analytics. Citrix Analytics aggregiert Kennzahlen zu Benutzern, Anwendungen, Endpunkten, Netzwerken und Daten für detaillierte Einblicke in das Benutzerverhalten. Informationen zu dieser Funktion in der Citrix Analytics-Dokumentation finden Sie unter Onboarding von Virtual Apps and Desktops-Sites mit StoreFront.

Führen Sie zum Konfigurieren dieses Verhaltens folgende Schritte aus:

  • Laden Sie eine Konfigurationsdatei von Citrix Analytics herunter.
  • Importieren Sie Citrix Analytics-Daten per PowerShell in Ihre StoreFront-Bereitstellung.

Nach dem Konfigurieren von StoreFront kann die Citrix Workspace-App Daten aus StoreFront-Stores senden, wenn dies von Citrix Analytics angefordert wird.

Wichtig:

Ihre StoreFront-Bereitstellung muss in der Lage sein, die folgenden Adressen über Port 443 zu kontaktieren, damit dieses Feature ordnungsgemäß funktioniert und Monitor-Dienste nutzen kann:

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

Herunterladen der Konfigurationsdatei von Citrix Analytics

Wichtig:

Für die Erstkonfiguration ist eine Konfigurationsdatei mit vertraulichen Informationen erforderlich. Schützen Sie die Datei nach dem Herunterladen vor unbefugtem Zugriff. Geben Sie die Datei nicht an Personen außerhalb Ihrer Organisation weiter. Nach der Konfiguration können Sie die Datei löschen. Wenn Sie die Konfiguration auf einem anderen Computer neu anwenden müssen, können Sie die Datei erneut über die Citrix Analytics-Dienstverwaltungskonsole herunterladen.

  1. Melden Sie sich mit einem Administratorkonto bei Monitor (https://citrix.cloud.com/) an.
  2. Wählen Sie einen Monitor-Kunden aus.
  3. Öffnen Sie die Citrix Analytics-Verwaltungskonsole, indem Sie auf Manage klicken.

    Analytics-Kachel

  4. Wählen Sie in der Citrix Analytics-Verwaltungskonsole Settings > Data Source.
  5. Wählen Sie auf der Karte “Virtual App and Desktops” das Menüsymbol () und dann Connect StoreFront deployment.
  6. Wählen Sie auf der Seite “Connect StoreFront Deployment” Download File, um die Datei StoreFrontConfigurationFile.json herunterzuladen.

Beispiel einer Konfigurationsdatei

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

wobei

customerId ist die eindeutige ID des Monitor-Kunden.

cwsServiceKey ist ein eindeutiger Schlüssel zur Identifizierung des Monitor-Kundenkontos.

instanceID ist eine generierte ID, die zum Signieren von (sicheren) Anforderungen aus der Citrix Workspace-App an Citrix Analytics verwendet wird. Wenn Sie mehrere StoreFront-Server oder -Servergruppen bei Monitor registrieren, verfügt jeder/jede über eine eigene instanceID.

Importieren von Citrix Analytics-Daten in Ihre StoreFront-Bereitstellung

  1. Kopieren Sie die Datei StoreFrontConfigurationFile.json in einen geeigneten Ordner auf dem lokalen StoreFront-Server (bzw. einem Server in einer StoreFront-Servergruppe). Die folgenden Befehle basieren auf einer Datei, die auf dem Desktop gespeichert ist.
  2. Öffnen Sie PowerShell ISE, und wählen Sie Als Administrator ausführen.
  3. Führen Sie die folgenden Befehle aus:

    Import-STFCasConfiguration -Path "$Env:UserProfile\Desktop\StoreFrontConfigurationFile.json"
    Get-STFCasConfiguration
    <!--NeedCopy-->
    
  4. Dieser Befehl gibt eine Kopie der importierten Daten zurück und zeigt sie in der PowerShell-Konsole an.

    get stf cas configuration

Hinweis:

Für On-Premises-StoreFront-Server mit Windows Server 2012 R2 müssen die C++-Laufzeit-Softwarekomponenten evtl. manuell installiert werden, damit sie sich bei der ZS registrieren können. Wird StoreFront im Rahmen der Citrix Virtual Apps and Desktops-Installation installiert, ist dieser Schritt nicht erforderlich, da der Citrix Virtual Apps and Desktops-Metainstaller die C++-Laufzeitkomponenten installiert. Wird StoreFront nur mit dem CitrixStoreFront-x64.exe-Metainstaller ohne C++-Laufzeitumgebung installiert, kann es sich möglicherweise nicht bei Monitor registrieren, nachdem Sie die ZS-Konfigurationsdatei importiert haben.

Verteilen von Citrix Analytics-Daten an eine StoreFront-Servergruppe

Wenn Sie diese Aktionen an einer StoreFront-Servergruppe ausführen, müssen Sie die importierten Citrix Analytics-Daten an alle Mitglieder der Gruppe verteilen. Dieser Schritt ist bei Bereitstellungen mit nur einem StoreFront-Server nicht erforderlich.

Zur Verteilung der Daten gibt es folgende Möglichkeiten:

  • Verwenden Sie die StoreFront-Verwaltungskonsole.
  • Verwenden Sie das PowerShell-Cmdlet Publish-STFServerGroupConfiguration.

Prüfen der StoreFront-Servergruppen-ID

Um zu überprüfen, ob Ihre Bereitstellung erfolgreich bei Citrix Analytics registriert wurde, können Sie mithilfe von PowerShell die “ServerGroupID” für Ihre Bereitstellung erkennen lassen.

  1. Melden Sie sich bei Ihrem StoreFront-Server oder bei einem StoreFront-Server in der Servergruppe an.
  2. Öffnen Sie PowerShell ISE, und wählen Sie Als Administrator ausführen.
  3. Führen Sie die folgenden Befehle aus:

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

    Diese Befehle erzeugen eine Ausgabe, die in etwa so aussieht:

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

Beenden der Datenübertragung aus StoreFront an Citrix Analytics

  1. Öffnen Sie PowerShell ISE, und wählen Sie Als Administrator ausführen.
  2. Führen Sie die folgenden Befehle aus:

    Remove-STFCasConfiguration

    Get-STFCasConfiguration

    Get-STFCasConfiguration gibt nichts zurück, wenn die zuvor importierten Citrix Analytics-Daten erfolgreich entfernt wurden.

  3. Wenn Sie diese Aktionen an einer StoreFront-Servergruppe ausführen, verteilen Sie die Änderung zum Entfernen der Citrix Analytics-Daten von allen Mitgliedern der Gruppe. Führen Sie auf einem Server in der Servergruppe den folgenden Befehl aus:

    Publish-STFServerGroupConfiguration

  4. Führen Sie auf den anderen Mitgliedern der Servergruppe den folgenden Befehl aus, um zu prüfen, ob die Citrix Analytics-Konfiguration erfolgreich entfernt wurde:

    Get-STFCasConfiguration

  5. Melden Sie sich mit einem Administratorkonto bei Monitor (https://citrix.cloud.com/) an.
  6. Wählen Sie einen Monitor-Kunden aus.
  7. Öffnen Sie die Citrix Analytics-Verwaltungskonsole, indem Sie auf Manage klicken.
  8. Wählen Sie in der Citrix Analytics-Verwaltungskonsole Settings > Data Source.
  9. Wählen Sie auf der Karte “Virtual Apps and Desktops” die Anzahl der StoreFront-Bereitstellungen aus:

    Storefront-Servergruppen

  10. Identifizieren Sie die StoreFront-Bereitstellung, die Sie entfernen möchten, anhand der Host-Basis-URL und der ServerGroupID.
  11. Wählen Sie im Menü () die Option Remove StoreFront deployment from Analytics.

    Storefront-Servergruppen

Hinweis:

Wenn Sie die Konfiguration serverseitig entfernen, jedoch nicht aus Citrix Analytics, bleibt der StoreFront-Serverbereitstellungseintrag in Citrix Analytics, es werden jedoch keine Daten von StoreFront empfangen. Wenn Sie die Konfiguration nur aus Citrix Analytics entfernen, wird der StoreFront-Serverbereitstellungseintrag beim nächsten App-Pool-Recycle wieder hinzugefügt (bei einer IIS-Zurücksetzung oder automatisch alle 24 Stunden).

Konfigurieren von StoreFront für die Verwendung eines Webproxys zur Verbindung mit Monitor und Registrierung bei Citrix Analytics

Wenn StoreFront auf einem Hostwebserver hinter einem Webproxy ausgeführt wird, schlägt die Registrierung bei Citrix Analytics fehl. Wenn StoreFront-Administratoren einen HTTP-Proxy in ihrer Citrix Bereitstellung verwenden, muss der StoreFront-Datenverkehr in das Internet den Webproxy durchlaufen, bevor er Citrix Analytics in der Cloud erreicht. StoreFront verwendet nicht automatisch die Proxyeinstellungen des Hostbetriebssystems. Zusätzliche Konfiguration ist erforderlich, um den Store anzuweisen, ausgehenden Datenverkehr über den Webproxy zu senden. Sie können eine <system.net>-Proxykonfiguration erstellen, indem Sie der Datei web.config einen neuen Abschnitt hinzufügen. Tun Sie dies für jeden Store auf dem StoreFront-Server, der zum Senden von Daten an Citrix Analytics verwendet wird.

Methode 1: Festlegen der Proxykonfiguration über PowerShell für einen oder mehrere Stores (empfohlen)

Das Powershell-Skript “Config-StoreProxy.ps1” automatisiert diesen Prozess für einen oder mehrere Stores und fügt automatisch einen gültigen XML-Eintrag zum Konfigurieren von <system.net> ein. Das Skript sichert auch die web.config-Datei des Stores auf dem Desktop des aktuellen Benutzers, sodass sie bei Bedarf wiederhergestellt werden kann.

Hinweis:

Das mehrfache Ausführen des Skripts kann dazu führen, dass mehrere <system.net-XML-Einträge hinzugefügt werden. Jeder Store darf nur einen Eintrag für <system.net> haben. Das Hinzufügen mehrerer Einträge führt zur Fehlfunktion der Store-Proxykonfiguration.

  1. Öffnen Sie die PowerShell ISE und wählen Sie Als Administrator ausführen.

  2. Legen Sie $Stores = @("Store","Store2") fest, um die Stores einzuschließen, die Sie mit einem Webproxy konfigurieren möchten.

  3. Geben Sie den Webproxy an über:

    • eine IP-Adresse ODER
    • einen FQDN
  4. Führen Sie folgendes PowerShell-Skript aus:

    $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. Überprüfen Sie, ob C:\inetpub\wwwroot\Citrix < Store>\web.config einen neuen<system.net>-Abschnitt am Dateiende enthält.

            </dependentAssembly>
        </assemblyBinding>
    </runtime>
    <system.net>
        <defaultProxy>
        <proxy proxyaddress="HTTP://proxyserver.example.com:8888" bypassonlocal="true" />
        </defaultProxy>
    </system.net>
    </configuration>
    <!--NeedCopy-->
    
  6. Importieren Sie die Citrix Analytics-Daten wie unter Importieren von Citrix Analytics-Daten in Ihre StoreFront-Bereitstellung beschrieben.

Methode 2: Manuelles Hinzufügen eines <system.net>-Abschnitts zur web.config-Datei

Dieses Verfahren muss für jeden Store auf dem StoreFront-Server ausgeführt werden, der zum Senden von Daten an Citrix Analytics verwendet wird.

  1. Sichern Sie die Datei web.config für den Store und kopieren Sie sie an einen anderen Speicherort außerhalb von C:\inetpub\wwwroot\Citrix< Store>\web.config.

  2. Ändern Sie den folgenden XML-Eintrag unter Verwendung Ihrer Proxyeinstellungen entweder unter Angabe von FQDN-und-Port oder von IP-und-Port.

    Für FQDN-und-Port verwenden Sie beispielsweise das folgende <system.net>-Element:

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

    Für IP-und-Port verwenden Sie beispielsweise das folgende <system.net>-Element:

    <system.net>
        <defaultProxy>
        <proxy proxyaddress="HTTP://10.0.0.1:8888" bypassonlocal="true" />
        </defaultProxy>
    </system.net>
    <!--NeedCopy-->
    
  3. Fügen Sie am Ende der Datei web.config das <system.net>-Element wie hier gezeigt ein:

    <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. Importieren Sie die Citrix Analytics-Daten wie unter Importieren von Citrix Analytics-Daten in Ihre StoreFront-Bereitstellung beschrieben.