Solarwinds Environments:
Windows 2008 R2 servers,
MS SQL 2008 SP2 Database servers
NPM 11.5.2
SAM 6.2.1
Exchange Environments:
6 x Windows 2012 R2 servers (2 of them are Journal servers),
MS Exchange 2013 CU11,
72 Mailbox Databases (18 on each server),
Each database has 2 replications
On each server there are 18 actives databases and 36 replications, total 54.
Agent Polling
AppInsight for Exchange are assigned to the servers successfully and the account used is a domain account and with local server administrator permissions and exchange administrator permissions.
This issue: All components work ok except “Database Copies”, this result the whole Application statues is in “Unknown”.
“Database Copies” should return 54 databases on each server but it only return some of them. None of the servers returns all 54 databases. I believe the component is using PowerShell to polling Exchange performance counters information once a day. But this polling failed most time, one day collect nothing, one day collect something, but never collected all.
The Exchange administrator ran the MS Exchange health check script and it returned all OK.
This issue is related the performance counter "MSExchange Assistants - Per Database". I have logged on the exchanges servers to reload this counter manually using the following PowerShell commands:
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.Setup
Remove-PerfCounters -DefinitionFileName "C:\Program Files\Microsoft\Exchange Server\V15\Setup\Perf\PerformanceCountersPerDatabase.xml"
New-PerfCounters -DefinitionFileName "C:\Program Files\Microsoft\Exchange Server\V15\Setup\Perf\PerformanceCountersPerDatabase.xml"
The performance counter rebuilt successfully but does not take effect immediately, I have to wait till next days to see some instances but still not show all databases, and it could be nothing next day. It seems the performance counter not work properly?
Check the counter with PowerShell command:
PS C:\Windows\system32> Get-Counter -ListSet "MSExchange Assistants - Per Database"
CounterSetName : MSExchange Assistants - Per Database
MachineName : .
CounterSetType : SingleInstance
Description : Performance Counters for Assistants (per database)
Paths : {\MSExchange Assistants - Per Database(*)\Events in queue, \MSExchange Assistants - Per
Database(*)\Average Event Processing Time In seconds, \MSExchange Assistants - Per
Database(*)\Events Polled, \MSExchange Assistants - Per Database(*)\Events Polled/sec...}
PathsWithInstances : {\MSExchange Assistants - Per Database(*)\Events in queue, \MSExchange Assistants - Per
Database(*)\Average Event Processing Time In seconds, \MSExchange Assistants - Per
Database(*)\Events Polled, \MSExchange Assistants - Per Database(*)\Events Polled/sec...}
Counter : {\MSExchange Assistants - Per Database(*)\Events in queue, \MSExchange Assistants - Per
Database(*)\Average Event Processing Time In seconds, \MSExchange Assistants - Per
Database(*)\Events Polled, \MSExchange Assistants - Per Database(*)\Events Polled/sec...}
Is the CounterSetTypeshould be MultiInstance?
Any suggestions? Help? Thanks