Bereitstellungsszenarien und Problembehandlung für das neue Self-Service-Portal

 

Betrifft: System Center 2012 R2 Service Manager

Das neue Self-Service-Portal ist eine ASP.NET MVC Razor-basierte HTML5-Web-App. Während der Installation wird die Web-App für die direkte Verbindung mit dem auf dem Service Manager-Serverbrowser ausgeführten SDK-Dienst konfiguriert. Ein grundlegendes, neu konfiguriertes Self-Service-Portal-Setup funktioniert wie in der folgenden Abbildung dargestellt.

SM-SSP-Szenario-01

Die Daten fließen in der folgenden Reihenfolge zwischen verschiedenen Komponenten.

  1. Ein Benutzer gibt die URL der Web-App im Browser ein, um auf das Self-Service-Portal zuzugreifen.

  2. Von ASP.NET wird eine neue Instanz für den Benutzer erstellt und versucht, die Verbindung zu dem während der Installation bereitgestellten SDK-Dienst im Kontext des Benutzers herzustellen.

  3. Vom SDK-Dienst werden Daten aus der Service Manager-Datenbank gelesen und in diese geschrieben.

System_CAPS_ICON_important.jpg Wichtig


Sie möchten das neue Portal auf demselben Server wie das alte SharePoint-Portal installieren: Die neue Version des Self-Service-Portals ist nicht kompatibel mit dem alten Self-Service-Portal in System Center Service Manager 2010 oder System Center Service Manager 2010 Service Pack 1 (SP1) oder Service Manager 2012 R2 – und es ist auch kein Upgrade von diesen Versionen aus möglich. Sie müssen ältere Versionen des Self-Service-Portals deinstallieren, bevor Sie das neue Self-Service-Portal in System Center 2012 – Service Manager bereitstellen.

Vorbereitung auf die Bereitstellung

Lesen Sie im folgenden Abschnitt, wie Sie sich auf die Bereitstellung vorbereiten.

Hardwareanforderungen

System Center 2012 R2-Server Prozessor (min.) Prozessor (empf.) RAM (min.) RAM (empf.) Festplattenspeicher (min.) Festplattenspeicher (empf.)
Self-Service-Portal + sekundärer Service Manager (empfohlen*) 8-Kern-CPU, 2,66 GHz 8-Kern-CPU, 2,66 GHz 16 GB 32 GB 80 GB 80 GB
Self-Service-Portal (eigenständig) 4-Core-CPU, 2,66 GHz 8-Kern-CPU, 2,66 GHz 8 GB 16 GB 80 GB 80 GB

* Die oben genannten Anforderungen ermöglichen den gleichzeitigen Zugriff auf 500 Benutzer innerhalb einer akzeptablen Antwortzeit, z. B. durchschnittliche Lesevorgänge mit einer Antwortzeit von weniger als 3 Sekunden und Schreibvorgänge mit einer Antwortzeit von weniger als 5 Sekunden, bei einem Verhältnis von 80:20 zwischen Lese- und Schreibvorgängen. Für größere Bereitstellungen lesen Sie den Abschnitt Bereitstellen einer Webfarm weiter unten.

Softwareanforderungen

Windows Server 2012 R2

Unterstützte Webbrowser

Für das Self-Service-Portal wird eine Bildschirmauflösung benötigt, die über 1024 x 768 liegt. Es wird von den folgenden Browsern unterstützt:

  • Microsoft Edge

  • Microsoft Internet Explorer 10 und 11

  • Mozilla Firefox 42 und höher

  • Google Chrome 46 und höher

Bereitstellen des neuen Self-Service-Portals

Im Thema Bereitstellen des neuen Self-Service-Portals Finden Sie die ausführlichen Schritte zum Bereitstellen des neuen Self-Service-Portals. In den folgenden Abschnitten werden wichtige Aspekte der Bereitstellung zusammengefasst.

Installieren des Portals als Standardwebsite

Wenn Sie das neue Self-Service-Portal an Port 80 installieren möchten, müssen Sie zunächst die Standardwebsite in IIS an einen anderen Port (z. B. 8080) und dann das Self-Service-Portal an Port 80 verschieben.

Verwenden von SSL

