Avaliable
PostgreMP.Windows.ConAvaliableMonitor (UnitMonitor)
Is postgres Avaliable?
Element properties:
Source Code:
<UnitMonitor ID="PostgreMP.Windows.ConAvaliableMonitor" Accessibility="Public" Enabled="true" Target="PostgreMP.Windows.Application" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.TimedScript.TwoStateMonitorType" ConfirmDelivery="false">
<Category>Custom</Category>
<AlertSettings AlertMessage="PostgreMP.Windows.ConAvaliableMonitor_AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UIGeneratedOpStateId8b56c3772bda4ba1b14175de8e6ea025" MonitorTypeStateID="Success" HealthState="Success"/>
<OperationalState ID="UIGeneratedOpStateId62c390cb131249b8b4714636b504a89d" MonitorTypeStateID="Error" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>600</IntervalSeconds>
<SyncTime/>
<ScriptName>Avaliability.vbs</ScriptName>
<Arguments/>
<ScriptBody><Script>Option Explicit
On Error Resume Next
Dim conn
Set conn= CreateObject("ADODB.Connection")
conn.Open "Provider=MSDASQL.1;Data Source=PostgreSQL30"
Dim rs
Set rs = CreateObject("ADODB.recordset")
rs.Open "SELECT version()", conn
Dim value
value = rs.Fields(0).value
rs.close
conn.Close
Dim oAPI, oBag
Set oAPI = CreateObject("MOM.ScriptAPI")
Set oBag = oAPI.CreatePropertyBag()
If value<>Empty Then
Call oBag.AddValue("Status","OK")
Else
Call oBag.AddValue("Status","-1")
End If
Call oAPI.Return(oBag)
</Script></ScriptBody>
<TimeoutSeconds>60</TimeoutSeconds>
<ErrorExpression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='Status']</XPathQuery>
</ValueExpression>
<Operator>NotEqual</Operator>
<ValueExpression>
<Value Type="String">OK</Value>
</ValueExpression>
</SimpleExpression>
</ErrorExpression>
<SuccessExpression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='Status']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">OK</Value>
</ValueExpression>
</SimpleExpression>
</SuccessExpression>
</Configuration>
</UnitMonitor>