По мере расширения инфраструктуры SCOM и увеличения серверов управления (Management Server) может возникнуть необходимость в форсированном назначении значений Primary Management Server и Failover Management Server для агентов, чтобы избежать ситуации когда при недоступном ближайшем первичном сервере управления агенты начнут обращаться на сервера управления на удалённых площадках нагружая при этом WAN-каналы там где это не желательно. Такое поведение агентов в конфигурации по умолчанию может быть обусловлено настройками, которые можно видеть в конфигурационном файле клиента в кэше коннектора соответствующей ему группы управления.
По умолчанию этот файл - OpsMgrConnector.Config.xml можно найти в папке %ProgramFiles%System Center Operations Manager 2007Health Service StateConnector Configuration Cache<Название группы управления>
В разделе файла Parents будут для ненастроенного агента перечислены все сервера управления присутствующие в группе управления, при этом только один из них основной сервер управления будет иметь признак первичного и при его недоступности в качестве альтернативы агент может выбрать любой имеющийся в списке сервер не взирая на его возможную удалённость. Для того чтобы сократить этот список и тем самым загнать поведение агентов в более узкие рамки воспользуемся Operations Manager Shell. Приведу ряд примеров для манипуляций со значениями Primary и Failover серверов на агентах.
Изменение Primary сервера на одном конкретном агенте:
$PrimaryMS = Get-ManagementServer | Where {$_.Name -eq 'KOM-AD01-MON01.holding.com'}
$Agent = Get-Agent | Where {$_.Name -eq 'AGENT01.holding.com'}
Set-ManagementServer -AgentManagedComputer: $Agent -PrimaryManagementServer: $PrimaryMS
При этом надо учитывать что после выполнения этого скрипта список “родительских” серверов управления заполненный по умолчанию будет вычищен и будет настроен в соответствии с указанными параметрами.
Изменение Primary сервера на всех агентах с одного на другой:
$PrimaryMS = Get-ManagementServer | Where {$_.Name -eq 'KOM-AD01-MON02.holding.com'}
$Agents = Get-Agent | Where {$_.PrimaryManagementServerName -eq 'KOM-AD01-MON01.holding.com'}
$Agents | foreach { Set-ManagementServer -AgentManagedComputer: $_ -PrimaryManagementServer: $PrimaryMS }
Назначение Primary и Failover сервера на агентах по маске их имени
$PrimaryMS = Get-ManagementServer | Where {$_.Name -eq 'MON01.holding.com'}
$FailoverMS = Get-ManagementServer | Where {$_.Name -eq 'MON02.holding.com'}
$Agents = Get-Agent | Where {$_.Name -like 'KOM-AD01-*'}
$Agents | foreach { Set-ManagementServer -AgentManagedComputer: $_ -PrimaryManagementServer: $PrimaryMS -FailoverServer: $FailoverMS }
После этого мы сможем увидеть то, что через некоторое время агенты получили соответствующие жёсткие настройки в свой конфигурационный файл.
Добавить комментарий