14

I'm using the xDB Cloud 1.0 setup in Sitecore 8.1. The site is successfully tracking contacts as I can see new profiles under the Experience Profile. However, the aggregate data on Experience Analytics is not refreshing and still showing 0 visits. I am using the Sitecore.Cloud.Xdb.Update 8.1.0 rev. 160210 package, and no errors in the logs. And it has been several days, so there should definitely be aggregated data. Is there something I am supposed to trigger to cause the reporting to update, or is that supposed to happen automatically in the cloud?

2
  • You've followed this guide right? doc.sitecore.net/cloud/xdb_cloud/configuring/… and set up all the configurations as it asks?
    – Anicho
    Oct 11, 2016 at 17:00
  • 1
    Yeah, even started over with a fresh install of the update package. Set the deployment ID, region, and deployment type. Tracking is fine, it's just the reporting side.
    – gatesbob
    Oct 11, 2016 at 17:44

3 Answers 3

9

NB: The following description works for both xDB on-premises as well as xDB Cloud.

In Sitecore Experience Database aka Sitecore xDB, there are Collection repository and Reporting repository.

Collection

The Collection repository is powered by MongoDB and includes the following databases:

  • analytics
  • tracking.live
  • tracking.history
  • tracking.contact

Reporting

The Reporting repository is powered by SQL Server and includes the following databases:

  • reporting
  • reporting.secondary

Processing

Between those two repositories, Sitecore has Processing role, which takes raw visitors data, aggregates, processes, does some magic and saves into the Reporting repository.

Content Delivery

In front of the Collection repository, Sitecore has Content Delivery role (aka CD), which has direct access to MongoDB databases and it writes all visitors activity in a raw format.

Reporting Service

Behind the Reporting repository, Sitecore has Reporting Service role, which has direct access to SQL Server database.

Content Management

Under the Reporting Service role, Sitecore has Content Management role (aka CM), which sends SQL queries to the Reporting Service role to execute them against the reporting SQL Server databases.

The Content Management role, provides the following apps:

  • Experience Analytics
  • Experience Profile

The Experience Analytics app takes data from the Collection repository. While the Experience Profile app takes data from the Collection repository.

Note: I took away the sitecore_analytics_index search index from the above description to simply it a bit.

Troubleshooting

Therefore, if the Experience Profile app doesn't show any data that means something goes wrong in the above sequence, and typical troubleshooting scenario is as follows:

  1. Check if the CD role flushes raw visitors' data into the Collection repository:

    • Using Robomongo tool, connect to the analytics database and run the following query against the Interactions collection to see date time of the last save interaction:
    • db.Interactions.find().sort({SaveDateTime:-1}).limit(1)
    • If you can see recently saved documents then go to step #2.
    • If not then check the connection strings to the databases of the Collection repository, and if your session state provider supports the Session_End event, because this is when Sitecore starts flushing data.
    • When Sitecore can't flus data, it dumps it in the file system under the \Data\Submit Queue path.
  2. Check if the Processing role saves cooked date in the Reporting repository:

    • Using SQL Server Management Studio, connect to the reporting database and run the following query against the [Trail_Interactions] table:
    • SELECT TOP 1 [Processed] FROM [Trail_Interactions] ORDER BY [Processed] DESC
    • If you can see recently processed interaction then go to step #3.
    • If not then you need to check Sitecore Log files on the Processing role. Most likely there is an exception(s) that explains why aggregation process fails. However, it's tricky with an xDB Cloud Set, because you don't have an access to it. In this case, I would recommend filing a support ticket to Sitecore.
  3. Check if the Content Management role is configured to talk to the Reporting Service. The following configuration files must be enabled:

    • Sitecore.Xdb.Remote.Client.MarketingAssets.config
    • Sitecore.Xdb.Remote.Client.config
    • Sitecore.PathAnalyzer.RemoteClient.config
2
  • To 3.: If you are using the Sitecore xDB Cloud 1.0 do not enable the Sitecore.Xdb.Remote.Client.config file. You can find that here doc.sitecore.net/sitecore_experience_platform/81/…
    – z00mable
    Mar 1, 2017 at 9:58
  • @z00mable, you are right. Sitecore xDB Cloud Client for xDB Cloud v1.0 enables the remote client itself in the \App_Config\Inclue\XdbCloud\Sitecore.Cloud.Xdb.config file.
    – ob1dev
    Mar 2, 2017 at 18:33
4

Assuming you followed the setup correctly and you have mongo running:

  • Can you try to shorten the session time so you can see the data being flushed to mongo quickly?

  • Do you see any records or errors on the submit queue(you can find it under /data/Submit Queue)

  • Have you checked the session state setup against your own? Check this post

4
  • Good call on shortening the session - I still had it at 20 minutes, but I was calling a utility page to abandon the session. Same outcome, but this is more "real-time". Yes, I can connect to the Mongo cloud instance and see the Interactions updating for my contact. Since this is currently local-only, I'm using private session state. I'm not sure where to check the submit queue, though. I mean, I see the data updating in Mongo, so not sure if that's sufficient, or if there is some other queue to look at.
    – gatesbob
    Oct 11, 2016 at 17:45
  • You can check the SubmitQueue under the data folder. there will be a subfolder there "Submit Queue"
    – Diego
    Oct 11, 2016 at 18:03
  • Have you checked these troubleshooting tips? nonlinearcreations.com/Digital/how-we-think/articles/2015/10/…
    – Diego
    Oct 11, 2016 at 18:35
  • I hadn't, but most of those tips have to do with tracking. It is tracking correctly, and I see individual activity via the Analytics Profile, down to what I was browsing a few minutes ago. I'm just not getting any of the rollup reports.
    – gatesbob
    Oct 11, 2016 at 18:54
1

I had a similar issue once.. first no data and then there was data. And then the data was outdated/inconsistent (I changed some contact details and it was ok in the details but not in the list view). Anyway, I'm not sure it what I'm sharing here is related but it could be something to look at, especially if you are talking about a non-prod environment with limited analytics data so far.

In the Sitecore.ContentSearch.Solr.Index.Analytics.config or Sitecore.ContentSearch.Lucene.Index.Analytics.config you will find settings for an AnalyticsVisitCrawler, a AnalyticsVisitPageCrawler, .. and so on. Each of these crawlers has an element MinimumQueueSize which is set to 500 by default. When investigating my issue with contact data being inconsistent between the list and the details I learned that the reporting tools use indexes (which cannot be rebuild - unless by rebuilding the whole analytics database). By lowering the minimum queue size in those settings we could get the indexes to update faster and show the correct data faster.

This only makes any sense if your data is saved in to Mongo (what seems to be the case) and aggregated to the analytics sql database correctly.

Anyway, not sure whether it can solve your issue, but it might give you an insight in what is all going on for those reporting tools to work.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.