Aleksey 的个人资料Automatisation of our sy...日志列表网络 工具 帮助

日志


2008/6/12

Настройка уведомлений в SCOM 2007 с использованием notification command channel( Часть 3 ).

5. И заключительный этап – необходимо задать аккаунт, из под которого будет запускаться скрипт. Для этого необходимо в SCOM Operation Сonsole  зайти в Administration –>Security –> User Roles. В правом окне найти Profile: Read-Only operator и щелкнув по этому профилю правой кнопкой мыши, создать новую роль - Read Only Operator.

Назовем эту роль Task execution operator и в группу членов данной роли добавим оператора, которому разрешим доступ к необходимым для мониторинга событиям(алертам) и соответсвующим видам. Из под этого пользователя будет запускаться powershell скрипт, который будет получать необходимые свойства по заданному Alert ID (идентификационному номеру события).

Важно: Чтобы заданные права вступили в силу, необходимо залогинится под этим аккаунтом на RMS сервер и запустить под ним SCOM Operation Console.

На данном этапе настройка уведомлений в SCOM-е завершена и теперь необходимо проверить работу, создав событие в SCOM-е которое будет попадать под критерии заданной подписки.

А теперь о возможных проблемах, которые присутствуют в SCOM 2007 SP1.

1.     Получения события на RMS сервере: “Script or Executable was Dropper”, когда срабатывает комманда извещения (Notification command).

Источник: http://blogs.technet.com/cliveeastwood/archive/2008/04/16/some-more-command-notification-tricks-and-tips.aspx

Решается данная проблема, добавлением ключа в реестре на RMS сервере.

Зайдите в regedit и найдите следующую ветку реестра

HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Operations Manager\3.0\Modules

Теперь нужно создать в этой ветке новый ключ – «Global», а в этом ключе – следующий ключ – «Command Executer». Теперь в этом ключе создать AsyncProcessLimit (REG_DWORD), которое может указывает сколько максимально паралельных процессов (Notification command channel) может быть запущено. По умолчанию это значение равно 5-ти. А т.к. подключение к SCOM-у через powershell занимает достаточно длительное время до 3-5 секунд, то порой это может стать проблемой при попытке отправить большому кол-ву получателей извещений. Я рекомедую установить значение как минимум равное 20-25(в десятичной системе).

 

Продолжение следует...

(будут описаны еще некоторые возможные проблемы касающиеся обработки уведомлений на виртуальных машинах(к примеру RMS на VmWare server))

2008/6/11

Настройка уведомлений в SCOM 2007 с использованием notification command channel( Часть 2 ).

2.       Далее необходимо настроить notification command channel . Для этого необходимо зайти в SCOM Operation Console, далее перейти в раздел Administration и в дереве выбрать  Settings  в результате в  правом окне отобразится список доступных настроек для SCOMa.

Далее два раза щелкнув по Notification перейти на вкладку Command. На этой вкладке  теперь мы можем задать необходимую комманду обработки уведомлений нажав на кнопку ”*Add

В открывшейся форме заполняем следующие поля:

(Я привожу пример для своего тестового окружения, пути к соответствующим файлам могут различаться)

Notification command channel name(имя канала уведомлений):

Sms_notification

 

Desription(описание):

Test notification channel

 

Full path to file(полный путь к файлу):

C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe

 

Command line parameters(все параметры записуются в одну строку):

-PSConsoleFile Microsoft.EnterpriseManagement.OperationsManager.ClientShell.Console.psc1

.\Microsoft.EnterpriseManagement.OperationsManager.ClientShell.Startup.ps1;

c:\test_scripts\scom_notification.ps1

-Id '$Data/Context/DataItem/AlertId$'

-address '$Data/Recipients/To/Address/Address$'

 

Initial directory(исходный каталог):

C:\Program Files\System Center Operations Manager 2007

3.       Теперь необходимо задать Notification Recipient (подписчики на уведомления)

В  SCOM Operation Console , заходим Administration –> Notification –> Recipients. Задаем отображаемое имя подписчиков(можно выбрать пользователю или группу из AD)

Далее переходим на вкладку Notification Devices и добавляем новое устройство оповещения.

В поле Notification channel задаем имя созданного канала из предыдущего шага.

В поле Delivery address – адрес доставки, это может быть как телефонный номер так и название электронной почты( или все вместе ;-)

