Tagged: Analytics

Cannot start analytics Tracker Exception – The Certificate was not found – Sitecore Azure Webapps

ERROR Cannot start analytics Tracker Exception: System.InvalidOperationException Message: The certificate was not found. Store: My, Location: CurrentUser, FindType: FindByThumbprint, FindValue: 23ACB78F3CDA99BA00646EA867C77466EBE8C718, InvalidAllowed: False. Source: Sitecore.Xdb.Common.Web at Sitecore.Xdb.Common.Web.Synchronous.SynchronousExtensions.SuspendContextLock[TResult](Func`1 taskFactory) at Sitecore.Analytics.DataAccess.Dictionaries.DataStorage.ReferenceDataClientDictionary.EnsureDefinitionType(String definitionTypeName) at Sitecore.Analytics.DataAccess.Dictionaries.DataStorage.ReferenceDataClientDictionary.LoadAs[T](Object key) at Sitecore.Analytics.DataAccess.Dictionaries.AverageCounterExtensions.MeasureMilliseconds[T](AverageCounter counter, Func`1 func) at Sitecore.Analytics.DataAccess.Dictionaries.ReferenceDataDictionary`2.Get(TKey key, LookupStrategy strategy) at Sitecore.Analytics.DataAccess.Dictionaries.UserAgentsDictionary.Register(String userAgentName) at Sitecore.Analytics.Tracking.CurrentVisitContext.set_UserAgent(String value) at Sitecore.Analytics.Pipelines.CreateVisits.InitializeWithRequestData.Process(CreateVisitArgs args) at (Object , Object ) at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args) at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain, Boolean failIfNotExists) at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain) at Sitecore.Analytics.Pipelines.CreateVisits.CreateVisitPipeline.Run(CreateVisitArgs args) at Sitecore.Analytics.Tracking.StandardSession.CreateInteraction(HttpContextBase httpContext) at Sitecore.Analytics.Pipelines.InitializeTracker.CreateVisit.Process(InitializeTrackerArgs args) at (Object , Object ) at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args) at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain, Boolean failIfNotExists) at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain) at Sitecore.Analytics.Pipelines.InitializeTracker.InitializeTrackerPipeline.Run(InitializeTrackerArgs args) at (Object , Object ) at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args) at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain, Boolean failIfNotExists) at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain) at Sitecore.Analytics.Pipelines.StartTracking.StartTrackingPipeline.Run(StartTrackingArgs args) at Sitecore.Analytics.DefaultTracker.StartTracking()

 

This error came up after we upgrade the certificate or I would say after we removed the Expired Certificate and add the new valid Certificate on Webapp (Sitecore on Azure).

This causes analytics to stop working.

To solve this error, Certificate Thumbprint has to be updated at various locations:

  1. Configuration files:
    On different web-apps of scaled environments, this Thumbprint needs to be updated.1.1 In App_Config/ConnectionStrings.config file of the following web-apps one might need to update any/all of xconnect.collection.certificate, xdb.marketingautomation.operations.client.certificate, xdb.referencedata.client.certificate (if exist):
    – CM
    – CD (all CD web-apps)
    – MA-Ops
    – PRC (processing)

    1.2 One needs to update the value of key validateCertificateThumbprint in App_Config/AppSettings.config file in following WebApps.
    – XC-Collect
    – XC-RefData
    – XC- Search
    – MA-Rep
    – MA-Ops

    1.3 <CertificateThumbprint> Tag’s value of Config/production/Sitecore.IdentityServer.Host.xml in following WebApp:
    – Si (Sitecore Identity)Once these configuration files of various Web-Apps has been updated, restart these Web-Apps.

  2.  If the above doesn’t solve the issue, following Web-App configurations also needs to be changed like below. Open the Configuration tab, and check for “Certificate” – all the Thumbprint needs to be updated where it is referring to old/incorrect Thumbprint:2.1 CM:
    Open the CM web-app in Azure –>Go to Configuration Tab –> And edit the certificates’ configuration.
    Make sure you update the Thumbprint value to valid/correct Thumbprint.
    – Cortex Reporting Client Certificate
    – WEBSITE_LOAD_CERTIFICATES
    – XConnect Collection Certificate
    – XDB MA Ops Client Certificate
    – XDB MA Reporting Client Certificate
    – XDB Reference Data Client Certificate
    2.2 SI:
    Update the valid/correct Thumbprint for Certificate Configuration in Sitecore-Identity WebApp as well.
    Replace the expired/incorrect thumbprint for “Certificate Thumbprint” & “WEBSITE_LOAD_CERTIFCATES”

    2.3 CDs:
    Go to the configuration tab for each CD server and update the thumbprint value for the following configuration:
    – WEBSITE_LOAD_CERTIFICATES
    – XConnect Collection Certificate
    – XDB MA Ops Client Certificate
    – XDB Reference Data Client Certificate

    2.4 Cortex Processing:
    From the configuration node, update the following Certificate configuration with valid/correct Thumbprint for Cortex Processing Web-App:
    – Processing Engine Xconnect Collection Client Certificate Thumbprint
    – Processing Engine Xconnect Search Client Certificate Thumbprint
    – WEBSITE_LOAD_CERTIFICATES
    – XConnect Server Certificate Validation Thumbprint

    2.5 Cortext Reporting:
    Update the below two certificate configuration for Cortext Reporting:
    – WEBSITE_LOAD_CERTIFICATES
    – XConnect Server Certificate Validation Thumbprint

    2.6 Ma-Ops
    Update the WEBSITE_LOAD_CERTIFICATES thumbprint for Ma-ops

    2.7 Ma-Rep
    Update below two configurations with the correct/valid thumbprint value:
    – WEBSITE_LOAD_CERTIFICATES
    – XConnect Server Certificate Validation Thumbprint

    2.8 Prc (Processing)

    Update the below two Certificate configuration with appropriate certificate thumbprint value:
    – WEBSITE_LOAD_CERTIFICATES
    – XConnect Collection Certificate

    2.9 XC-Collect
    Update the configuration for XC-Collect as well:
    – XConnect Server Certificate Validation Thumbprint

    2.10 XC-RefData
    Update the “XConnect Server Certificate Validation Thumbprint” configuration for XC-RefData Web-App as well.

 

Once you update these configurations, restart these Web-Apps and then try again. The analytics tracker error due to the Certificate was no longer in your log files.

 

Happy Sitecoring…

Sitecore application / website handover – Points to remember

Congratulations… You are performing a very responsible job if you are going to give/take handover of sitecore application. Though developer don’t need handover session, it will be easy to understand some functionalities through handover sessions. Following are some important areas- you must include in your handover session:

1. Sitecore Version:

It is very easy to know sitecore version and it is as important.

You can get idea of what functionalities will be there if you know the Sitecore version.

2. Workflow:

You must know if the workflow is setup in the application or not? If it is, then which workflow it is? Is it simple workflow (provided by sitecore)? Or is it a custom one?

You also need to know the Workflow states and Actions.

Read more about workflow

3. User Roles:

Ask if any user roles are setup to restrict the access or not? If yes, what types of role are those and for what purpose.

It might be possible that publishing rights are not given to everyone. Only users having specific role can publish the item.

4. Search Mechanism:

How the Website search is implemented? Is it using lucene search or some thing else?

Check the index files location. Which types of templates are excluded in indexing?

5. Sitecore OMS/DMS:

Now, this is a big domain. You must need to confirm, if OMS/DMS (analytic) is enabled or not.

If it is enabled, It is advisable that you must review these functionalities.

Following are some functionalities which you can take into considerations:

– Custom Dashboard/Analytics Reports

– Goals

– Campaigns

– Personalization

6. Specific functionalities:

 Is there any specific functionality which is not provided by sitecore as default? If so, have a look at it and try to know its purpose and behaviour.

Following is the example of such functionalities suggested by Brijesh Patel.

3rd party integrations:

Look for any 3rd party application/code is implemented or not.

Check if any application to import of data from other applications into sitecore is used or not. Following are such applications:

– Taleo
– Twitter
– News Feeds

7. Sitecore Modules

Ask if any sitecore modules (available in sitecore market place) are installed or not.

Most common sitecore modules are:

– Web form for marketers

– Sitecore Power shell console

– Forum/Blog modules

8. Server/Sitecore Instance architecture:

Check the sitecore instance/web.config files for this.

Is it a multi-site solution/instance?

Is it a multi-lingual site?

How the Content Authoring and Content Delivery / Staging and Production servers are setup?

How the publishing target/s are setup?

9. Custom Field:

Custom field is implemented in very rare case but it will be better to be sure.

Ask if any sitecore custom field is implemented or not. If so, what is the purpose and functionality of it.

10. Custom Pipeline/Process:

 Again, this is also in very rare cases.

Ask if any custom pipleline process or handler is implemented or not. If so, check the handler, when it is get fired and what is the use/purpose of it.

Hope this helps. Try to get/give as much information as you can in the Handover session. Best of luck.. 🙂

I have tried to cover mostly all important aspects of Sitecore Handover session but as a Human it may be possible I missed some important one. So, if you feel that I missed anything important, please make me noticed about that so that other can get advantage of it. Waiting for your comments..

Sitecore Executive Dashboard – No Overview data found

Sitecore Executive Dashboard – No Overview data found

Problem: I have setup DMS on my Sitecore 6.5 – 120706 instance. I have also created Engagement Analytics Custom reports and It is working fine but Sitecore Executive Dashboard is not running. When I open it,  it gives me No Overview data found message.

Solutions:

1. By default, the executive dashboard runs if the site has 50+ visits. You can change this configuration by changing the value of MinimumVisitsFilter to 1 in Configuration.xml/Configuration.config located at \sitecore\shell\Applications\Reports\Dashboard folder.

2. If the above setting change will not work for you then you need to clear the cache and need to refresh the report data.

Executive Dashboard works with the client and server cache to avoid frequent requests to the Analytics database. Sometimes the cache could be the cause of not updated reports, so make sure that it is configured correctly.
The server cache is stored in the data folder, in the ‘Dashboard reports’ directory. To clear the cache, just remove this folder and the next Dashboard run will send a new request to Analytics database for creating a new cache (the client cache must be cleared as well).
Sitecore has a rule to periodically remove this folder by default it is of 2 Days. The corresponding setting is available in the web.config file of the Sitecore website root:

<remove folder=”$(dataFolder)/Dashboard reports” pattern=”*.*” maxAge=”2.00:00:00″ recursive=”true”/>

Since the Sitecore 6.5.0 Update-4 release, An additional cache level is added for the dashboard data. This cache is stored in the Analytics database, in the tables named ‘dbo.Cache_*’.

To update this cache, run the ‘Analytics -> Refresh Aggregated Data in Reports‘ task in the Control Panel. Apart from that, there is a scheduled task in Sitecore.Analytics.config that frequently updates this cache:

<agent type=”Sitecore.Analytics.Tasks.UpdateReportsSummaryTask, Sitecore.Analytics” method=”Run” interval=”00:30:00″>
<UpdateReportsSummaryAt>23:30:00</UpdateReportsSummaryAt>
</agent>

This will solve the issue..

Happy Coding 🙂