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.
Die Daten fließen in der folgenden Reihenfolge zwischen verschiedenen Komponenten.
Ein Benutzer gibt die URL der Web-App im Browser ein, um auf das Self-Service-Portal zuzugreifen.
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.
Vom SDK-Dienst werden Daten aus der Service Manager-Datenbank gelesen und in diese geschrieben.
Wichtig |
---|
|
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.
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.
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.
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:
Ö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.
Navigieren Sie zu HEKY_LOCAL_MACHINE\SOFTWARE\Microsoft\System Center\2010\Service Manager\Setup, und löschen Sie die folgenden Eigenschaften:
PortalWebSiteName
PortalWebSitePort
SMServerName
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.
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.
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.
Websitekonfiguration
Nur Identitätswechsel und Windows-Authentifizierung sollten aktiviert sein. Alle anderen Optionen sollten deaktiviert sein.
Für den Identitätswechsel sollte Authentifizierter Benutzer ausgewählt sein.
Windows-Authentifizierungseinstellungen:
Das Standarddokument für die Website sollte index.cshtml sein.
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.
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.
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:
Importieren Sie die Datei „Portal.mpb“ in den Verwaltungsserver.
Starten Sie auf dem Verwaltungsserver, mit dem das Portal verbunden ist, den SDK-Dienst neu.
Popups, die externe Links blockieren
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.
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.
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;
}
}