AzureでCommerce Engineインスタンス・ロールの起動時に発生するパフォーマンス カウンタ エラーについて


説明

以下のエラーが、Azure Web AppsにデプロイされているCommerce Enginerのインスタンス・ロールの起動時に発生します:

ERROR PerformanceCounterCommand Unuthorized Access Exception: Information=In order to use performance counters, proper permissions are required. Please ensure that the AppPool identity has been added to the Performance Monitor Users group..Error: Message=Access to the registry key 'Global' is denied.|Trace=   at Microsoft.Win32.RegistryKey.Win32Error(Int32 errorCode, String str)
   at Microsoft.Win32.RegistryKey.InternalGetValue(String name, Object defaultValue, Boolean doNotExpand, Boolean checkSecurity)
   at Microsoft.Win32.RegistryKey.GetValue(String name)
   at System.Diagnostics.PerformanceMonitor.GetData(String item)
   at System.Diagnostics.PerformanceCounterLib.GetPerformanceData(String item)
   at System.Diagnostics.PerformanceCounterLib.get_CategoryTable()
   at System.Diagnostics.PerformanceCounterLib.CategoryExists(String category)
   at System.Diagnostics.PerformanceCounterLib.CategoryExists(String machine, String category)
   at System.Diagnostics.PerformanceCounterCategory.Exists(String categoryName, String machineName)
   at Sitecore.Commerce.Core.Commands.PerformanceCounterCommand.Increment(String categoryName, String counterName, String instanceName, CommerceContext commerceContext)
System.UnauthorizedAccessException: Access to the registry key 'Global' is denied.
   at Microsoft.Win32.RegistryKey.Win32Error(Int32 errorCode, String str)
   at Microsoft.Win32.RegistryKey.InternalGetValue(String name, Object defaultValue, Boolean doNotExpand, Boolean checkSecurity)
   at Microsoft.Win32.RegistryKey.GetValue(String name)
   at System.Diagnostics.PerformanceMonitor.GetData(String item)
   at System.Diagnostics.PerformanceCounterLib.GetPerformanceData(String item)
   at System.Diagnostics.PerformanceCounterLib.get_CategoryTable()
   at System.Diagnostics.PerformanceCounterLib.CategoryExists(String category)
   at System.Diagnostics.PerformanceCounterLib.CategoryExists(String machine, String category)
   at System.Diagnostics.PerformanceCounterCategory.Exists(String categoryName, String machineName)
   at Sitecore.Commerce.Core.Commands.PerformanceCounterCommand.Increment(String categoryName, String counterName, String instanceName, CommerceContext commerceContext)

解決策

このエラーは、起動時に一度だけ発生します。(その後コマンドはいずれ後無効になります)このエラーは、Commerce Engineのインスタンスのワークフローを中断することはないと考えられます。従って、このエラーを無視しても構いません。

この問題は今後のアップデートで修正される予定です。