SSL wird empfohlen, um eine sichere Kommunikation zu gewährleisten, insbesondere, wenn Sie bei der Übertragung von Benutzernamen und Kennwort in Klartext über das Netzwerk Standardauthentifizierung verwenden.

Bereitstellungstopologien

Sie können die folgenden Bereitstellungstopologien für das Self-Service-Portal verwenden.

Einzelner Server (empfohlen): Self-Service-Portal und Service Manager-Server auf dem gleichen Server

In dieser Topologie werden das neue Self-Service-Portal und die Rolle „Verwaltungsserver“ auf dem gleichen Server installiert. Dies ist die empfohlene Topologie, da Netzwerkverzögerung zwischen dem Portal und dem SDK-Dienst vermieden werden. Darüber hinaus wird empfohlen, das Self-Service-Portal auf einem sekundären Service Management-Server zu installieren, um Leistungseinbußen aufgrund der auf dem primären Server ausgeführten Workflows zu vermeiden.

SM-SSP-Szenario-02

In dieser Topologie wird Windows-Authentifizierung (standardmäßig konfiguriert) zum sicheren Authentifizierung ohne den Aufwand von SSL verwendet.

Eigenständige Bereitstellung des Self-Service-Portals

In dieser Topologie wird das Self-Service-Portal auf einem Server installiert, auf dem nicht die Rolle „Service Manager-Verwaltungsserver“ installiert ist.

SM-SSP-Szenario-03

In dieser Konfiguration werden das neue Self-Service-Portal und der sekundäre Service Manager-Server auf unterschiedlichen Servern installiert, und ein Doppel-Hop ist erforderlich, um von der Web-App aus eine Verbindung zum SDK-Dienst herzustellen. Die Windows-Authentifizierung kann in diesem Fall nicht verwendet werden, und das Portal muss zur Verwendung der Standardauthentifizierung konfiguriert werden. Da die Standardauthentifizierung grundsätzlich unsicher ist, wird die Verwendung von SSL empfohlen, um Sicherheitsprobleme in der Bereitstellung zu vermeiden, wie z. B. beim Zugriff auf Ressourcen außerhalb von Firewalls und Proxyservern.

Aufgrund der Netzwerkverzögerungen zwischen dem Portal und dem SDK-Dienst bei Verwendung von SSL ist diese Topologie im Vergleich zu einer Einzelserverbereitstellung langsamer. Diese Konfiguration ist jedoch für Bereitstellungsszenarien geeignet, in denen ein Doppel-Hop nicht vermieden werden kann.

Bereitstellen einer Webfarm

Einer der Hauptvorteile des neuen Self-Service-Portals ist, dass die Web-App über keine lokalen Datenspeicher verfügt, abgesehen von der eigenen Zwischenspeicherung. Daten werden direkt aus der Service Manager-Datenbank gelesen und in diese geschrieben. Dies erleichtert die gleichzeitige Bereitstellung mehrerer Instanzen des Webservers. Bei umfangreichen Bereitstellungen mit mehr als 1.000 Benutzern, die gleichzeitig auf das Portal zugreifen, können Sie das neue Self-Service-Portal als Webfarm ähnlich der folgenden Konfiguration bereitstellen.

SM-SSP-Szenario-04

Eine Webfarm stellt eine hohe Verfügbarkeit des Self-Service-Portals sicher. Intern stellt die Web-App eine WCF-Verbindung zum SDK-Dienst her. Das Erstellen der ersten Verbindung dauert einige Zeit. Um die Verarbeitungszeit zu verkürzen, sollte daher der Webserver, mit dem sich der Benutzer anfangs verbindet, idealerweise alle nachfolgenden Anforderungen verarbeiten. Um diese Konfiguration in IIS zu gewährleisten, sollte die ARR-Einstellung so festgelegt werden, dass Clientaffinität aktiviert ist.

Behandeln von Problemen bei der Installation

Die folgenden Abschnitte zur Problembehandlung helfen, häufig auftretende Probleme zu beheben.

Das neue Self-Service-Portal kann nach dem Deinstallieren des alten Portals nicht installiert werden

