Обнаружение и устранение частых изменений конфигурации в Operations Manager

В этой статье описывается обнаружение и устранение частых изменений конфигурации в System Center Operations Manager.

Исходная версия продукта: Microsoft System Center 2012 Operations Manager
Исходный номер базы знаний: 2603913

Общие сведения о конфигурации

Служба конфигурации управления System Center отвечает за вычисление конфигурации каждой службы работоспособности в группе управления Operations Manager. Конфигурация службы работоспособности состоит из правил, мониторов, обнаружения и задач для службы работоспособности и всех экземпляров, отслеживаемых службой работоспособности.

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

  • Все экземпляры всех отслеживаемых классов
  • Отношения размещения между экземплярами
  • Правила, мониторы, обнаружения и другие рабочие процессы, назначенные отслеживаемому классу
  • Службы работоспособности, отвечающие за мониторинг экземпляров;

Кроме того, служба конфигурации управления должна иметь возможность считывать членство во всех группах экземпляров в группе управления. Служба конфигурации управления также должна применять любые переопределения для правил и мониторов, предназначенных для этих групп, классов или отдельных экземпляров.

Объекты в группе управления будут определяться как экземпляры отслеживаемых классов на основе данных обнаружения, отправляемых рабочими процессами обнаружения. Если ключевое свойство объекта изменяется, этот объект может быть добавлен в качестве нового экземпляра отслеживаемого класса. В противном случае этот объект больше не считается экземпляром этого класса.

По мере изменения списка для классов, членом которым является объект, изменяется и конфигурация для службы работоспособности, которая отслеживает этот объект. Эти изменения происходят по мере добавления или удаления из предыдущей конфигурации правил, мониторов, обнаружения, задач и переопределений.

Отток конфигурации

Агенты могут не получить стабильную конфигурацию в следующих сценариях:

  • В службу конфигурации управления отправляется большой объем данных обнаружения.
  • Данные обнаружения передаются слишком быстро, чтобы служба конфигурации управления обрабатывала до отправки дополнительных данных обнаружения. Этот сценарий происходит потому, что данные всегда будут находиться в процессе вычисления.

Частая отправка данных обнаружения, также известная как отток конфигурации, может привести к запуску некоторых служб работоспособности в старых конфигурациях или устареть конфигурации серверов управления. Это приводит к тому, что некоторые службы работоспособности в консоли управления кажутся неактивными (недоступными).

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

Служба управления конфигурацией часто пересчитывает конфигурацию службы работоспособности в следующих сценариях:

  • Рабочий процесс обнаружения настроен на слишком частое выполнение.
  • Свойства, обнаруженные рабочим процессом, изменяются при каждом запуске рабочего процесса обнаружения.

Если эти сценарии происходят для нескольких агентов или серверы управления уже находятся под большой рабочей нагрузкой, служба управления конфигурацией может не испевать за скоростью изменений, и может произойти отток конфигурации.

Определение оттока конфигурации с помощью журнала событий сервера управления

Событие, похожее на следующее в журнале событий Operations Manager на сервере управления, указывает на то, что конфигурация группы управления изменилась из-за новых данных обнаружения:

Имя журнала: Operations Manager
Источник: Соединитель OpsMgr
Идентификатор события: 21024
Уровень: сведения
Компьютер: <Имя>
Описание:
Конфигурация OpsMgr может быть устаревшей для группы <управления ManagementGroupName> и запросила обновленную конфигурацию из службы конфигурации. Текущий (устаревший) файл cookie состояния : "3A B0 1E 5C 81 F3 12 F5 56 B7 8A EF F8 01 BA 09 86 55 06 48 ".

Событие, похожее на следующее, указывает на то, что служба конфигурации управления завершила обработку новых данных обнаружения и вычислила все изменения, необходимые для конфигурации группы управления, на основе новых данных:

Имя журнала: Operations Manager
Источник: Соединитель OpsMgr
Идентификатор события: 21025
Уровень: сведения
Компьютер: <Имя>
Описание:
OpsMgr получил новую конфигурацию для группы <управления ManagementGroupName> из службы конфигурации. Новый файл cookie состояния : "34 FA 11 61 4D B8 03 59 3D 1D 66 B7 83 F3 C0 AA 7A 6F 1A 3B".

