Новые сценарии развертывания портала самообслуживания и устранение неполадок
Опубликовано: Март 2016
Применимо к:System Center 2012 R2 Service Manager
Новый портал самообслуживания представляет собой веб-приложение HTML5 на базе ASP.NET MVC Razor. Во время установки это веб-приложение настраивается для подключения непосредственно к службе SDK, запущенной в обозревателе серверов Service Manager. Базовая и только что настроенная установка портала самообслуживания работает согласно следующей схеме.
Данные передаются между разными компонентами в следующей последовательности.
Пользователи вводят URL-адрес веб-приложения в своем браузере для доступа к порталу самообслуживания.
ASP.NET создает новый экземпляр для пользователя и пытается подключиться к службе SDK, указанной во время установки, в контексте данного пользователя.
Служба SDK обращается к базе данных Service Manager, выполняя чтение и запись данных.
Важно |
---|
|
Подготовка к развертыванию
Просмотрите следующий раздел со сведениями о подготовке к развертыванию.
Требования к оборудованию
Серверы System Center 2012 R2 | Процессор (мин.) | Процессор (рек.) | ОЗУ (мин.) | ОЗУ (рек.) | Место на жестком диске (мин.) | Место на жестком диске (рек.) |
Портал самообслуживания + дополнительный Service Manager (рекомендуется *) | 8-ядерный ЦП с тактовой частотой 2,66 ГГц | 8-ядерный ЦП с тактовой частотой 2,66 ГГц | 16 Гб | 32 Гб | 80 Гб | 80 Гб |
Портал самообслуживания (автономно) | 4-ядерный ЦП с частотой 2,66 ГГц | 8-ядерный ЦП с тактовой частотой 2,66 ГГц | 8 Гб | 16 Гб | 80 Гб | 80 Гб |
* Приведенные выше требования обеспечивают параллельный доступ для 500 пользователей с приемлемым временем отклика, включая среднюю продолжительность операций чтения менее 3 секунд и операций записи менее 5 секунд при условии, что соотношение операций чтения и записи составляет 80:20. Для более крупных развертываний см. раздел Развертывание веб-фермы ниже.
Требования к программному обеспечению
Windows Server 2012 R2
Поддерживаемые веб-браузеры
Порталу самообслуживания требуется разрешение экрана выше 1024 X 768. Он поддерживается в следующих браузерах.
Microsoft Edge
Microsoft Internet Explorer 10 и 11
Mozilla Firefox 42 и более поздних версий
Google Chrome 46 и более поздних версий
Развертывание нового портала самообслуживания
Более подробно развертывание нового портала самообслуживания описано в разделе Развертывание нового портала самообслуживания. В следующих разделах приведены основные рекомендации по развертыванию.
Установка портала в качестве веб-сайта по умолчанию
Если вы хотите установить новый портал самообслуживания на порт 80, сначала следует переместить веб-сайт по умолчанию в службах IIS на другой порт (например, 8080), после чего переместить портал самообслуживания на порт 80.
Использование протокола SSL
Протокол SSL рекомендуется применять для обеспечения безопасного взаимодействия, особенно при использовании обычной проверки подлинности, когда имя пользователя и пароль передаются по сети в виде обычного текста.
Топологии развертывания
Для портала самообслуживания вы можете использовать следующие топологии развертывания.
Один сервер (рекомендуется) — портал самообслуживания и сервер Service Manager на одном сервере
В этой топологии новый портал самообслуживания и роль сервера управления устанавливаются на одном сервере. Это рекомендуемая топология, так как позволяет избежать сетевых задержек между порталом и службой SDK. Кроме того, рекомендуется установить портал самообслуживания на сервер-получатель управления службами во избежание потери производительности, вызванной выполняемыми на сервере-источнике рабочими процессами.
В этой топологии проверка подлинности Windows (которая задана по умолчанию) используется для обеспечения безопасной проверки подлинности без служебных данных, связанных с использованием SSL.
Развертывание автономного портала самообслуживания
В этой топологии портал самообслуживания устанавливается на сервере, на котором не установлена роль сервера управления Service Manager.
В этой конфигурации новый портал самообслуживания и сервер-получатель Service Manager устанавливаются на разных серверах, а для создания подключения к службе SDK из веб-приложения требуется двойной прыжок. В этом случае нельзя использовать проверку подлинности Windows, поэтому портал следует настроить на использование обычной проверки подлинности. Поскольку обычная проверка подлинности является небезопасной, во избежание проблем с безопасностью развертывания, например при доступе к ресурсам за пределами брандмауэра и прокси-серверов, рекомендуется использовать протокол SSL.
Использование протокола SSL с сетевыми задержками между порталом и службой SDK делает эту топологию более медленной по сравнению с односерверным развертыванием. Однако такая конфигурация может оказаться полезной в сценариях развертывания, когда не удается избежать двойного прыжка.
Развертывание веб-фермы
Одно из основных преимуществ нового портала самообслуживания заключается в том, что веб-приложение не имеет локального хранилища данных, помимо кэшируемых им данных. Оно напрямую обращается к базе данных Service Manager, выполняя чтение и запись данных. Это упрощает параллельное развертывание нескольких экземпляров веб-сервера. Для больших развертываний, когда доступ к порталу параллельно осуществляет более 1000 пользователей, вы можете развернуть новый портал самообслуживания в качестве веб-фермы по аналогии со следующей конфигурацией.
Веб-ферма обеспечивает высокий уровень доступности портала самообслуживания. Внутри веб-приложение создает соединение WCF со службой SDK. Создание начального подключения занимает некоторое время, поэтому оптимальный сценарий предполагает, что веб-сервер, к которому изначально подключается пользователь, должен обрабатывать все последующие запросы для ускорения работы. Чтобы реализовать такую конфигурацию в службах IIS, в параметре маршрутизации запросов приложений должно быть включено сходство клиента.
Устранение неполадок с установкой
Следующие разделы по устранению неполадок помогут вам решить распространенные проблемы.
Не удается установить новый портал самообслуживания после удаления старого портала
Для правильной работы установки необходимо очистить реестр предыдущей установки. Выполните следующие шаги.
Откройте редактор реестра, выполните поиск раздела SMPortalWebContentServer и удалите все найденные экземпляры. Кроме того, вы можете удалить родительское свойство, если найден только портал.
Перейдите к HEKY_LOCAL_MACHINE\SOFTWARE\Microsoft\System Center\2010\Service Manager\Setup и удалите следующие свойства.
PortalWebSiteName
PortalWebSitePort
SMServerName
Вручную удалите каталог установки веб-сайта портала: <диск_установки>:\inetpub\wwwroot\SelfServicePortal.
Службы IIS не установлены
На странице конфигурации отображается ошибка роли IIS, даже если службы IIS включены на сервере.
Это происходит при запуске установщика без учетных данных администратора. В результате установщику не удается получить доступ к параметрам конфигурации служб IIS.
Решение: запустите SetupWizard.exe от имени администратора. Вы можете щелкнуть файл SetupWizard.exe правой кнопкой мыши и выбрать пункт "Запуск от имени администратора".
Устранение неполадок портала самообслуживания
В этом разделе описываются способы устранения неполадок, которые могут возникнуть после установки нового портала самообслуживания.
Параметры служб IIS
Во время установки портала настраиваются следующие параметры по умолчанию.
Пул приложений
Он настраивается для работы в среде CLR .NET версии 4 в классическом режиме.
В дополнительных параметрах пул приложений настраивается на запуск с использованием учетной записи службы, указанной во время установки. Пользователь должен иметь права администратора как в Service Manager, так и на локальном компьютере, где он выполняется.
Конфигурация веб-сайта
Должны быть включены только параметры Олицетворение и Проверка подлинности Windows. Все остальные параметры должны быть отключены.
Для олицетворения должен быть выбран Прошедший проверку пользователь.
Параметры проверки подлинности Windows
Документом по умолчанию для веб-сайта должен быть index.cshtml.
Обычная проверка подлинности
Для сценария двойного прыжка проверка подлинности Windows не работает, поэтому ее следует отключить. Требуется включить и настроить обычную проверку подлинности.
Включение трассировки
Чтобы включить трассировку, выполните следующие действия.
Шаг 1. Добавьте следующие параметры в файл web.config, чтобы включить создание журнала событий.
<system.web>
…..
<trace enabled="true"/>
…
</system.web>
Шаг 2. Направьте выходные данные в файл путем добавления следующих разделов в файл web.config.
<system.diagnostics>
<trace autoflush="true">
<listeners>
<add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="c:\logs\SSPOutput.log" />
</listeners>
</trace>
</system.diagnostics>
Поскольку веб-приложение выполняется в содержимом вошедшего в систему пользователя, убедитесь, что вами были предоставлены разрешения на запись всем пользователям для папки журнала. Например, "c:\logs" в приведенном выше примере.
Отладка служб IIS
Службы IIS поддерживают эффективное ведение журнала для отладки проблем IIS. Дополнительные сведения см. в статье Обзор ведения журналов в службах IIS.
Устранение неполадок развертывания
Используйте сведения из следующих разделов для устранения проблем развертывания, с которыми вы можете столкнуться.
Изменения определений (объявления, предложения запроса, предложения услуги, статьи базы знаний) не отображаются
Новый портал самообслуживания использует механизм кэширования для хранения статических данных в целях обеспечения быстрого отклика. Время ожидания кэша по умолчанию составляет 30 минут, и его можно настроить. Дополнительные сведения см. в разделе "Базовая настройка" статьи Развертывание портала самообслуживания. Любые изменения определений объявлений, предложений запроса, предложений услуги и статей базы знаний не отображаются, пока не будет очищен кэш.
Используемое кэширование памяти основано на .NET Framework MemoryCache. Кэшированное содержимое остается в памяти до завершения рабочего процесса IIS. Перезапуск служб IIS не помогает, так как службы IIS не удаляют старый процесс и затем запускают новый. Вместо этого они повторно используют уже существующий процесс. Чтобы обеспечить вывод актуальных данных и удаление данных кэша, определите рабочий процесс IIS, связанный с данным экземпляром, и выберите Завершить задачу до перезапуска служб IIS.
Разделы моих запросов и моих действий пусты
Проекции нового типа включены в файл Portal.mpb, который входит в состав установщика и должен быть импортирован в Service Manager. Чтобы осуществить импорт, выполните указанные ниже действия.
Импортируйте файл Portal.mpb на сервер управления.
На сервере управления, к которому подключается портал, перезапустите службу SDK.
Всплывающие окна блокируют внешние ссылки
Если включен параметр "Конфигурация усиленной безопасности" для Internet Explorer, при просмотре портала пользователь на каждой странице получает следующее всплывающее окно.
Приведенное выше всплывающее окно отображается для пакета SDK App Insights JavaScript, который интегрирован в портал самообслуживания для сбора данных телеметрии. Вы можете отключить отправку данных телеметрии, изменив значение параметра конфигурации EnableTelemetry, что приведет к удалению всплывающего окна. Дополнительные сведения см. в разделе "Базовая настройка" статьи Развертывание портала самообслуживания.
Доступ к порталу можно получить с компьютера с IIS, но не с удаленного компьютера
Эта проблема может возникать, если портал и пакет SDK службы расположены на разных компьютерах (развертывание автономного портала самообслуживания). Это вызывает двойной прыжок при попытке получить доступ к порталу с удаленного компьютера. Поэтому конфигурация портала по умолчанию, описанная в разделе "Проверка подлинности Windows", работать не будет. Чтобы устранить эту проблему, используйте конфигурацию, описанную в разделе "Обычная проверка подлинности".
Некоторые предложения услуг или опубликованные предложения не видны на портале
Это обусловлено тем, что предложения услуг отображаются только в том случае, если соответствуют одному из следующих условий:
предложение услуги соответствует языку браузера или языку, выбранному через средство выбора языка портала;
для предложения услуги язык не выбран.
Ниже приведен список языков (и их кодов), которые поддерживаются порталом.
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: 中文 (香港特別行政區)
Время для элементов всегда отображается с "A.M." (например, даже для времени 11:00 P.M. время события отображается как 11:00 A.M.)
Чтобы устранить эту проблему, найдите тег utc-date и замените строку DateTime.Parse(xyz).ToString("yyyy,M,d,h,m,s") строкой 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.
Необходимо, чтобы состояние определенных рабочих элементов на портале было "Активный"
Ниже приведен пример кода, которые позволяет отобразить перечисления состояния ServiceRequestStatusEnum.OnHold и IncidentStatusEnum.Active.Pending в качестве активного.
В файл Views\MyRequests\Index.cshtml требуется внести следующее дополнение.
@{
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;
}
}
}
В файл Views\MyRequests\RequestDetails.cshtml требуется внести следующее дополнение.
@{
…………
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;
}
}