Sie müssen die vorherige Installation aus der Registrierung entfernen, um die Installation ausführen zu können. Gehen Sie wie folgt vor:

  1. Öffnen Sie den Registrierungs-Editor, und suchen Sie nach dem Schlüssel SMPortalWebContentServer. Löschen Sie dann alle Instanzen, die Sie finden. Sie können auch die übergeordnete Eigenschaft löschen, wenn nur das Portal gefunden wird.

  2. Navigieren Sie zu HEKY_LOCAL_MACHINE\SOFTWARE\Microsoft\System Center\2010\Service Manager\Setup, und löschen Sie die folgenden Eigenschaften:

    • PortalWebSiteName

    • PortalWebSitePort

    • SMServerName

  3. Löschen Sie manuell das Installationsverzeichnis der Portal-Website: <Installationslaufwerk>:\inetpub\wwwroot\SelfServicePortal

IIS ist nicht installiert

Die Konfigurationsseite zeigt einen IIS-Rollenfehler, auch wenn IIS auf dem Server aktiviert ist.

SM-SSP-Szenario-05

Dies geschieht, weil das Installationsprogramm ohne Administratoranmeldeinformationen gestartet wurde. Dadurch kann das Installationsprogramm nicht auf die IIS-Konfigurationseinstellungen zugreifen.

Lösung: Führen Sie „SetupWizard.exe“ als Administrator aus. Klicken Sie dazu mit der rechten Maustaste auf „SetupWizard.exe“, und wählen Sie dann „Als Administrator ausführen“ aus.

Problembehandlung beim neuen Self-Service-Portal

In diesem Abschnitt wird beschrieben, wie Sie Probleme beheben, die nach der Installation der neuen Self-Service-Portals auftreten können.

IIS-Einstellungen

Die folgenden Standardeinstellungen werden während der Installation des Portals konfiguriert:

App-Pool

Der App-Pool ist für die Ausführung im klassischen Modus in .NET CLR, Version 4, konfiguriert.

SM-SSP-Szenario-06

In den erweiterten Einstellungen ist der App-Pool für die Ausführung mit einem Dienstkonto konfiguriert, das während der Installation angegeben wird. Derselbe Benutzer muss über Administratorrechte in Service Manager und auf dem lokalen Computer verfügen, auf dem der App-Pool ausgeführt wird.

SM-SSP-Szenario-07

Websitekonfiguration

Nur Identitätswechsel und Windows-Authentifizierung sollten aktiviert sein. Alle anderen Optionen sollten deaktiviert sein.

SM-SSP-Szenario-08

Für den Identitätswechsel sollte Authentifizierter Benutzer ausgewählt sein.

SM-SSP-Szenario-09

Windows-Authentifizierungseinstellungen:

SM-SSP-Szenario-10

Das Standarddokument für die Website sollte index.cshtml sein.

SM-SSP-Szenario-11

Standardauthentifizierung

Die Windows-Authentifizierung kann in einem Doppel-Hop-Szenario nicht verwendet werden, daher muss die Option deaktiviert sein. Die Standardauthentifizierung muss aktiviert und konfiguriert sein.

SM-SSP-Szenario-12

Aktivieren der Ablaufverfolgung

Gehen Sie wie folgt vor, um die Ablaufverfolgung zu aktivieren.

Schritt 1 Fügen Sie die folgenden Einstellungen zur Datei „web.config“ hinzu, um die Generierung des Ereignisprotokolls zu aktivieren.

<system.web>  
   …..  
   <trace enabled="true"/>  
   …  
</system.web>  
  

Schritt2 Leiten Sie die Ausgabe in eine Datei, indem Sie die folgenden Abschnitte zur Datei „web.config“ hinzufügen.

<system.diagnostics>  
    <trace autoflush="true">  
      <listeners>  
        <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="c:\logs\SSPOutput.log" />    
      </listeners>  
    </trace>  
</system.diagnostics>  
  

Da die Web-App im Inhalt des angemeldeten Benutzers ausgeführt wird, stellen Sie sicher, dass Sie allen Benutzern im Protokollordner Schreibberechtigungen erteilen. Im oben stehenden Beispiel etwa ist „c:\logs“ der Protokollordner.

Debuggen von IIS

IIS unterstützt eine effiziente Protokollierung, um das Debuggen von IIS-Problemen zu erleichtern. Weitere Informationen finden Sie in der Übersicht über die IIS-Protokollierung.