В обычной среде за каждым событием 21024 должно следовать событие 21025. Если данные обнаружения не привели к изменению каких-либо данных конфигурации, идентификатором события будет 21026. В большой группе управления пары событий 21024 и 21025 или 21026 должны происходить несколько раз в час. Длинные строки событий 21024 без соответствующего события 21025 или 21026 являются признаком оттока конфигурации. Кроме того, в журнале событий может отображаться следующее событие, указывающее, что был обнаружен отток:

Имя журнала: Operations Manager
Источник: Служба конфигурации OpsMgr
Идентификатор события: 29202
Уровень: предупреждение
Компьютер: <Имя>
Описание:
Службе конфигурации OpsMgr не удалось получить согласованное состояние из базы данных OpsMgr из-за слишком частых изменений базы данных.
Это может быть связано с нормальным и временным увеличением объема данных обнаружения; однако проверка последние изменения, чтобы определить, является ли это увеличение непредвиденным.
Последнее изменение объекта мониторинга:
Экземпляр = %1
Класс = %2
Время изменения = %3
Последнее изменение связи мониторинга:
Экземпляр связи = %4
Исходный экземпляр = %5
Целевой экземпляр = %6
RelationshipClass = %7
Время изменения = %8

Уровень доступа к данным должен считывать несколько таблиц, когда уровень доступа к данным запрашивает изменения. Если одна из таблиц изменяется после чтения, но перед чтением всех таблиц, уровень доступа к данным регистрирует предыдущее событие с идентификатором 29202 и повторите попытку. Если экземпляр сущности или связи был прочитан в течение этого времени, сведения об этих экземплярах включаются в поля событий. В противном случае эти поля останутся пустыми.

Определите потенциальные причины оттока конфигурации с помощью Operations Manager Data Warehouse

В группах управления, в которых установлен компонент Отчетов Operations Manager, можно использовать несколько SQL-запросов для определения рабочих процессов, которые отправляют частые изменения. Эти запросы должны выполняться в SQL Server Management Studio к экземпляру Data Warehouse.

Общее количество изменений, отправленных рабочими процессами обнаружения за последние 24 часа:

select
   ManagedEntityTypeSystemName,
   DiscoverySystemName,
   count(*) As 'Changes'
from
   (
      select distinct
         MP.ManagementPackSystemName,
         MET.ManagedEntityTypeSystemName,
         PropertySystemName,
         D.DiscoverySystemName,
         D.DiscoveryDefaultName,
         MET1.ManagedEntityTypeSystemName As 'TargetTypeSystemName',
         MET1.ManagedEntityTypeDefaultName As 'TargetTypeDefaultName',
         ME.Path,
         ME.Name,
         C.OldValue,
         C.NewValue,
         C.ChangeDateTime
      from
         dbo.vManagedEntityPropertyChange C
         inner join
            dbo.vManagedEntity ME
            on ME.ManagedEntityRowId = C.ManagedEntityRowId
         inner join
            dbo.vManagedEntityTypeProperty METP
            on METP.PropertyGuid = C.PropertyGuid
         inner join
            dbo.vManagedEntityType MET
            on MET.ManagedEntityTypeRowId = ME.ManagedEntityTypeRowId
         inner join
            dbo.vManagementPack MP
            on MP.ManagementPackRowId = MET.ManagementPackRowId
         inner join
            dbo.vManagementPackVersion MPV
            on MPV.ManagementPackRowId = MP.ManagementPackRowId
         left join
            dbo.vDiscoveryManagementPackVersion DMP
            on DMP.ManagementPackVersionRowId = MPV.ManagementPackVersionRowId
            AND CAST(DefinitionXml.query('data(/Discovery/DiscoveryTypes/DiscoveryClass/@TypeID)') AS nvarchar(max)) like '%' + MET.ManagedEntityTypeSystemName + '%'
         left join
            dbo.vManagedEntityType MET1
            on MET1.ManagedEntityTypeRowId = DMP.TargetManagedEntityTypeRowId
         left join
            dbo.vDiscovery D
            on D.DiscoveryRowId = DMP.DiscoveryRowId
      where
         ChangeDateTime > dateadd(hh, - 24, getutcdate())
   )
   As # T
group by
   ManagedEntityTypeSystemName,
   DiscoverySystemName
order by
   count(*) DESC

Этот запрос создает три столбца. Первый столбец — это класс объекта, на который нацелен рабочий процесс. Во втором столбце указывается внутреннее имя рабочего процесса обнаружения. В третьем столбце указывается общее количество изменений свойств для всех экземпляров этого класса, отправленных рабочим процессом за последние 24 часа. Общее количество изменений для всех классов представляет количество случаев, когда служба управления конфигурацией должна повторно вычислять конфигурацию для службы работоспособности агента.

