SCOM 监视器不报告
SCOM Monitor not reporting
我 运行 遇到了一些 SCOM 问题。我已经创建了下面的脚本来监视应用程序。当脚本运行时,它会在事件日志中创建一个条目,并且我已经为监视器 运行 打开的特定组配置了警报。
我的问题是我没有正确创建脚本吗?
这是我将 oAPI.Return(oBag)
更改为 oAPI.ReturnItems
时出现的错误
The process started at 2:24:23 PM failed to create
System.PropertyBagData. Errors found in output:
C:\Program Files\System Center Operations Manager\Agent\Health Service
State\Monitoring Host Temporary Files 84451\voxwareMonitor.vbs(33,
2) Microsoft VBScript runtime error: Invalid procedure call or
argument
Dim proc, serv, oArgs, oAPI, oBag
sComputerName = "."
Set objWMIService = GetObject("winmgmts:\" & sComputerName & "\root\cimv2")
sQueryPro = "SELECT * FROM Win32_Process"
sQuerySer = "SELECT * FROM Win32_Service"
Set objProcs = objWMIService.ExecQuery(sQueryPro)
Set objServ = objWMIService.ExecQuery(sQuerySer)
Set oAPI = CreateObject("MOM.ScriptAPI")
Set oBag = oAPI.CreatePropertyBag()
For Each objItem In objProcs
If objItem.Name = "javaw.exe" Then
proc = True
End If
Next
For Each objS In objServ
If objS.Name = "vlsoperatorconsole_voxwarevls" Then
serv = True
End If
Next
If proc = True And serv = True Then
Call oBag.AddValue("Service", "Running")
Call oBag.AddValue("Process", "Running")
oAPI.LogScriptEvent "Voxware Monitor", 411, 0, "Application and Services are running"
Call oAPI.Return(oBag)
Else
If proc = False Then
Call oBag.AddValue("Process", "Stopped")
oAPI.LogScriptEvent "Voxware Monitor", 911, 1, "Process has stopped"
Call oAPI.Return(oBag)
End If
If serv = False Then
Call oBag.AddValue("Service", "Stopped")
oAPI.LogScriptEvent "Voxware Monitor", 911, 1, "Service has stopped"
Call oAPI.Return(oBag)
End If
End If
根据MOMScriptAPI.ReturnItems Method:
The ReturnItems
method submits objects to Operations Manager. For
this method to be successful, objects must have been previously added
to the in-memory array with MOMScriptAPI.AddItem
.
示例:
Call oBag.AddValue("Service", "Running")
Call oBag.AddValue("Process", "Running")
oAPI.LogScriptEvent "Voxware Monitor", 411, 0, "Application and Services are running"
'''Call oAPI.Return(oBag)
oAPI.AddItem oBag
Call oAPI.ReturnItems
我 运行 遇到了一些 SCOM 问题。我已经创建了下面的脚本来监视应用程序。当脚本运行时,它会在事件日志中创建一个条目,并且我已经为监视器 运行 打开的特定组配置了警报。
我的问题是我没有正确创建脚本吗?
这是我将 oAPI.Return(oBag)
更改为 oAPI.ReturnItems
The process started at 2:24:23 PM failed to create System.PropertyBagData. Errors found in output:
C:\Program Files\System Center Operations Manager\Agent\Health Service State\Monitoring Host Temporary Files 84451\voxwareMonitor.vbs(33, 2) Microsoft VBScript runtime error: Invalid procedure call or argument
Dim proc, serv, oArgs, oAPI, oBag
sComputerName = "."
Set objWMIService = GetObject("winmgmts:\" & sComputerName & "\root\cimv2")
sQueryPro = "SELECT * FROM Win32_Process"
sQuerySer = "SELECT * FROM Win32_Service"
Set objProcs = objWMIService.ExecQuery(sQueryPro)
Set objServ = objWMIService.ExecQuery(sQuerySer)
Set oAPI = CreateObject("MOM.ScriptAPI")
Set oBag = oAPI.CreatePropertyBag()
For Each objItem In objProcs
If objItem.Name = "javaw.exe" Then
proc = True
End If
Next
For Each objS In objServ
If objS.Name = "vlsoperatorconsole_voxwarevls" Then
serv = True
End If
Next
If proc = True And serv = True Then
Call oBag.AddValue("Service", "Running")
Call oBag.AddValue("Process", "Running")
oAPI.LogScriptEvent "Voxware Monitor", 411, 0, "Application and Services are running"
Call oAPI.Return(oBag)
Else
If proc = False Then
Call oBag.AddValue("Process", "Stopped")
oAPI.LogScriptEvent "Voxware Monitor", 911, 1, "Process has stopped"
Call oAPI.Return(oBag)
End If
If serv = False Then
Call oBag.AddValue("Service", "Stopped")
oAPI.LogScriptEvent "Voxware Monitor", 911, 1, "Service has stopped"
Call oAPI.Return(oBag)
End If
End If
根据MOMScriptAPI.ReturnItems Method:
The
ReturnItems
method submits objects to Operations Manager. For this method to be successful, objects must have been previously added to the in-memory array withMOMScriptAPI.AddItem
.
示例:
Call oBag.AddValue("Service", "Running")
Call oBag.AddValue("Process", "Running")
oAPI.LogScriptEvent "Voxware Monitor", 411, 0, "Application and Services are running"
'''Call oAPI.Return(oBag)
oAPI.AddItem oBag
Call oAPI.ReturnItems