PostgreSQLMP dbDiscovery

PostgreMP.Windows.DatabaseDiscovery (Discovery)

dbDiscovery Description

Element properties:

TargetPostgreMP.Windows.Application
EnabledTrue
Frequency14400
RemotableFalse

Object Discovery Details:

Discovered Classes and their attribuets:

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.TimedScript.DiscoveryProvider Default

Source Code:

<Discovery ID="PostgreMP.Windows.DatabaseDiscovery" Enabled="true" Target="PostgreMP.Windows.Application" ConfirmDelivery="false" Remotable="true" Priority="Normal">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryClass TypeID="PostgreMP.Windows.Database"/>
</DiscoveryTypes>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.TimedScript.DiscoveryProvider">
<IntervalSeconds>14400</IntervalSeconds>
<SyncTime/>
<ScriptName>PostgresdbDiscovery.vbs</ScriptName>
<Arguments>$MPElement$ $Target/Id$ $Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</Arguments>
<ScriptBody><Script>
Option Explicit

Dim SourceId, ManagedEntityId, sComputerName
SourceId = WScript.Arguments(0)
ManagedEntityId = WScript.Arguments(1)
sComputerName = WScript.Arguments(2)

Dim oAPI
Set oAPI = CreateObject("MOM.ScriptAPI")
Dim oDiscoveryData
Set oDiscoveryData = oAPI.CreateDiscoveryData(0, SourceId, ManagedEntityId)

On Error Resume Next


Dim conn
Set conn= CreateObject("ADODB.Connection")
conn.Open "Provider=MSDASQL.1;Data Source=PostgreSQL30;"
Dim version

Dim rs
Set rs = CreateObject("ADODB.recordset")
'---&gt;db version
rs.Open "SELECT pg_database.datname as " &amp; Chr(34) &amp; " Database"&amp;Chr(34)&amp;" FROM pg_database", conn

do until rs.EOF
version = rs.Fields(0).value
Dim oInstance
Set oInstance = oDiscoveryData.CreateClassInstance("$MPElement[Name='PostgreMP.Windows.Database']$")
Call oInstance.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", sComputerName)
Call oInstance.AddProperty("$MPElement[Name='PostgreMP.Windows.Database']/Dbname$", version)
Call oInstance.AddProperty("$MPElement[Name='PostgreMP.Windows.Database']/hostName$", sComputerName)
Call oInstance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", version)
Call oDiscoveryData.AddInstance(oInstance)
rs.MoveNext
loop
rs.close

conn.Close
Call oAPI.Return(oDiscoveryData)
</Script></ScriptBody>
<TimeoutSeconds>300</TimeoutSeconds>
</DataSource>
</Discovery>