Use OMS near real-time performance counters to check one counter

Summary: Learn how to use Microsoft Operations Management Suite near real-time performance counters to check the status of a single counter across all your systems.

Good morning everyone, Ed Wilson here. This morning I looked outside, and there was a cool group of birds. They were sort of hanging out, catching some early morning rays, and checking out the bug buffet in the yard.

One problem with the flock of birds, however, is that they all sort of look alike. Therefore, it was difficult for me to get a status on the birds. Which ones were actively chasing bugs, which ones were flying around, and which ones were working on their tan. Here are the birds. Maybe you can figure it out.

Photo of birds

Use simple OMS query to find status of a counter

  Note  This  is a five-part series that includes the following posts:

By using the near real-time performance counters in Microsoft Operations Management Suite, not only can I check the status of a single server, but I can also check the status of a single counter across multiple servers. I do not need to know the names of the servers to get the status.

The first thing that I need to do is to open Log Search. I find it on my main Microsoft Operations Management Suite home screen:

Image of menu

When Log Search is open, I type the following quick query, which returns the near real-time performance counters:


It is that easy to return my performance counter data from all of my servers. Now, I can look at one instance of a performance counter record to see what properties are available for me to search on. Here is one of the records:

Image of record

Notice that I have the following properties:

  • Computer
  • ObjectName
  • CounterName
  • InstanceName
  • TimeGenerated
  • CounterPath
  • CounterValue
  • SourceSystem

One of the easy ways to add a filter, is to click the three bars that appear to the left side of the property in the counter record. When I do, get a premade query that can help me add the appropriate query to my search string. I clicked the three blue bars next to ObjectName, and MS OMS came up with several rather intelligent options:

Image of results

When I filter by the Process object, I get counters such as private bytes and virtual bytes. Here is the query I created:

Type=Perf ObjectName=Process

The query and the output from the query are shown here:

Image of command output

I can repeat the process to add a filter for only the Private Bytes counter. I do this by clicking the blue bars, and selecting CounterName = “Private Bytes” from the popup list that appears:

Image of list

The query is shown here:

Type=Perf ObjectName=Process CounterName="Private Bytes"

That is all I have for you today. Join me on Monday when we will have a blog post about how to troubleshoot OMS onboarding issues. It is an awesome post and you will not want to miss it.

I invite you to follow me on Twitter and the Microsoft OMS Facebook site. If you want to learn more about Windows PowerShell, visit the Hey, Scripting Guy! Blog. If you have any questions, send email to me at I wish you a wonderful day, and I’ll see you tomorrow.

Ed Wilson
Microsoft Operations Management Team