Exchange 2013/2016: Event 106, error when updating a performance indicator

I hate errors in the event log, and event 106 is particularly stubborn. It occurs from time to time. Here is an example:

Event 106

Source: MSExchange Common

Event ID: 106

Error updating a performance indicator. The counter name is 'Percentage of MSAUserNetID Cache hits for last minute', the category name is 'MSExchange Global Locator Processes'. Optional code: 3. exception: The exception thrown is : System.InvalidOperationException: The requested performance counter must be initialized as ReadOnly because it is not user-defined.
for System.Diagnostics.PerformanceCounter.InitializeImpl()
for System.Diagnostics.PerformanceCounter.get_RawValue()
for Microsoft.Exchange.Diagnostics.ExPerformanceCounter.set_RawValue(Int64 value)
Last worker process info : System.ArgumentException: No process with ID 7816 is executed.
for System.Diagnostics.Process.GetProcessById(Int32 processId)
for 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
for Microsoft.Exchange.Diagnostics.FileMapping..ctor(String name, Boolean writable)
for Microsoft.Exchange.Diagnostics.PerformanceCounterMemoryMappedFile.Initialize(String fileMappingName, Boolean writable)
for Microsoft.Exchange.Diagnostics.ExPerformanceCounter.GetAllInstancesLayout(String categoryName)

Event 106 is generated for each performance indicator and generates many red errors in the event log:

Event 106

I have not yet found out why the event 106 occurs from time to time, but at least I have a workaround. When the Exchange performance indicators are re-registered, everything is quiet again for the time being.

To register the performance indicators, the following small script can be executed in the Exchange Management Shell (as administrator):

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
}

image

The performance indicators are thus reloaded, which can be recognized by the event 1001:

image

The performance indicators for the service msexchangeumcallrouteravailability (msexchangeumcallrouteravailability) have been removed. The data contains the new values of the registry entries "Last Counter" and "Last Help".

Loading the performance counters takes a while, there are 272 on an Exchange 2016 server. Errors also occur during registration, so I assume that these are still bugs:

image

