Unfortunately I’ve found a problem with our development build, or rather, with SharePoint 2010. You may notice that the Usage and Health Data Collection Proxy is Stopped after deploying it in your environment. This is not just a matter of starting the service like it is with some Service Applications. In this case the SA proxy itself appears to be stopped. It appears that this is a known problem when provisioning this Service Application via the GUI. In fact, ours was created automatically as part of the Search Service Application creation process. At any rate, it doesn’t work in its current state in our environments, so it won’t actually collect any data.
To fix this just requires a couple of lines of PowerShell, courtesy of this article (to which I’ve added some clarification here).
If you go to the Manage Service Applications link you’ll see the problem:
Open the SharePoint 2010 Management Shell and Run as Administrator.
Update, 10 January 2011
Tom suggested an improvement in the comments here, which I agree is better!
$sap = Get-SPServiceApplicationProxy | where-object {$_.TypeName -eq “Usage and Health Data Collection Proxy”}
$sap.Provision()
Original approach
Run Get-SPServiceApplicationProxy to enumerate the IDs of all the Service Application Proxies in your farm.

(note: you will probably have more Service Application Proxies than these)
Copy the ID for the WSS_UsageApplication.
Run the following two lines of PowerShell.
$UP = Get-SPServiceApplicationProxy | where {$_.ID -eq "<PASTE COPIED ID HERE>"}
$UP.Provision()
If you refresh the Manage Service Application page the proxy should be started now.
Once that has been configured, the usage data will not appear immediately in all of the usage reports because the timer jobs to collect the data will not have run yet. The granularity of the data collection and processing is pretty fine if you want to reconfigure them for your needs, but keep in mind that none of the Web Analytics reports will appear for at least 24 hours after this fix is in place. They do not allow reporting on the current day. If you try to configure a Custom Date Range to include today’s date you will get the following message:
I’ll try to track this issue as updates come out.




Wednesday, July 21st, 2010, 12:19 am | 



06/01/2011 at 3:28 pm
Thanks, this was exactly what I needed.
07/01/2011 at 7:12 am
An even simpler and quick method is to run the following commands, you don’t need to get the ID with this;
$sap = Get-SPServiceApplicationProxy | where-object {$_.TypeName -eq “Usage and Health Data Collection Proxy”}
$sap.Provision()
10/01/2011 at 12:20 am
Thanks Tom! I agree, that’s an improvement. PowerShell is definitely not my strong point. I’ll update my post. Cheers!
06/04/2011 at 3:20 pm
Great post! Ran into same issue…
05/05/2011 at 8:17 pm
Hi /Tristan/Tom,
Thanks! This worked perfectly for me.
Regards
Vishwas
17/05/2011 at 12:46 pm
Excellent post. Helped a lot.
07/07/2011 at 4:37 pm
Excellent Post. Worked like a charm.
Thanks Tristan and Tom!!
Vicky.
21/10/2011 at 1:03 pm
Thanks for the post. This has made my day…. Great post
24/10/2011 at 1:07 pm
Worked for me – thanks!
12/12/2011 at 7:11 pm
Tristan – This worked great. Thank you for posting.!
Trackbacks
31/12/2010 at 10:05 am
20/12/2011 at 3:09 pm