Exchange 2013 Performance Counter deep drive…


Whenever there is an issue on the Exchange server we analyze the log files then next we will be moving to check is our Exchange server works under threshold. If not what is the maximum limit it reaches…

For example on going to task manager to check CPU utilization is 100 % or memory is 100 %  – little deeper we will use performance monitor tool.

Thought to share my experince on how to plays with the exchange 2013 counter using powershell which makes job easier and quicker.

Exchange 2013 Performance Counter
In order to list all the counter in the Exchange Server

Get-Counter -ListSet

To list of HttpProxy counter

Get-Counter -ListSet *HttpProxy* |select countersetname

Get-Counter -ListSet MSExchange*HttpProxy

Output of the above command

CounterSetName     : MSExchange HttpProxy
MachineName        : .
CounterSetType     : MultiInstance
Description        : Category For HttpProxy Counters
Paths              : {\MSExchange HttpProxy(*)\Outstanding Proxy Requests, \MSExchange HttpProxy(*)\Total Requests,
\MSExchange HttpProxy(*)\Requests/Sec, \MSExchange HttpProxy(*)\Total Bytes Out, \MSExchange
HttpProxy(*)\Bytes Out/Sec, \MSExchange HttpProxy(*)\Total Bytes In, \MSExchange
HttpProxy(*)\Bytes In/Sec, \MSExchange HttpProxy(*)\Total Proxy Requests, \MSExchange
HttpProxy(*)\Proxy Requests/Sec, \MSExchange HttpProxy(*)\MailboxServerLocator Calls, \MSExchange
HttpProxy(*)\MailboxServerLocator Calls/Sec, \MSExchange HttpProxy(*)\MailboxServerLocator Failed
Calls, \MSExchange HttpProxy(*)\MailboxServerLocator Retried Calls, \MSExchange
HttpProxy(*)\MailboxServerLocator Last Call Latency, \MSExchange
HttpProxy(*)\MailboxServerLocator Average Latency, \MSExchange HttpProxy(*)\ClientAccess 2010
Total Servers…}
PathsWithInstances : {\MSExchange HttpProxy(mapi)\Outstanding Proxy Requests, \MSExchange
HttpProxy(owacalendar)\Outstanding Proxy Requests, \MSExchange HttpProxy(powershell)\Outstanding
Proxy Requests, \MSExchange HttpProxy(ecp)\Outstanding Proxy Requests, \MSExchange
HttpProxy(rpchttp)\Outstanding Proxy Requests, \MSExchange HttpProxy(oab)\Outstanding Proxy
Requests, \MSExchange HttpProxy(ews)\Outstanding Proxy Requests, \MSExchange
HttpProxy(owa)\Outstanding Proxy Requests, \MSExchange HttpProxy(autodiscover)\Outstanding Proxy
Requests, \MSExchange HttpProxy(eas)\Outstanding Proxy Requests, \MSExchange
HttpProxy(mapi)\Total Requests, \MSExchange HttpProxy(owacalendar)\Total Requests, \MSExchange
HttpProxy(powershell)\Total Requests, \MSExchange HttpProxy(ecp)\Total Requests, \MSExchange
HttpProxy(rpchttp)\Total Requests, \MSExchange HttpProxy(oab)\Total Requests…}
Counter            : {\MSExchange HttpProxy(*)\Outstanding Proxy Requests, \MSExchange HttpProxy(*)\Total Requests,
\MSExchange HttpProxy(*)\Requests/Sec, \MSExchange HttpProxy(*)\Total Bytes Out, \MSExchange
HttpProxy(*)\Bytes Out/Sec, \MSExchange HttpProxy(*)\Total Bytes In, \MSExchange
HttpProxy(*)\Bytes In/Sec, \MSExchange HttpProxy(*)\Total Proxy Requests, \MSExchange
HttpProxy(*)\Proxy Requests/Sec, \MSExchange HttpProxy(*)\MailboxServerLocator Calls, \MSExchange
HttpProxy(*)\MailboxServerLocator Calls/Sec, \MSExchange HttpProxy(*)\MailboxServerLocator Failed
Calls, \MSExchange HttpProxy(*)\MailboxServerLocator Retried Calls, \MSExchange
HttpProxy(*)\MailboxServerLocator Last Call Latency, \MSExchange
HttpProxy(*)\MailboxServerLocator Average Latency, \MSExchange HttpProxy(*)\ClientAccess 2010
Total Servers…}

Let us go little deeper…The Exchange counters have two parameter 1. Paths 2. PathsWithInstances

Inorder to list all the Paths and PathsWithInstances

(Get-Counter -ListSet MSExchange*HttpProxy).Paths

Get-Counter -Counter (Get-Counter -ListSet MSExchange*HttpProxy).Paths | more

To list in more readable format on the counters value

Get-Counter -Counter (Get-Counter -ListSet MSExchange*HttpProxy).Paths | % { $_.counterSamples } | sort path | ft -AutoSize -Wrap

To list the counter of the remote  server add the computer name parameter

Get-Counter -Counter (Get-Counter -ListSet MSExchange*HttpProxy).Paths -ComputerName <Server Name> | % { $_.counterSamples }

To filter out only the outbound proxy connection out of other other counters

Get-Counter -Counter (Get-Counter -ListSet MSExchange*HttpProxy).Paths -ComputerName <Server Name> | % { $_.counterSamples } | ?{$_.Path -like “*httpproxy(rpchttp)\outstanding proxy requests*”} | Sort path | FT -AutoSize -Wrap

Advertisements

About Raji Subramanian

Nothing great to say about me...Just want to share my knowledge for others that will be useful at any moment of time when they stuck in critical issue....
This entry was posted in exchange 2013 performance counter and tagged . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s