Kevin Holman's System Center Blog

Posts in this blog are provided "AS IS" with no warranties, and confers no rights. Use of included script samples are subject to the terms specified in the Terms of UseAre you interested in having a dedicated engineer that will be your Mic

How many consoles are connected to my RMS?

How many consoles are connected to my RMS?

  • Comments 9
  • Likes

This discussion comes up quite a bit.

There are a couple ways to track this data....  even to alert us if it breaches a threshold.

 

One way to look at the number of connected consoles, is to examine the number of users that are connected to the SDK service.  We can do this via powershell, and perfmon:

 

In powershell, this will show each connection to the SDK – whether it be a console session, or powershell session, or some other SDK connection, like managed code running:

$mgc=get-managementgroupconnection
$mgc.ManagementGroup.GetConnectedUserNames()

Here is a one liner version:

Get-ManagementGroupConnection | foreach-object {$_.ManagementGroup.getConnectedUserNames()}

If you’re looking for the actual NUMBER of users connected

Get-ManagementGroupConnection | foreach-object {$_.ManagementGroup.getConnectedUserNames()} | Measure-Object

 

That is great.... however, as stated, this shows SDK connections.... not specific to the console.  I dont know of a way offhand to demonstrate which are true CONSOLE connections... but unless you run a lot of SDK processes like timed scripts against the SDK... most will be consoles in a typical environment.

 

Another way to view connections is via Perfmon.  The perf object "OpsMgr SDK Service\Client Connections" and "OpsMgr SDK Service\Client Connections using cache"  From what I can tell offhand, the "using cache" counter is the same as connected clients, minus the 2 default SDK connections from the service account.

We don't have a rule collecting this by default.  However, you can create a collection rule, or even a performance threshold rule to alert you when this count goes above what you feel is supportable in your environment.  Here is an example:  (Note - Root Management Server is a good target for these rules/monitors... since it will be the only role with the SDK service running)

image

 

And the output of a monitoring view you can create:

 

image

 

 

 

For reporting purposes – you can see “connections” to the SDK – by writing an event collections rule for the following events, which is logged on each console session or powershell session that connects to the SDK:  (this is logged on the RMS only)

 

Event Type:      Information
Event Source:   OpsMgr SDK Service
Event Category:            None
Event ID:          26328
Date:                10/16/2008
Time:                9:23:01 AM
User:                N/A
Computer:         OMRMS
Description:
A new client has connected. 
UserName: OPSMGR\adadmin
SessionId: uuid:12e8d840-9cca-45df-b889-db39203136e0;id=15

Event Type:      Information
Event Source:   OpsMgr SDK Service
Event Category:            None
Event ID:          26329
Date:                10/16/2008
Time:                9:24:04 AM
User:                N/A
Computer:         OMRMS
Description:
A client has disconnected. 
UserName: OPSMGR\adadmin
SessionId: uuid:12e8d840-9cca-45df-b889-db39203136e0;id=15

 

However – this won’t show you good concurrence…. just “who” is using the console…. and how often connections are made and disconnected.  Since the username is a parameter..... you could potentially write reports and examine your most common console users, etc.

 

So - we have the ability to:

1.  See "who is connected right now"  - Powershell

2.  Count the client connections right now - Powershell and Perfmon.

3.  Collect the client count from the RMS - Perfmon rule

4.  Alert when it reaches a threshold we set - Perfmon Monitor

5.  Collect and report on actual user connections - Event rule and report.

Comments
  • How we can find if operator console is opened or web console?

  • Hello,

    I checked the Windows Logs and could not find any 26328 or 26329 Events Application, Security or System. Am I in the right place?

    Thanks,

    Dom

  • Wrong place it was

    Operations Manager Log

    Sorry to wake you up :)

    Thanks,

    Dom

  • Hello Kevin,

    "even a performance threshold rule to alert"

    Is it a Monitor or a Collection Rule?

    I'm confused?

    Thanks,

    Dom

  • http://michielw.blogspot.com/2009/04/scom-monitor-vs-rule.html

  • Kevin, (K as KING!!! :)

    I got the powershell, perfmon, rule, alert working...

    Looking for

    5.  Collect and report on actual user connections - Event rule and report.

    Thanks,

    Dom

  • How can I get this one liner to work with SCOM 2012?

    Get-ManagementGroupConnection | foreach-object {$_.ManagementGroup.getConnectedUserNames()}

  • Get-SCOMManagementGroupConnection | ...

  • Hmmm.  this doesnt seem to work for SCOM 2012.  Anyone know what the new syntax might be??

    The term 'Get-ManagementGroupConnection' is not recognized as the name of a cmdlet, function, script file, or operable

    program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

    At line:1 char:30

    + Get-ManagementGroupConnection <<<<  | foreach-object {$_.ManagementGroup.getConnectedUserNames()}

       + CategoryInfo          : ObjectNotFound: (Get-ManagementGroupConnection:String) [], CommandNotFoundException

       + FullyQualifiedErrorId : CommandNotFoundException

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment
Search Blogs