13 thoughts on “Exchange 2013/2016: Event 106, Fehler beim Aktualisieren eines Leistungsindikators”

  1. Hallo Alex,
    die Befehle lässt er nun wenigstens zu ohne einen Fehler zu generieren.
    die Reparaturbefehle aus deinem Post hatte ich gestern schon angewendet, die Meldungen sind hier schon einmal weniger geworden.
    Werde nun die Verbleibenden Meldungen prüfen und die Counter neu generieren.
    MfG Torsten

    Reply
    • kurze Rückmeldung:
      Counter sind nun in Ordnung,
      System noch einmal neu gestartet.
      Die ADTransientException scheint auch erst einmal weg zu sein. (unklar durch was hervorgerufen bzw. gelöst).
      Vielen Dank für die Unterstützung @Alex

      Reply
  2. Moin Alex,
    Danke für dein Feedback,
    habe die Management Shell direkt aus dem Startmenü ohne „Als Administrator ausführen“ gestartet.
    Im Titel steht nur Computer:Exchangeserver.domäne.toplevel.
    Habe schon DNS doppelt und dreifach geprüft, auch aus Verzweiflung nochmal ein preparead durchgeführt.

    Erhalte auch im Eventlog msexchange adaccess 2070 Info: Prozess powershell.exe (EMS) (PID=21168). Der Exchange Active Directory-Anbieter hat die Verbindung mit dem Domänencontroller verloren. Fehler: 0x51 (ServerDown) (Active Directory-Antwort: Der LDAP-Server ist nicht verfügbar.).

    Aber auch msexchange adaccess 2080 Info: Prozess Microsoft.Exchange.Directory.TopologyService.exe (PID=3532). Der Exchange Active Directory-Anbieter hat folgende Server mit folgenden Eigenschaften gefunden:
    (Servername | Rollen | Aktiviert | Erreichbarkeit | Synchronisiert | GK-fähig | PDC | SACL-Recht | Benötigte Daten | Netlogon | Betriebssystemversion)
    Innerhalb des Standorts:
    DC01.domäne.toplevel CDG 1 7 7 1 0 1 1 7 1
    DC02.domäne.toplevel CDG 1 7 7 1 0 1 1 7 1
    Außerhalb des Standorts:

    dcdiag beider weisen nur bei syslog und dfrs nicht bestandene Tests aus, vom Exchange aus angefragt.

    Bin echt ratlos was das sein kann.
    MfG Torsten

    Reply
  3. Moin Torsten Bittner,
    du hast die Powershell wahrscheinlich als (lokaler) Administrator auf dem Exchange gestartet, und dieser hat eben keine Zugriffsberechtigung auf das AD.
    Starte mal die Powershell Konsole schon als Administrator angemeldet, aber OHNE „als Administrator ausführen“ gestartet.
    ???
    ´
    Grüsse aus BaWü
    Alex

    Reply
  4. Hallo Zusammen,
    ich habe eine etwas verknotete Migration des Systems hinter mir.
    Es scheint offensichtlich erst einmal alles zu laufen.
    Bei der Kontrolle der Ereigniseinträge sind mir die Leistungsindikatorenfehler aufgefallen.
    Diese wollte ich beheben um die wichtigen Sachen im Log zu erkennen.
    Bei jeder Ausführung erhalte ich aber:

    [PS] E:\Program Files\Microsoft\Exchange Server\V15\Bin>New-PerfCounters -DefinitionFileName „E:\Program Files\Microsoft
    \Exchange Server\V15\setup\perf\AirSyncCounters.xml“
    Der Active Directory-Server ist nicht verfügbar. Fehlermeldung: Active Directory-Antwort: Der LDAP-Server ist nicht
    verfügbar.
    In Zeile:1 Zeichen:1
    + New-PerfCounters -DefinitionFileName „E:\Program Files\Microsoft\Exchange Server …
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [], ADTransientException
    + FullyQualifiedErrorId : [Server=EX02,RequestId=43b0ea43-f7ba-4df5-854a-85d9331b1351,TimeStamp=24.03.2021 14:54:0
    1] [FailureCategory=Cmdlet-ADTransientException] 4679072

    Das System scheint also ein AD Problem zu haben. Bin über jeden Vorschlag dankbar.

    MfG
    Torsten Bittner

    Reply
  5. Moin Frank,

    manchmal muss man vorher auch noch die Leistungsüberwachung reparieren.

    Geht mit den folgenden Befehlen ganz einfach.

    c:\windows\system32\lodctr /R
    c:\windows\sysWOW64\lodctr /R

    Grüsse aus BaWü

    Alexander Fuchs

    Reply
  6. Hallo Frank, nur zur Info.
    Die Ursache für den Fehler ID: 36887 Quelle: Schannel war ein altes Zertifikat (von meiner Testumgebung) auf einem Android Smartphone mit einem E-Mail-Account in der Outlook-App.

    Gruß, Manuel

    Reply
  7. Hallo Frank,
    hast Du was rausgefunden wegen dem Event 106?

    Bei mir erscheint jetzt zusätzlich (ca. alle 3 Minuten mehrmals) der Fehler ID: 36887 Quelle: Schannel
    Es wurde eine schwerwiegende Warnung vom Remoteendpunkt empfangen. Die schwerwiegende Warnung hat folgenden für das TLS-Protokoll definierten Code: 46.

    Habe die Server DC und EX 3 mal neu aufgesetzt, immer wieder das Gleiche.

    Und wenn ich unter Ereignisanzeige auf „Microsoft Exchange with Database Availability Group Events“ klicke, kommt ein Abfragefehler “ der angegebene Kanal wurde nicht gefunden.

    Hast du oder jemand anders eine Idee?

    Gruß und Danke, Manuel

    Reply
  8. Ich hatte beim Ausführen des Befehls ein ObjectNotFound: (New-PerfCounters:String)
    Ein Add-PSSnapin Microsoft.Exchange.Management.PowerShell.Setup hat geholfen.

    Reply
  9. der oben aufgeführte Fehler beim importieren ist hier zu suchen/finden/beseitigen:
    Notepad „C:\Program Files\Microsoft\Exchange Server\V15\Setup\Perf\InfoWorkerMultiMailboxSearchPerformanceCounters.xml“

    suchen & ersetzen:
    suchen: „> Searches“
    ersetzen: „>Searches“

    speichern und neu einlesen:
    New-PerfCounters -DefinitionFileName „C:\Program Files\Microsoft\Exchange Server\V15\Setup\Perf\InfoWorkerMultiMailboxSearchPerformanceCounters.xml“

    Der Fehler wird schon seit Exchange 2013 mitgeschleppt…

    Reply

Leave a Comment