SystemConnections CustomCounter Probe

ScaleArc.3.3.PHP.API.Monitoring.SystemConnections.CustomCounter.Probe (ProbeActionModuleType)

Element properties:

TypeProbeActionModuleType
IsolationAny
AccessibilityInternal
RunAsDefault
OutputTypeSystem.PropertyBagData

Member Modules:

ID Module Type TypeId RunAs 
Probe ProbeAction Microsoft.Windows.PowerShellPropertyBagTriggerOnlyProbe Default

Overrideable Parameters:

IDParameterTypeSelector
URLstring$Config/URL$

Source Code:

<ProbeActionModuleType ID="ScaleArc.3.3.PHP.API.Monitoring.SystemConnections.CustomCounter.Probe" Accessibility="Internal" Batching="false" PassThrough="false">
<Configuration>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="URL" type="xsd:string"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="URL" Selector="$Config/URL$" ParameterType="string"/>
</OverrideableParameters>
<ModuleImplementation Isolation="Any">
<Composite>
<MemberModules>
<ProbeAction ID="Probe" TypeID="Windows!Microsoft.Windows.PowerShellPropertyBagTriggerOnlyProbe">
<ScriptName>ScaleArc.3.3.PHP.API.SystemConnections.CustomCounter.Monitoring.Script.ps1</ScriptName>
<ScriptBody><Script><![CDATA[
param($URL)
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}

$URLdycval = [System.Convert]::FromBase64String($URL)
$URLdyc = [System.Text.Encoding]::UTF8.GetString($URLdycval)
$URL = $URLdyc

$api = new-object -comObject 'MOM.ScriptAPI'
$api.LogScriptEvent("ScaleArc.3.3.PHP.API.SystemConnections.CustomCounter.Monitoring.Script.ps1",660,0,"This is changed decrypted URL: $URL")

$SysConUrl = $URL
$web = new-object net.webclient
#Download the URL responsebody as string
$SysConraw = $web.DownloadString($SysConUrl)
$SysConrawout = $SysConraw | ConvertFrom-Json


$CPUCache = $SysConrawout.data.("cpu-cache")
$Syscpuquery = $SysConrawout.data.("cpu-query")
$Syscpuconnections = $SysConrawout.data.("cpu-connections")
$Sysbandwidthin = $SysConrawout.data.("bandwidth-in")
$Sysbandwidthout = $SysConrawout.data.("bandwidth-out")
$Syscachehit = $SysConrawout.data.("cache-hit")
$Sysconnectionsclient = $SysConrawout.data.("connections-client")
$Sysconnectionsserver = $SysConrawout.data.("connections-server")
$Sysconnectionsreadqueue = $SysConrawout.data.("connections-read-queue")
$Sysconnectionswritequeue = $SysConrawout.data.("connections-write-queue")
$Sysconnectionspresistent = $SysConrawout.data.("connections-persistent")
$Sysconnectionserror = $SysConrawout.data.("connections-error")
$Sysconnectionspassthroughconn = $SysConrawout.data.("connections-passthrough_conn")
$Sysconnectionsreadintenqueue = $SysConrawout.data.("connections-readintentqueue")
$Sysconnectionstotalqueue = $SysConrawout.data.("connections-totalqueue")
$Sysqueriespassthrough = $SysConrawout.data.("queries-passthrough")
$Sysqueriesread = $SysConrawout.data.("queries-read")
$Sysquerieswrite = $SysConrawout.data.("queries-write")
$Sysqueriesblock = $SysConrawout.data.("queries-block")
$Sysquerieserror = $SysConrawout.data.("queries-error")

$bag = $api.CreatePropertyBag()
$bag.AddValue("CPUCache",$CPUCache)
$bag.AddValue("Syscpuquery",$Syscpuquery)
$bag.AddValue("Syscpuconnections",$Syscpuconnections)
$bag.AddValue("Sysbandwidthin",$Sysbandwidthin)
$bag.AddValue("Sysbandwidthout",$Sysbandwidthout)
$bag.AddValue("Syscachehit",$Syscachehit)
$bag.AddValue("Sysconnectionsclient",$Sysconnectionsclient)
$bag.AddValue("Sysconnectionsserver",$Sysconnectionsserver)
$bag.AddValue("Sysconnectionsreadqueue",$Sysconnectionsreadqueue)
$bag.AddValue("Sysconnectionswritequeue",$Sysconnectionswritequeue)
$bag.AddValue("Sysconnectionspresistent",$Sysconnectionspresistent)
$bag.AddValue("Sysconnectionserror",$Sysconnectionserror)
$bag.AddValue("Sysconnectionspassthroughconn",$Sysconnectionspassthroughconn)
$bag.AddValue("Sysconnectionsreadintenqueue",$Sysconnectionsreadintenqueue)
$bag.AddValue("Sysconnectionstotalqueue",$Sysconnectionstotalqueue)
$bag.AddValue("Sysqueriespassthrough",$Sysqueriespassthrough)
$bag.AddValue("Sysqueriesread",$Sysqueriesread)
$bag.AddValue("Sysquerieswrite",$Sysquerieswrite)
$bag.AddValue("Sysqueriesblock",$Sysqueriesblock)
$bag.AddValue("Sysquerieserror",$Sysquerieserror)

$api.LogScriptEvent("ScaleArc.3.3.PHP.API.SystemConnections.CustomCounter.Monitoring.Script.ps1",99,0,"CustomCounter Script Complete.")
$bag
#$api.Return($bag)
]]></Script></ScriptBody>
<Parameters>
<Parameter>
<Name>URL</Name>
<Value>$Config/URL$</Value>
</Parameter>
</Parameters>
<TimeoutSeconds>180</TimeoutSeconds>
</ProbeAction>
</MemberModules>
<Composition>
<Node ID="Probe"/>
</Composition>
</Composite>
</ModuleImplementation>
<OutputType>System!System.PropertyBagData</OutputType>
<TriggerOnly>true</TriggerOnly>
</ProbeActionModuleType>