none
Не срабатывает оповещение о недоступности серверов. RRS feed

  • Вопрос

  • С момента установки SCOM2007 ни разу не возникал алёрт о недоступности агентов, хотя сервера постоянно перезагружаются, выключаются, и сетка сбоит иногда. Но ни одного алёрта так и не пришло. Более того, в моменты недоступности агентов SCOM пытается выполнять на них свои скрипты, из - за чего постоянно призодят алёрты о невозможности выполнить скрипт. Подскажите, в чём тут может быть дело.
    12 апреля 2008 г. 6:36

Ответы

Все ответы

  • 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 State

     

    13 апреля 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.

    наткнулся и на её русский перевод

    Это не совсем перевод. Скорее "по мотивам". Источников было несколько Smile

     

    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 Snippet
    Option Explicit
    Dim colNamedArguments
    Dim AlertDescription
    Dim AlertSource
    Dim AlertName
    Dim AlertState
    Dim objShell
    Dim strBody
    Dim SearchChar,MyPos
    Dim WshShell,SMSbody
    Dim objWMIService, objProcess, colProcess
    SearchChar = "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 Function
     
    wscript.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()
    Next
    WScript.Quit
     
    Не забудте поправить значение переменной SearchChar и номер телефона (+7921******** )
    Если кто разбирается в скритпах, буду рад услышать где и что сделано не так
     
    P.S. G14, в очередной раз спасибо за помощь!
    19 октября 2008 г. 8:50