Problembehandlung bei der Bereitstellung

Verwenden Sie die folgenden Abschnitte bei der Behandlung von Problemen, die bei Ihrer Bereitstellung auftreten können.

Definitionsänderungen (Ankündigungen/Anforderungsangebote/Knowledge-Artikel) werden nicht angezeigt.

Das neue Self-Service-Portal verwendet einen Zwischenspeicherungsmechanismus zum Speichern statischer Daten, um schnelle Reaktionszeiten zu erzielen. Das Cachetimeout ist standardmäßig auf 30 Minuten festgelegt. Dieser Wert kann konfiguriert werden. Weitere Informationen finden Sie unter Bereitstellen des neuen Self-Service-Portals im Abschnitt „Grundlegende Anpassung“. Alle Änderungen an den Definitionen von Ankündigungen, Anforderungsangeboten und Knowledge-Artikeln werden erst angezeigt, wenn der Cache geleert wurde.

Die verwendete Arbeitsspeicherzwischenspeicherung basiert auf .NET Framework MemoryCache. Zwischengespeicherter Inhalt verbleibt im Arbeitsspeicher, bis der IIS-Arbeitsprozess beendet wird. Ein Neustarten von IIS hilft nicht, da IIS nicht den alten Prozess entfernt und dann einen neuen startet, sondern einen vorhandenen Prozess wiederverwendet. Um die Daten aus dem Zwischenspeicher zu entfernen und ein erneutes Lesen zu erzwingen, suchen Sie den IIS-Arbeitsprozess, der der Instanz zugeordnet ist, und wählen Sie Task beenden aus, bevor Sie IIS neu starten.

IIS-Arbeitsprozess

Die Abschnitte „Eigene Anforderungen“ und „Eigene Aktivitäten“ sind leer

Die Datei „Portal.mpb“, die Teil des Installationsprogramms ist und in Service Manager importiert werden muss, enthält neue Typprojektionen. Gehen Sie zum Importieren wie folgt vor:

  1. Importieren Sie die Datei „Portal.mpb“ in den Verwaltungsserver.

  2. Starten Sie auf dem Verwaltungsserver, mit dem das Portal verbunden ist, den SDK-Dienst neu.

Wenn die Einstellung „Verstärkte Sicherheitskonfiguration“ für Internet Explorer aktiviert ist, wird dem Benutzer beim Durchsuchen des Portals auf jeder Seite das folgende Popupfenster angezeigt.

Popup in Internet Explorer

Das oben abgebildete Popupfenster wird für das App Insights JavaScript-SDK angezeigt, das im Self-Service-Portal zum Sammeln von Telemetriedaten integriert ist. Sie können das Senden von Telemetriedaten deaktivieren und dadurch das Popupfenster entfernen, indem Sie den Wert des Konfigurationsparameters „EnableTelemetry“ ändern. Weitere Informationen finden Sie unter Bereitstellen des neuen Self-Service-Portals im Abschnitt „Grundlegende Anpassung“.

Sie können auf das Portal auf dem Computer zugreifen, auf dem IIS gehostet wird, aber Sie können nicht von einem Remotecomputer aus darauf zugreifen

Dieses Problem kann auftreten, wenn sich das Portal und der SDK-Dienst auf unterschiedlichen Computern (eigenständige Self Service Portal-Bereitstellung) befinden. Dies führt beim Versuch, von einem Remotecomputer aus auf das Portal zuzugreifen, zu einem Double-Hop-Szenario. Aus diesem Grund funktioniert die unter „Windows-Authentifizierung“ beschriebene Standardportalkonfiguration nicht. Um dieses Problem zu beheben, verwenden Sie stattdessen die Konfiguration mit „Standardauthentifizierung“.

Einige Dienstangebote oder veröffentlichten Dienstangebote werden auf dem Portal nicht angezeigt.

Dieses Problem tritt auf, da Dienstangebote nur angezeigt werden, wenn sie eine der folgenden Bedingungen erfüllen:

  • Die Sprache des Dienstangebots entspricht der Browsersprache oder der über die Portalsprachenauswahl festgelegten Sprache.

  • Für das Dienstangebot ist keine Sprache ausgewählt.