Количество изменений для некоторых классов объектов, даже в стабильной среде, может не достигать нуля. Любые изменения, такие как добавление или удаление свойства, добавленные или списанные агенты, добавленные или измененные роли сервера и т. д., отражаются в возвращаемых числах. В средах, в которых происходит изменение конфигурации, один или несколько рабочих процессов, скорее всего, будут отображать большее значение, чем другие рабочие процессы.

Свойства, измененные за последние 24 часа:

select distinct
   MP.ManagementPackSystemName,
   MET.ManagedEntityTypeSystemName,
   PropertySystemName,
   D.DiscoverySystemName,
   D.DiscoveryDefaultName,
   MET1.ManagedEntityTypeSystemName As 'TargetTypeSystemName',
   MET1.ManagedEntityTypeDefaultName As 'TargetTypeDefaultName',
   ME.Path,
   ME.Name,
   C.OldValue,
   C.NewValue,
   C.ChangeDateTime
from
   dbo.vManagedEntityPropertyChange C
   inner join
      dbo.vManagedEntity ME
      on ME.ManagedEntityRowId = C.ManagedEntityRowId
   inner join
      dbo.vManagedEntityTypeProperty METP
      on METP.PropertyGuid = C.PropertyGuid
   inner join
      dbo.vManagedEntityType MET
      on MET.ManagedEntityTypeRowId = ME.ManagedEntityTypeRowId
   inner join
      dbo.vManagementPack MP
      on MP.ManagementPackRowId = MET.ManagementPackRowId
   inner join
      dbo.vManagementPackVersion MPV
      on MPV.ManagementPackRowId = MP.ManagementPackRowId
   left join
      dbo.vDiscoveryManagementPackVersion DMP
      on DMP.ManagementPackVersionRowId = MPV.ManagementPackVersionRowId
      AND CAST(DefinitionXml.query('data(/Discovery/DiscoveryTypes/DiscoveryClass/@TypeID)') AS nvarchar(max)) like '%' + MET.ManagedEntityTypeSystemName + '%'
   left join
      dbo.vManagedEntityType MET1
      on MET1.ManagedEntityTypeRowId = DMP.TargetManagedEntityTypeRowId
   left join
      dbo.vDiscovery D
      on D.DiscoveryRowId = DMP.DiscoveryRowId
where
   ChangeDateTime > dateadd(hh, - 24, getutcdate())
ORDER BY
   MP.ManagementPackSystemName,
   MET.ManagedEntityTypeSystemName

Этот запрос может определить, какие свойства изменились за последние 24 часа. В сочетании с предыдущим запросом этот запрос может показать, какие старые и новые значения были для свойства, какие агенты отправили изменение, рабочий процесс, который выполнял обнаружение, и пакет управления, в котором он содержался.

Сокращение оттока конфигурации

В более старых пакетах управления появились рабочие процессы обнаружения, которые слишком часто отправят изменения свойств. В текущих версиях большинства пакетов управления эти рабочие процессы обнаружения были изменены для менее частой отправки данных, или пакеты управления не запрашивают переменные свойства, которые часто изменяются. Рекомендуется обновить пакеты управления, содержащие рабочие процессы, которые часто встречаются в предыдущем запросе.

Если новая версия пакета управления недоступна или новая версия не может быть развернута сейчас, интервал обнаружения можно изменить с помощью переопределения, чтобы выполняться реже. Иногда обнаружение, ответственное за отток конфигурации, можно отключить путем переопределения. Если обнаружение отключено в течение нескольких недель, объекты, обнаруженные рабочим процессом, могут быть выведены из базы данных. Однако отключение обнаружения может стать краткосрочным обходным решением для устранения оттока конфигурации при условии, что постоянное решение может быть реализовано до того, как какие-либо объекты будут удалены из базы данных. Рабочий процесс также можно включить с короткими интервалами для повторного обнаружения объектов перед их очисткой.

Некоторые рабочие процессы в этих старых пакетах управления рассматриваются в статье Что такое отток конфигурации?

