One of the benefits of using CardioLog Analytics on-premise is a complete ownership of your own data, on your own servers, which allows you to control both privacy and security. This also means that redundancy for the CardioLog server is the customer's responsibility to maintain. This article contains several recommendations for optimal operation.
High Availability and Network Load Balancing for Usage Data Collection
Data collection is handled by the EventCollector and CardioLogAgent web applications. Multiple instances of these web applications can work in parallel. Each instance will simultaneously write its own usage data directly into the CardioLog database.
For portals with 10 million events or more per month, we highly recommend using network load balancing (NLB) for usage data collection.
By default the CardioLogAgent web application is hosted on the SharePoint WFEs and the EventCollector web application is hosted on the CardioLog application server. In case the CardioLog application server is not available, usage data will be lost. To eliminate the dependency on the CardioLog application server (assuming the CardioLog database is hosted on a separate server) we highly recommend configuring High Availability (HA) for usage data collection.
The architecture for HA and NLB should be as follows:
- Application server hosting the CardioLog Analytics application.
- Database server hosting the CardioLog database.
- Two or more web front end (WFE) servers that host the Usage Data Collection components (EventCollector and CardioLogAgent web applications).
Note: You can use the existing SharePoint WFEs or dedicated servers to host the Usage Data Collection components. By default, when deploying the CardioLog Analytics SharePoint feature for usage tracking, the CardioLogAgent web application is automatically installed on your SharePoint WFEs under each SharePoint web application _layouts folder. You can install the EventCollector web application in the same location assuming the SharePoint WFEs have sufficient resources to handle the additional web requests.
CardioLog Analytics On-Premise High Availabilty Architecture - with usage data collection components installed on the SharePoint WFEs
How to Install the CardioLog Analytics Usage Data Collection Component on a Web Front End (WFE)
- Create a new EventCollector web application on your WFE. For the new web application, create a dedicated application pool. Set ASP.NET version to 4.0 and grant the application pool account the "db_owner" role on the CardioLog database. Set the web application authentication method to Anonymous access (disable Windows Authentication).
- Copy the files from the CardioLog server [CardioLog Installation Directory]\EventCollector to the new directory.
- Contact us to receive the required license for the EventCollector web application.
- Create a new CardioLogAgent web application on the WFE. For the new web application, create a dedicated application pool and set ASP.NET version to 4.0. Set the authentication method of the web application to Windows Authentication (disable Anonymous access).
Copy the files from the CardioLog server [CardioLog Installation Directory]\CardioLogAgent to the new directory.
Note: When deploying the CardioLog Analytics SharePoint feature for usage tracking, there is no need to create a new CardioLogAgent web application.Edit the following keys in the CardioLogAgent\web.config file, located in the <appSettings> section and enter the NLB FQDN, where [domain name] is the NLB FQDN for the web applications.
Note: When the EventCollector and CardioLogAgent web applications are installed on your SharePoint WFEs under each SharePoint web application _layouts folder, edit the following keys in the CardioLogAgent\web.config file, located in the <appSettings> section, where [domain name] is the SharePoint web application FQDN.Edit the following keys in the Java Script tracking code:
Note: When deploying the CardioLog Analytics SharePoint feature for usage tracking, there is no need to edit these keys (the default value is "/_layouts").
By default, the Java Script tracking code is embedded within a common Java Script file on your SharePoint WFEs -
For MOSS 2007 only:
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\LAYOUTS\1033\core.js
For SharePoint 2010 only:
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\1033\init.js
For SharePoint 2013 only:
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\LAYOUTS\init.js
The code is located at the end of the file, between these comments: //Intlock tracking code start, and //Intlock tracking code end
[domain name] - the NLB FQDN for the web application.
[SharePoint version] - MOSS2007, SP2010, SP2013, SP2016 or SPOnline
- In the CardioLog database, edit the URL column in the tab_management table by executing the following SQL script:
Use CardioLog
GO
update tab_management set url = replace (url, '[Old URL]', '[New URL]')
where name = 'EventCollector'
[Old URL] - http[s]://CardioLog-machine-name:port
[New URL] - http[s]://[domain name]
Disaster Recovery for the CardioLog Analytics Application
An Active-Active configuration for the entire CardioLog solution, including the reporting user interface, is not supported.
An Active-Passive configuration for the entire CardioLog solution is available at an additional cost (the dormant server requires a production license).
Configuring CardioLog Analytics on a SharePoint DR Farm
Assuming the SharePoint backup farm has an identical, redundant set of portal URLs to the live farm, follow this procedure to prepare for a SharePoint farm failover:
- Install the CardioLog Analytics Tracking Agent Feature on the backup farm as detailed here
- Verify that the CardioLog user account has read permissions to the SharePoint databases and a TEMPLATE folder on the backup farm.
- In case of a failover,
- Go to Administration > System Configuration > SharePoint Tree Adaptor > click on your SharePoint farm
- In the SharePoint Tree Adaptor dialog, fill out the following fields for the backup farm:
- Database Server - The SharePoint database instance name.
- SharePoint Configuration Database Name - The SharePoint configuration database name. eg,. "SharePoint_Config"
- Authentication - Database authentication type (Windows Integrated or SQL Authentication).
- SharePoint TEMPLATE Directory - This is the full path for the SharePoint TEMPLATE directory. eg,. "\\<sharepoint server name>\C$\Program Files\Common Files\Microsoft Shared\Web Server Extensions\XX\TEMPLATE\" (Where XX is 12 for MOSS 2007; 14 for SharePoint 2010; 15 for SharePoint 2013; 16 for SharePoint 2016) - Click Apply, and then click Save.
SharePoint Adaptor System Configuration Preference Window