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?
-
You've followed this guide right? doc.sitecore.net/cloud/xdb_cloud/configuring/… and set up all the configurations as it asks?– AnichoOct 11, 2016 at 17:00
-
1Yeah, 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.– gatesbobOct 11, 2016 at 17:44
3 Answers
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:
Check if the
CD
role flushes raw visitors' data into theCollection
repository:- Using Robomongo tool, connect to the
analytics
database and run the following query against theInteractions
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 theSession_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.
- Using Robomongo tool, connect to the
Check if the
Processing
role saves cooked date in theReporting
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.
- Using SQL Server Management Studio, connect to the
Check if the
Content Management
role is configured to talk to theReporting Service
. The following configuration files must be enabled:Sitecore.Xdb.Remote.Client.MarketingAssets.config
Sitecore.Xdb.Remote.Client.config
Sitecore.PathAnalyzer.RemoteClient.config
-
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/…– z00mableMar 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.– ob1devMar 2, 2017 at 18:33
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
-
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.– gatesbobOct 11, 2016 at 17:45
-
You can check the SubmitQueue under the data folder. there will be a subfolder there "Submit Queue"– DiegoOct 11, 2016 at 18:03
-
Have you checked these troubleshooting tips? nonlinearcreations.com/Digital/how-we-think/articles/2015/10/…– DiegoOct 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.– gatesbobOct 11, 2016 at 18:54
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.