Если рабочий процесс связан с пользовательским обнаружением, предназначенным для изменяющегося свойства, например свободного места на диске, обнаружение следует переписать, чтобы оно не было нацелено на свойство, которое часто изменяется. Рабочие процессы обнаружения не должны ориентироваться на экземпляры с коротким временем существования (несколько недель или меньше). Рабочие процессы обнаружения не должны собирать свойства тех экземпляров, которые часто изменяются (один или несколько раз в месяц). Переменные данные не учитываются при вычислении конфигурации. Таким образом, изменяемые данные должны собираться с помощью правил производительности, а не рабочих процессов обнаружения.

Дополнительная настройка производительности

В больших группах управления (более 1000 агентов) корневой сервер управления (RMS) может быть занят операциями, которые обычно не вызывают проблем в небольших группах управления. В этой ситуации даже небольшое количество изменений свойств может привести к частому оттоку из-за длительности времени, необходимого для обработки изменений. Несколько изменений конфигурации можно использовать, чтобы снизить эксплуатационные издержки RMS и позволить ему обрабатывать типичную скорость изменения свойств достаточно быстро, чтобы избежать оттока конфигурации. Эти изменения конфигурации рассматриваются в статье Оптимизация производительности для Operations Manager 2007 R2 и 2012.

Принудительное изменение конфигурации для группы управления

Если изменение конфигурации для группы управления происходит постоянно, любые изменения, чтобы уменьшить частоту проблемных рабочих процессов или отключить проблемные рабочие процессы, никогда не будут распространяться на агенты. В этом случае поток входящих данных обнаружения должен быть заблокирован, чтобы позволить службе управления конфигурацией System Center вычислить текущую конфигурацию, в которой рабочий процесс, создающий эти данные, отключен или выполняется реже.

Данные обнаружения передаются в OperationsManager базу данных через службу доступа к данным System Center (DAS). Сначала данные передаются в DAS службой управления System Center на RMS. RMS получает эти данные от агентов или от других серверов управления. Для блокировки входящих подключений к RMS через порт 5723 можно использовать брандмауэр Windows или другие сетевые средства. Эта процедура блокировки предотвращает отправку данных обнаружения в OperationsManager базу данных достаточно долго, чтобы служба управления конфигурацией вычислила текущую конфигурацию для агентов, отправляющих данные.

Служба управления System Center и служба доступа к данным System Center в RMS не должны останавливаться или отключать, пока служба управления конфигурацией вычисляет текущую конфигурацию. Чтобы завершить вычисление конфигурации группы управления, службе управления System Center требуется следующее:

  • Служба управления System Center в RMS должна работать и работать.
  • Служба доступа к данным System Center должна иметь возможность взаимодействовать с базой данных.

Кроме того, некоторые данные могут быть отложены на агентах и на других серверах управления, пока служба управления конфигурацией вычисляет текущую конфигурацию. Поэтому исключение брандмауэра или порта следует отменить, как только в журнале событий Operations Manager в RMS появится событие с идентификатором 21025. Это событие указывает на то, что служба управления конфигурацией вычислила новую конфигурацию для группы управления, в которой рабочий процесс теперь отключен или изменен.

Определение потенциальных причин оттока конфигурации с помощью отчетов Operations Manager

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

  • Отчет о томе данных по пакету управления

    Отчет Data Volume by Management Pack компилирует сведения об объеме данных, создаваемых пакетами управления. В отчете указано количество вхождений на пакет управления для следующих типов данных:

    • Открытий
    • Оповещения
    • Производительность (количество экземпляров, отправленных для счетчиков производительности и собранных пакетом управления)
    • События
    • Изменения состояния
  • Отчет "Объем данных по рабочим процессам и экземплярам"

    Отчет Объем данных по рабочим процессам и экземплярам компилирует сведения об объеме создаваемых данных, упорядоченных по рабочим процессам (обнаружения, правилам, мониторам и т. д.) и по экземплярам.

    Доступ к этому отчету можно получить двумя способами:

    • В отчете Data Volume by Management Pack (Объем данных по пакету управления ) выберите одну из ячеек счетчика в таблице в верхней части отчета, чтобы открыть отчет Объем данных по рабочим процессам и Экземпляр для пакетов управления.
    • Запустите отчет непосредственно из раздела Отчеты в консоли управления. Если вы запускаете отчет Объем данных по рабочему процессу и экземпляру напрямую, необходимо задать параметры отчета, чтобы настроить результаты. В этом отчете содержатся сведения о томе данных по пакету управления . Поэтому параметры параметров по умолчанию могут не предоставлять нужные сведения.