Abbildung 2 für 762cd06f-cd61-49ad-a757-8c7d45330125

Abbildung 1 für 762cd06f-cd61-49ad-a757-8c7d45330125

Nachfolgend finden Sie eine Liste der Sprachen mit Sprachcodes, die vom Portal unterstützt werden:

  • en-US : English

  • fr-FR : français

  • de-DE : Deutsch

  • cs-CZ : čeština

  • da-DK : Dansk

  • el-GR : Ελληνικά

  • es-ES : español

  • fi-FI : suomi

  • hu-HU : magyar

  • it-IT : italiano

  • ja-JP : 日本語

  • ko-KR : 한국어

  • nb-NO : norsk

  • nl-NL : Nederlands

  • pl-PL : polski

  • pt-BR : português (Brasil)

  • pt-PT : português (Portugal)

  • ru-RU : русский

  • sv-SE : svenska

  • tr-TR : Türkçe

  • zh-CHS : 中文(简体)

  • zh-TW : 中文(简体)

  • zh-HK : 中文 (香港特別行政區)

Die Uhrzeit für meine Elemente wird immer als „AM“ angezeigt (für ein Ereignis um 11:00 P.M. wird z. B. die Uhrzeit „11:00 A.M.“ angezeigt)

Um dieses Problem zu beheben, suchen Sie in den folgenden Dateien das Tag „utc-date“, und ersetzen Sie „DateTime.Parse(xyz).ToString("yyyy,M,d,h,m,s")“ durch „DateTime.Parse(xyzToString("yyyy,M,d,H,m,s")“:

  • Views\KnowledgeBase\Article.cshtml

  • Views\MyActivities\ActivityDetails.cshtml

  • Views\MyRequests\RequestDetails.cshtml

  • Views\Shared\_Layout.cshtml

Der Status von bestimmten Arbeitsaufgaben soll im Portal als als „Aktiv“ angezeigt werden

Hier ist Beispielcode zum Anzeigen der Statusaufzählungen „ServiceRequestStatusEnum.OnHold“ und „IncidentStatusEnum.Active.Pending“ als aktiv:

Folgendes muss in „Views\MyRequests\Index.cshtml“ hinzugefügt werden

  
@{  
    List<Dictionary<string, object>> sortList = ViewBag.RequestsList;  
  
    string idClicked = ViewBag.ClickeID;  
    var reqType = ViewBag.ReqType;  
    var criteria = ViewBag.Criteria;  
    string clicked_filter = ViewBag.ClickedFilter;  
  
    foreach (Dictionary<string, object> listitem in sortList)  
    {  
        if (listitem["Status"].ToString().Equals("ServiceRequestStatusEnum.OnHold") || listitem["Status"].ToString().Equals("IncidentStatusEnum.Active.Pending"))  
        {  
            listitem["RequestStatus"] = Resources.SelfServicePortalResources.Active;  
        }  
    }   
}  
  

Folgendes muss in „Views\MyRequests\RequestDetails.cshtml“ hinzugefügt werden

  
@{  
…………  
  
    if (changeStatusButtonText != null)  
    {  
        if (changeStatusButtonText.Equals("ActivateRequest"))  
        {  
            changeStatusButtonText = Resources.SelfServicePortalResources.ActivateRequest;  
            changeStatusCommentPlaceholder = Resources.SelfServicePortalResources.AddCommentToActivate;  
        }  
        else if (changeStatusButtonText.Equals("CancelRequest")) //Active  
        {  
            changeStatusButtonText = Resources.SelfServicePortalResources.CancelRequest;  
             changeStatusCommentPlaceholder = Resources.SelfServicePortalResources.AddCommentToCancel;  
        }  
    }  
  
    if (requestEntry["Status"].ToString().Equals("ServiceRequestStatusEnum.OnHold")  
        || requestEntry["Status"].ToString().Equals("IncidentStatusEnum.Active.Pending"))  
    {  
        requestEntry["RequestStatus"] = Resources.SelfServicePortalResources.Active;  
        changeStatusButtonText = Resources.SelfServicePortalResources.CancelRequest;  
        changeStatusCommentPlaceholder = Resources.SelfServicePortalResources.AddCommentToCancel;          
    }   
  
}