Edge Server User Count

Talon.FAST.Rule.EdgeServer.ConnectedUserCount (Rule)

Collects the number of users connected to the FastShare SMB Share

Element properties:

TargetTalon.FAST.ComputerRole.EdgeServer
CategoryPerformanceCollection
EnabledTrue
Alert GenerateFalse
RemotableTrue

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.TimedScript.PerformanceProvider Default
CollectToDB WriteAction Microsoft.SystemCenter.CollectPerformanceData Default
CollectToDW WriteAction Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData Default

Source Code:

<Rule ID="Talon.FAST.Rule.EdgeServer.ConnectedUserCount" Target="Talon.FAST.ComputerRole.EdgeServer" Enabled="true" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.TimedScript.PerformanceProvider">
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<ScriptName>UserCountCollection.vbs</ScriptName>
<Arguments/>
<ScriptBody><Script>
On Error Resume Next

Dim oAPI, oBag
Set oAPI = CreateObject("MOM.ScriptAPI")

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" &amp; strComputer &amp; "\root\cimv2")
Set fastShareConnections = objWMIService.ExecQuery("Select NumberOfUsers from Win32_ServerConnection where ShareName=""FASTData""")

userCount = 0

if (Not IsNull(fastShareConnections)) then
For each connection in fastShareConnections
userCount = userCount + connection.NumberOfUsers
Next
end if

Set oBag = oAPI.CreatePropertyBag()
Call oBag.AddValue("UserCount",userCount)
Call oAPI.Return(oBag)
</Script></ScriptBody>
<TimeoutSeconds>60</TimeoutSeconds>
<ObjectName>ServerConnection</ObjectName>
<CounterName>UserCount</CounterName>
<InstanceName>$Target/Property[Type="System!System.Entity"]/DisplayName$</InstanceName>
<Value>$Data/Property[@Name='UserCount']$</Value>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="CollectToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData"/>
<WriteAction ID="CollectToDW" TypeID="MSDL!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData"/>
</WriteActions>
</Rule>