Erreurs sur le vcheck Exchange

On a rencontré des erreurs lors de la mise en place du vCheck Exchange sur notre HomeLab (pour rappel, le vCheck Exchange correspond aux plugins vCheck permettant d’avoir un rapport sur une plateforme Exchange 2007/2010, plus d’informations sur le site d’Alan : vCheck for Exchange).

Dans notre cas, le serveur qui faisait tourner le(s) vCheck était le serveur vCenter, donc avec aucun rôle Exchange 2010 d’installé, juste les outils d’administration (installés en unattended via la commande Setup.com /mode:install /role:MT).

Lors de l’exécution du vCheck Exchange, on pouvait voir énormément d’erreurs dans les journaux d’évènements Windows :

Le détail de l’erreur étant le suivant :

Performance counter updating error. Counter name is Client-side Calls, category name is MSExchange Active Manager Client. Optional code: 2. Exception: The exception thrown is : System.InvalidOperationException: The requested Performance Counter is not a custom counter, it has to be initialized as ReadOnly.
   at System.Diagnostics.PerformanceCounter.Initialize()
   at System.Diagnostics.PerformanceCounter.get_RawValue()
   at Microsoft.Exchange.Diagnostics.ExPerformanceCounter.get_RawValue()
Last worker process info : Last worker process info not available!
Processes running while Performance counter failed to update:
...
Performance Counters Layout information: FileMappingNotFoundException for category MSExchange Active Manager Client : Microsoft.Exchange.Diagnostics.FileMappingNotFoundException: Cound not open File mapping for name : Global\netfxcustomperfcounters.1.0msexchange active manager client
   at Microsoft.Exchange.Diagnostics.FileMapping.OpenFileMapping(String name, Boolean writable)
   at Microsoft.Exchange.Diagnostics.FileMapping..ctor(String name, Boolean writable)
   at Microsoft.Exchange.Diagnostics.PerformanceCounterMemoryMappedFile.Initialize(String fileMappingName, Boolean writable)
   at Microsoft.Exchange.Diagnostics.ExPerformanceCounter.GetAllInstancesLayout(String categoryName)

Et pour le coup, si vous utilisez les plugins classiques du vCheck VMware, vous avez aussi la polution de toutes les erreurs remontées dans les rapports :

En recherchant sur Google (« What Else! »), on a finalement trouvé la cause de ces messages d’erreurs. Les compteurs perfmon sont initialisés à l’installation des rôles Exchange 2010, mais visiblement lors de l’installation uniquement des outils de management, la définition des compteurs pour les services suivants est incomplète :

  • MSExchange Active Manager Server (ActiveManagerClientPerfmon)
  • MSExchange Admin Audit Log (AdminAuditPerfCounters)
  • MSExchange Middle-Tier Storage (MiddleTierStoragePerformanceCounters)

Pour confirmer cela, il suffisait d’utiliser la commande lodctr sur les fichiers de définition des compteurs (présents dans C:\Program files\Microsoft\Exchange Server\V14\Setup\Perf) pour voir que l’initialisation de ces compteurs ne passait pas.

La définition des paramètres de ces compteurs se trouve en base de registre, au niveau de la ruche HKLM\SYSTEM\CurrentControlSet\Services\MSExchange Active Manager Client\Performance :

On a donc juste eu besoin d’exporter la définition des 3 compteurs depuis un serveur Exchange qui possède les bon rôles (en générant un export .reg des enregistrements en base de registre) et les réimporter sur le serveur n’ayant que les outils de management pour que la commande lodctr fonctionne correctement, et que les erreurs s’arrêtent :

Laisser un commentaire

Required fields are marked *.