none
tnsping в SCOMе RRS feed

  • Вопрос

  • Доброго времени суток!

    При попытке поставить на мониторинг "монитор" со скриптом vbs, выполняющим tnsping, возникли проблемы. Надеюсь на вашу помощь.

    Первоначальный скрипт приводить не буду, скажу только что и первоначальный и поставленный в SCOM (а также приведенный здесь) выдает ошибку Event ID 21414 на сервере, куда сделан override.

    dim obj_shell, res
    
    dim obj_fso, str_output, str_record, int_strsearch, int_statistic, int_exitcode
    
    dim obj_regex, col_match
    
    res="fail"
    
    int_exitcode = 1
    
    set obj_FSO = CreateObject("Scripting.FileSystemObject")
    
    set obj_shell = wscript.createobject ("wscript.shell")
    
    Set oAPI = CreateObject("MOM.ScriptAPI")
    
    On Error Resume Next
    
    obj_shell.run "cmd /c E:\foldername\tnsping.exe servername 2 > c:\temp\output.txt", 10, true
    
    If Err.Number = 0 Then res = "Okay"
    
    strData = cStr(res)
    
    Set oBag = oAPI.CreatePropertyBag()
    
    call oBag.AddValue("DBName",DBname)
    
    call oBag.AddValue("Value", strData)
    
    Call oAPI.Return(oBag)
    
    Call oAPI.LogScriptEvent("scom04",99999,1," Tnsping, res =  "& res &" ")
    
    str_output.close
    
    wscript.quit(int_exitcode)
    
    Ошибка 21414:

    Data was found in the output, but has been dropped because the Event Policy for the process started at 10:10:03 has detected errors.   The 'ExitCode' policy expression:
    	[^0]+
     matched the following output:
    	1 
    
    Command executed:	"C:\WINDOWS\system32\cscript.exe" /nologo "TnsPing.vbs"
    Working Directory:	C:\Program Files\System Center Operations Manager 2007\Health Service State\Monitoring Host Temporary Files 2\9077\ 
    
    One or more workflows were affected by this.  

    При этом, и первоначальный и урезанный скрипт при запуске непосредственно на сервере scom04, никаких ошибок не выдает (при добавлении в скрипт операторов вывода, результат выдает корректно и без ошибок).

     

    31 октября 2013 г. 8:59

Все ответы

  • Доброго времени суток!

    При попытке поставить на мониторинг "монитор" со скриптом vbs, выполняющим tnsping, возникли проблемы. Надеюсь на вашу помощь.

    Первоначальный скрипт приводить не буду, скажу только что и первоначальный и поставленный в SCOM (а также приведенный здесь) выдает ошибку Event ID 21414 на сервере, куда сделан override.

    dim obj_shell, res
    
    dim obj_fso, str_output, str_record, int_strsearch, int_statistic, int_exitcode
    
    dim obj_regex, col_match
    
    res="fail"
    
    int_exitcode = 1
    
    set obj_FSO = CreateObject("Scripting.FileSystemObject")
    
    set obj_shell = wscript.createobject ("wscript.shell")
    
    Set oAPI = CreateObject("MOM.ScriptAPI")
    
    On Error Resume Next
    
    obj_shell.run "cmd /c E:\foldername\tnsping.exe servername 2 > c:\temp\output.txt", 10, true
    
    If Err.Number = 0 Then res = "Okay"
    
    strData = cStr(res)
    
    Set oBag = oAPI.CreatePropertyBag()
    
    call oBag.AddValue("DBName",DBname)
    
    call oBag.AddValue("Value", strData)
    
    Call oAPI.Return(oBag)
    
    Call oAPI.LogScriptEvent("scom04",99999,1," Tnsping, res =  "& res &" ")
    
    str_output.close
    
    wscript.quit(int_exitcode)
    Ошибка 21414:

    Data was found in the output, but has been dropped because the Event Policy for the process started at 10:10:03 has detected errors.   The 'ExitCode' policy expression:
    	[^0]+
     matched the following output:
    	1 
    
    Command executed:	"C:\WINDOWS\system32\cscript.exe" /nologo "TnsPing.vbs"
    Working Directory:	C:\Program Files\System Center Operations Manager 2007\Health Service State\Monitoring Host Temporary Files 2\9077\ 
    
    One or more workflows were affected by this.  

    При этом, и первоначальный и урезанный скрипт при запуске непосредственно на сервере scom04, никаких ошибок не выдает (при добавлении в скрипт операторов вывода, результат выдает корректно и без ошибок).

     

    Так вы сами задали чтобы скрипт выходил с ошибкой 1. Нормальным выходом из скрипта является код 0. Да и вообще, какой смысл в конце скрипта задавать выход и более того, код ошибки. Удалите строку Wscript.Quit(int_exitcode).


    Vladimir Zelenov | http://systemcenter4all.wordpress.com

    31 октября 2013 г. 16:13
    Отвечающий