Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Sitecore has no necessary permissions for reading/creating counters

In the Sitecore (6.6 v130404) log file there are so many "Sitecore has no necessary permissions for reading/creating counters." records being created. I have disabled the performance counters in the server.

 <!--  ENABLE COUNTERS
                Indicates if performance counters are enabled.
                Default value: true
  -->

<setting name="Counters.Enabled" value="false"/>

Log extract: (For every 6seconds this keeps updating the log)

Heartbeat 19:07:33 WARN  Sitecore has no necessary permissions for reading/creating counters.
Heartbeat 19:07:39 WARN  Sitecore has no necessary permissions for reading/creating counters.
Heartbeat 19:07:45 WARN  Sitecore has no necessary permissions for reading/creating counters.
Heartbeat 19:07:51 WARN  Sitecore has no necessary permissions for reading/creating counters.

I have modified the following webconfig setting and set the value as 1hour, as the above log mentions that it's related to a heartbeat setting.

This solved the problem. I have Googled for any effects with this change in this setting, found no results on this. Is this ok to set this setting to 1hour? What is the purpose of this setting?

like image 825
Dhanuka777 Avatar asked Jul 03 '13 10:07

Dhanuka777


3 Answers

A Sitecore application pool user (most probably Network Service user) has to be a member of the system “Performance Monitor Users” group to have access to the mentioned registry key. Adding the user to this group and restarting IIS should solve the problem.

like image 86
Marek Musielak Avatar answered Oct 17 '22 20:10

Marek Musielak


As explained in approved answer you need to add app pool user to performance monitor users and performance log users group. To add your app pool user add iis apppool\{site name}. You need to restart your machine again or alternatively restart your iis and log off and log in to make sure your changes got picked up by user group membership

Here are a few screenshots.

iis app pool

computer management groups

add user to groups

like image 42
Azadeh Khojandi Avatar answered Oct 17 '22 19:10

Azadeh Khojandi


Powershell solution (works on Windows 10 Home, where you don't have lusrmgr.msc console). Run PS console as administrator then:

PS C:\WINDOWS\system32>Add-LocalGroupMember -Group "Performance Monitor Users" -Member "{UserName}"
PS C:\WINDOWS\system32>iisreset

Where the {UserName} is your application pool identity user or Network Service.

Mind that group name may be different (it may be in your local language for non-english Windows version). Then call:

PS C:\WINDOWS\system32>Get-LocalGroup

This will list all groups and you will find correct name there.

like image 35
whuu Avatar answered Oct 17 '22 19:10

whuu