"Доступ к разделу реестра" Global "запрещен" при доступе к счетчикам производительности

Я пытаюсь прочитать некоторые счетчики производительности из моего приложения ASP.NET. Когда я это делаю, я получаю сообщение об ошибке "Доступ к разделу реестра" Global "запрещен".

Я пытался следовать инструкциям здесь и здесь, используя пользователя IIS AppPool\DefaultAppPool, который является идентификатором, который мой пул приложений настроен для использования:

Снимок экрана конфигурации пула приложений

Я добавил этого пользователя в группу "Пользователи системного монитора":

И после добавления пользователя я перезагрузил компьютер. Но я все еще получаю ошибку.

Я также попытался добавить пользователей IUSR и NETWORK SERVICE в группу пользователей системного монитора, но они тоже не работают. В отчаянии я попытался добавить пользователя "Все" в группу "Пользователи системного монитора", и это действительно работает. Но моя цель - записать статистику из моего приложения в производство, и я не хочу добавлять "Все" в эту группу на производственном сервере.

Что еще должно произойти, чтобы считать счетчики производительности без создания исключения безопасности?

3 ответа

Решение

Я нашел решение. В то время как различные ссылки в Интернете говорят вам, чтобы использовать личность IIS APPPOOL\DefaultAppPoolЭто не полная история. Это будет работать только в том случае, если вы фактически назначаете свои приложения пулу приложений с именем "DefaultAppPool".

Эта ссылка на ServerFault имеет ответ. Вы должны использовать имя вашего пула приложений. В моем случае имя пула приложений было "промежуточное", поэтому правильный пользователь IIS APPPOOL\staging, Помещение этого пользователя в группу "Пользователи системного монитора" устранило мою проблему.

В нашем случае у нас была другая служба Windows, работающая под тем же портом #, и возникла эта ошибка. Не совсем полезно из-за ошибки, но тем не менее. Обновление нашего порта решило нашу проблему.

В моем случае я добавил правильный пул приложений (тот, который я использовал для своего веб-сайта) в "Пользователи производительности" и "Журнал", но проблема все еще возникала. Что я сделал, так это

  • остановить мой пул приложений
  • переключить мой веб-сайт на использование DefaultAppPool
  • перезапустил веб-сайт
  • переключил веб-сайт обратно на правильный пул приложений (который остановлен)
  • запущен пул приложений
  • перезапустил веб-сайт
Другие вопросы по тегам