понедельник, 22 января 2018 г.

Fixing Service Management Automation 2016 SCOM MP Issues #1

Допущение: Предполагается, что человек, читающий данную статью знаком с внутренним устройством OpsMgr и пакетов управления, а также элементов их составляющих.
Я не ставлю себе целью описать их внутренне устройство и принципы взаимодействия, а только момент устранения конкретных проблем.


В процессе развёртывания пакетов управления для мониторинга System Center Management Automation 2016 столкнулся с несколькими проблемами.

Проблема #1:
Группа "Service Management Automation Databases" была пуста. Базы данных SMA, расположенные на MSSQL 2014 SP2 не были обнаружены. "Service Summary" dashboard пакета управления SMA отсутствовали обнаруженные базы.

Причина:
Данная проблема вызывается тем, что группа в пакете управления "Microsoft.SystemCenter.ServiceManagementAutomation.Library.mp" ссылалась на объект, который содержал устаревшие базы данных 2008/2008R2/2012 из пакета управления "Microsoft.SQLServer.Library.mp". Поскольку я использовал MSSQL 2014 -  группа не была заполнена;  Пакеты управления для SQL работали штатно.




Устранение:
Для устранения проблемы понадобится выполнить модификацию пакета управления "Microsoft.SystemCenter.ServiceManagementAutomation.Library.mp", для работы с правильным объектом группа из пакета управления "Microsoft.SQLServer.2014.Discovery.mp", а также зависимых от него MP. Также, необходимо выполнить ре-импорт модифицированных пакетов в OpsMgr.

Пакет библиотеки SMA является запечатанным, и для внесения в него каких-либо изменений, необходимо выполнить его "распаковку". Для этого я использую утилиту "MPViewer.exe", она позволяет выполнить операцию "Unseal", также эту утилиту можно использовать для просмотра содержимого MP.

В пакете управления Вы обнаружите следующие секции



По сути, эти две секции определяют следующие вещи: обнаружение баз данных и "население"/заполнение групп OpsMgr соответствующими объектами.

Я их модифицировал, исходя из понимания как устроен MP для SQL 2014. В пакет управления библиотеки я добавил зависимость от пакета управления "Microsoft.SQLServer.2014.Discovery.mp"



Нюанс: два правила обнаружения на один ID создать невозможно.

Для выполнения последующих действия необходимо удалить ранее установленные пакеты управления из OpsMgr, но тут нас поджидает "побочный" баг, который требует устранения.

Пакет для SMA содержит ссылку на объект на экране ниже, так называемый Secure Reference, (см. параметр Key и значение SystemCenter4). Через консоль пользователя ссылка автоматически не удаляется.

Получаем значения в пакете переопределений с помощью PowerShell.


Необходимо удалить это значение с помощью PowerShell

Затем последовательно выполнить действия по проверке MP и принятию изменений.
 Теперь мы удаляем существующие MP и их зависимости.


Далее мы выполняем "заваривание" модифицированного пакета управления "Microsoft.SystemCenter.ServiceManagementAutomation.Library.mp", с помощью утилиты MPseal.exe.

Далее, для того, чтобы нам поддерживать кросс-ссылки между зависимыми MP, нам необходимо использовать новый Public Token для этого пакета управления. Его мы получаем с помощью утилиты "SN.EXE" из пакета Windows 10 SDK.

В зависимых пакетах мы производим модификацию публичного ключа для пакета-библиотеки. 


Завариваем зависимые пакеты
 И теперь мы можем успешно их импортировать в OpsMgr.


Без подобной модификации импорт не пройдёт - зависимые пакеты не найдут корневой.

Как итог, мы получаем заполненную группу "Service Management Automation Databases", а также заполненное поле в "Service Summary" dashboard пакета управления SMA






Подсказка:
после ре-импорта пакетов управления SMA, Dashboard не будет отображаться. Скорее всего он будет иметь статус, говорящий о том, что dashboard был изменён или удалён. Это баг/feature консоли OpsMgr - перезагрузите её и всё будет работать

Комментариев нет:

Отправить комментарий

Уважаемый коллега, Ваш комментарий пройдёт модерацию, чтобы избежать спам-атак в ленте. Спасибо за понимание.