Ich hasse Fehler im Eventlog, das Event 106 ist da besonders hartnäckig. Es tritt bei mir immer mal wieder auf. Hier einmal ein Beispiel:
Quelle: MSExchange Common
Ereignis-ID: 106
Fehler beim Aktualisieren eines Leistungsindikators. Der Indikatorname lautet ‚Percentage of MSAUserNetID Cache hits for last minute‘, der Kategoriename ist ‚MSExchange Global Locator Processes‘. Optionaler Code: 3. Ausnahme: The exception thrown is : System.InvalidOperationException: Der angeforderte Leistungsindikator muss als ReadOnly initialisiert werden, da er nicht benutzerdefiniert ist.
bei System.Diagnostics.PerformanceCounter.InitializeImpl()
bei System.Diagnostics.PerformanceCounter.get_RawValue()
bei Microsoft.Exchange.Diagnostics.ExPerformanceCounter.set_RawValue(Int64 value)
Last worker process info : System.ArgumentException: Es wird kein Prozess mit der ID 7816 ausgeführt.
bei System.Diagnostics.Process.GetProcessById(Int32 processId)
bei Microsoft.Exchange.Diagnostics.ExPerformanceCounter.GetLastWorkerProcessInfo()
Processes running while Performance counter failed to update:
2552 w3wp
..
0 Idle
Performance Counters Layout information: FileMappingNotFoundException for category MSExchange Global Locator Processes : Microsoft.Exchange.Diagnostics.FileMappingNotFoundException: Cound not open File mapping for name Global\netfxcustomperfcounters.1.0msexchange global locator processes. Error Details: 2
bei Microsoft.Exchange.Diagnostics.FileMapping..ctor(String name, Boolean writable)
bei Microsoft.Exchange.Diagnostics.PerformanceCounterMemoryMappedFile.Initialize(String fileMappingName, Boolean writable)
bei Microsoft.Exchange.Diagnostics.ExPerformanceCounter.GetAllInstancesLayout(String categoryName)
Das Event 106 wird für jeden Leistungsindikator erzeugt und erzeugt viele rote Fehler im Eventlog:
Ich habe noch nicht rausgefunden warum das Event 106 immer mal wieder auftritt, aber immerhin einen Workaround. Wenn die Exchange Leistungsindikatoren neu registriert werden, ist erst einmal wieder Ruhe.
Für die Registrierung der Leistungsindikatoren kann das folgende kleine Script in der Exchange Management Shell (als Administrator) ausgeführt werden:
add-pssnapin Microsoft.Exchange.Management.PowerShell.Setup $perfcounters = Get-ChildItem $exinstall\setup\perf\*.xml | foreach {$_.fullname} foreach ($perfcounter in $perfcounters) { write-host $perfcounter New-PerfCounters -DefinitionFileName $perfcounter }
Die Leistungsindikatoren werden damit neu geladen, was sich an dem Event 1001 erkennen lässt:
Die Leistungsindikatoren für den Dienst msexchangeumcallrouteravailability (msexchangeumcallrouteravailability) wurden entfernt. Die Daten enthalten die neuen Werte der Registrierungseinträge „Last Counter“ und „Last Help“.
Das Laden der Leistungsindikatoren dauert etwas, es gibt immerhin 272 bei einem Exchange 2016 Server. Während der Registrierung kommt es auch zu Fehlern, daher nehme ich an, dass es sich hier noch um Bugs handelt: