Лучший отвечающий
Не срабатывает оповещение о недоступности серверов.

Вопрос
-
С момента установки SCOM2007 ни разу не возникал алёрт о недоступности агентов, хотя сервера постоянно перезагружаются, выключаются, и сетка сбоит иногда. Но ни одного алёрта так и не пришло. Более того, в моменты недоступности агентов SCOM пытается выполнять на них свои скрипты, из - за чего постоянно призодят алёрты о невозможности выполнить скрипт. Подскажите, в чём тут может быть дело.12 апреля 2008 г. 6:36
Ответы
-
При выборе класса (когда создаете подписку) указать Health Service Watcher (там где Only Classes explicitly...).14 апреля 2008 г. 7:07Отвечающий
-
Да
14 апреля 2008 г. 15:16Отвечающий
Все ответы
-
SP1 установлен? Когда агент недоступен Health Service Watcher переходит в состояние Critical?
12 апреля 2008 г. 13:34Отвечающий -
SCOM ставился изначально с SP1.
Есть некий странный override на мониторе Health Service Heartbeat Failure -
Type -- Name -- Parameter -- Changed value
Type -- Managed Computer Client Health Service Watcher Group -- Generate Alert -- False
Это нормально?12 апреля 2008 г. 17:49 -
Да, это нормально. Для клиентских компьютеров алерты отключены, иначе в конце рабочего дня (когда пользователи обычно выключают или перезагружают компьютеры) OpsMgr заваливал бы операторов штормом алертов.13 апреля 2008 г. 5:43Отвечающий
-
Вот сейчас один из серверов выключен. Письмо об этом не приходило. Во view computers он серый, в Health Explorere тоже всё серое. Что должно быть в статусе critical?13 апреля 2008 г. 6:36
-
Monitoring\Operations Manager\Agent\Agent Health State13 апреля 2008 г. 9:32Отвечающий
-
Статус Critical.13 апреля 2008 г. 13:34
-
Хорошо. В Monitoring\Active alerts алерт Health Service unavailable есть?
У Health Service Watcher есть два "плохих" статуса:
- Health Service агента не посылает heartbeat, но компьютер отвечает на пинг - статус Critical, алерт Health Service unavailable.
- Health Service агента не посылает heartbeat, и компьютер не отвечает на пинг - статус Warning, алерт Computer NOT Reachable.
Если у вас нет в Monitoring\Active alerts нет подобных алертов - значит у вас есть оверрайды на соотв. мониторах. Ищите мониторы Health Service unavailable и Computer NOT Reachable в Authoring pane и смотрите.
Если алерты есть, но вы не получаете данных алертов по почте\IM\SMS, то у вас неправильно оформлена подписка (subscription). Чтобы получать данные алерты, подписка должна быть на события от объектов Health Service Watcher, а не непосредственно на наблюдаемые объекты - проверьте свойства подписки....
14 апреля 2008 г. 2:40Отвечающий -
Алёрты есть, а письма не приходят. Значит я с подпиской намудрил. Пойдём от противного. Как подписать человека ТОЛЬКО на уведомления о недоступности серверов? Чтоб он получал письма о том что Health Service Heartbeat Failure и больше ничего не получал.14 апреля 2008 г. 5:36
-
При выборе класса (когда создаете подписку) указать Health Service Watcher (там где Only Classes explicitly...).14 апреля 2008 г. 7:07Отвечающий
-
Там 5 групп, имеющих в названии Health Service Watcher Group. Которую надо выбрать?14 апреля 2008 г. 7:50
-
Я ошибся изначально. Выберите Health Service Watcher
14 апреля 2008 г. 8:04Отвечающий -
Именно Health Service Watcher? Не Health Service Watcher (Agent)?14 апреля 2008 г. 12:32
-
Да
14 апреля 2008 г. 15:16Отвечающий -
День добрый!
Уже после прочтения статьи http://blogs.technet.com/smsandmom/archive/2008/03/25/opsmgr-2007-monitoring-health-service-availability.aspx
наткнулся и на её русский перевод: http://opsmgr.ru/Lists/Posts/Post.aspx?List=80e43e78%2Df907%2D482d%2D8cd9%2D6e643ba70b52&ID=3&Source=http%3A%2F%2Fopsmgr%2Eru%2FLists%2FPosts%2FArchive%2Easpx
Теоретически вроде все понятно. Однако хочется видеть алерты только о недоступности серверов. Если же мы делаем подписку на класс Health Service Watcher, то кроме сообщений о недоступности серверов мы получаем еще сообщения вида:
Alert raised by monitor when a Health Service is unable to process configuration update or load configuration.
Agent proxying needs to be enabled for a health service to submit discovery data about other computers.
которые также генерируются классом Health Service Watcher.
Я что-то делаю не так или так и должно быть?
Если все правильно, то как все-таки сдеать подписку только о недоступности серверов(службы Health Service )?
P.S. SCOM с SP1
16 октября 2008 г. 12:10 -
Так и должно быть. Подписавшись на алерты от класса вы будете получать все алерты. Для получения только конкретных алертов нужно использовать скрипты. Я где-то здесь уже постил ссылку на скрипт.
PS.
наткнулся и на её русский перевод Это не совсем перевод. Скорее "по мотивам". Источников было несколько
16 октября 2008 г. 13:05Отвечающий -
Если Вы об этом скрипте: http://blogs.technet.com/stefan_stranger/archive/2008/07/09/email-alert-notification-based-on-alert-descriptions.aspx, то с ним знаком, с уведомлением по e-mail, все отлично работает, а как быть с уведомленими через SMS?
Не совсем понимаю, почему такая нехитрая задача, как уведомление SMS`кой о недоступности сервера требует такой хитрой настрйки?
17 октября 2008 г. 8:16 -
Как говорится, by design.
Вместо отправки е-мейла в этом скрипте вы можете вставить вызов Microsoft SMS Sender с параметрами.
17 октября 2008 г. 8:26Отвечающий -
Поскольку в скрптах я не силен, то эта задача вызвала определенные трудности
Тем не менее результат достигнут. Может кому понадобится:
Code SnippetOption Explicit
Dim colNamedArguments
Dim AlertDescription
Dim AlertSource
Dim AlertName
Dim AlertState
Dim objShell
Dim strBody
Dim SearchChar,MyPos
Dim WshShell,SMSbody
Dim objWMIService, objProcess, colProcessSearchChar = "HearBeat failure" 'здесь необходимо указать Alert Desccription'или его часть при котором будет отправляться SMS`каSet colNamedArguments = Wscript.Arguments.Named
Set objShell = CreateObject("Wscript.Shell")
AlertDescription = colNamedArguments("desc")
AlertName = colNamedArguments("alert")
AlertSource = colNamedArguments("source")
AlertState = colNamedArguments("state")strBody = "Alert Name: " & AlertName & ". Alert Source: " & AlertSource & ". Alert Description: " & AlertDescription & ". State: " & AlertState
SMSbody = """" & strBody & """"MyPos = InStr(1, AlertDescription, SearchChar, 1)
If MyPos<>0 then Call SendEMail
Public Function SendEmail
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run """C:\Program Files (x86)\Microsoft SMS Sender\smssender.exe"" /i /p:+7921******** /m:" & SMSbody
End Functionwscript.sleep 5000
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\localhost\root\cimv2")
Set colProcess = objWMIService.ExecQuery ("Select * from Win32_Process Where Name = 'SMSSender.exe'" )
For Each objProcess in colProcess
objProcess.Terminate()
NextWScript.QuitНе забудте поправить значение переменной SearchChar и номер телефона (+7921******** )Если кто разбирается в скритпах, буду рад услышать где и что сделано не такP.S. G14, в очередной раз спасибо за помощь!19 октября 2008 г. 8:50