Для завершения создания устройства оповещения ннеобходимо зайти на вкладку General и  задать имя устройства, в данном случае я записал как «sms_notification_device»

4.       Теперь необходимо создать Notification Subscription (подписка на уведомления) Administration –>Notification –>Subscription

На вкладке General необходимо задать название подписки и добавить в поле Recipients необходимых получателей уведомлений.

Остальные вкладки позволяют задавать критерии и фильтры сообщений. В моем случае я решил остановиться только на критерии сообщений (Alert Criteria). Выбрав обрабатывать только критические сообщения (Critical severity ), которые имеют High и Medium приоритет, а также те которые имеют статус New (т.е. новые появившиеся) и соответственно для всех категорий сообщений.

Как уже выше говорил, можно создавать несколько подписок на уведомления, а также можно ими управлять, активируя или деактивируя их.

 

Продолжение в следующей части...

2008/6/10

Настройка уведомлений в SCOM 2007 с использованием notification command channel( Часть1 ).

В один прекрасный момент была поставлена задача настройки доставки уведомлений, через SMS шлюз, который подключался непосредственно к RMS cерверу. Для передачи sms сообщения необходимо было передать параметры сообщения(номера доставки, тема и собственно само тело сообщения) непосредственно в исполняемый файл (к примеру smssend.exe ;-))

Кроме того, была поставлена задача разбора сообщений по определенным критериям, которые увы не доступны при использовании стандартных средств управления уведомлениями SCOM'a. Вспомнив о существовании powershell scom cmd-lets, решено было писать скрипт обработки именно при помощи powershell.

Для начала немножко теории о настройки уведомлений в SCOM'е. Сама настройка заключается в конфигурировании следующих компонентов:

1. Notification channels  -  задаёт транспорт доставки уведомлений. Можно одновременно использовать несколько типов транспортов, что весьма удобно ;-) .

E-mail  -  используется для отправки уведомлений пользоватлям по почте.

Instant Messaging - используется для отправки сообщений через IM cервера поддерживающие SIP протокол.

Short Message Service - отправка уведомлений через SMS шлюз(SCOM 2007 умеет работать только с теми модемами, которые поддерживаю PDU режим)

Command - возможность запускать свои скрипты обработки уведомлений

2. Notification Recipient - задание списка получателей. Спискок включает в себя следующие параметры

3. Subscription - здесь можно задать формат и фильтры сообщения. Увы не всегда хватает существующих правил и в этом случае самым простым решением будет описание их в скрипте отправки сообщения.

4. Создание исполняющего аккаунта, который будет использован для отправки уведомлений, а также для запуска скриптов при использовании Notification command channel.

 (Настоятельно реккомендую тем, кто еще не установил пакет обновлени SP1 для System Center Operation Manager 2007, установить его, т.к. в нем присутствуют критические обновления затрагивающие процесс обработки уведомлений!)

 Приступим к настройке уведомлений с использованием Notification command channel.

 1.       Cначала создадим powershell скрипт разбора сообщений и их отправки через sms шлюз. Скрипт через входные параметры будет получать идентификационный номер события (Alert Id) и адрес доставки(Address) для данного получателя сообщений(Notification Recipient). Этого более чем достаточно для дальнейшей обработки события и отправки его заданным адресатам. Назовем его scom_notification.ps1

Пример скрипта:

param ($Id, $address)

$log = ".\scom_notification.log"

$monitor_alert = Get-Alert -id $Id

$alert_name = $monitor_alert.name

$computer = $monitor_alert.netbioscomputername.toUpper()

$domain = $monitor_alert.netbiosdomainname.toUpper()

$descr = $monitor_alert.description

$phone = $address

#Поместим в лог файл полученные свойства события

write-output (get-date -Format "dd-MM-yyyy HH:mm:ss") >> $log

write-output "Alert Id: $Id ; Recipients: $address" >> $log

write-output "$domain\$computer ; $alert_name ; $descr" >> $log

 

#Здесь можно вставить комманды по обработке полученных свойства события

 

# ... что-то делаем, обрабатываем ...

 

# а теперь передаем sms шлюзу параметры отправки сообщения.

 

  & 'C:\smsgate\smssend.exe' "-d $phone" "$domain\$computer : $descr"

 

 

Продолжение в следующей части...