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 (given 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 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. - SharePoint WFEs hosting the CardioLog Analytics JavaScript tracking code. By default, when deploying the CardioLog Analytics SharePoint feature for usage tracking, the JavaScript tracking code is hosted in the CardioLogAgent web application which is automatically installed on your SharePoint WFEs under each SharePoint web application _layouts folder.
CardioLog Analytics On-Premise High Availability Architecture - with usage data collection components installed on dedicated web servers
How to Install the CardioLog Analytics Usage Data Collection Components on a Dedicated Web Server
System Requirements
Inspect the following table to assure that your dedicated web server meets the minimum hardware and software requirements:
| CardioLog Standard Edition | CardioLog Professional Edition | CardioLog Enterprise Edition |
Platform | 64-bit | 64-bit | 64-bit |
Operating System | Windows 2008 R2/2012/2012 R2/2016/2019 Server Standard Edition (fully patched) | Windows 2008 R2/2012/2012 R2/2016/2019 Server Standard Edition (fully patched) | Windows 2008 R2/2012/2012 R2/2016/2019 Server Standard Edition (fully patched) |
Application Memory | 4 GB | 8 GB | Minimum* - 8 GB Recommended - 12 GB |
Processors | 4 Cores | 4 Cores | 4 Cores |
Additional Software & Services |
|
|
|
* Up to 2,000,000 events per month
Installation Procedure
- Verify that your system meets the software and hardware requirements.
- Install the Required Web Server (IIS) Role Services on your web server.
- Deploy the CardioLog Analytics SharePoint feature for usage tracking, or add the tracking code to a common page component of your choice (for example - master pages, page toolbars, Web Parts, headers or footers).
- Create a new EventCollector web application on your web server. For the new web application:
- Create a dedicated application pool with ASP.NET version 4.0 and Integrated managed pipeline mode.
- The application pool should run with a local administrator account.
- 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).
- Grant Full Control permissions for the IIS_IUSRS group on the EventCollector folder
- Copy the files from the CardioLog server [CardioLog Installation Directory]\EventCollector to the new directory.
- Copy the files from the CardioLog server [CardioLog Installation Directory]\Setup Files\SLPS to the new directory under \EventCollector\bin folder.
- Execute the following command on your web server: Slps.Runtime.Configuration /Install (execute it from this location - \EventCollector\bin)
- Contact us to receive the required licenses for the web server (product edition and engagement package) and apply it using the License Admin tool (execute it from this location - \EventCollector\bin\Microsoft.Licensing.LicAdmin.exe).
- Create a new CardioLogAgent web application on the web server. For the new web application:
- Create a dedicated application pool with ASP.NET version to 4.0 and Integrated managed pipeline mode.
- The application pool should run with a local administrator account.
- Set the web application authentication method to Windows Authentication (disable Anonymous access).
- Grant Full Control permissions for the IIS_IUSRS group on the CardioLogAgent folder
Copy the files from the CardioLog server [CardioLog Installation Directory]\CardioLogAgent to the new directory.
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 URLs in the Java Script tracking code:
[domain name] - the NLB FQDN for the web application.
[SharePoint version] - MOSS2007, SP2010, SP2013, SP2016 or SPOnline
If the CardioLog Analytics SharePoint feature for usage tracking is deployed, edit the URLs in the following location:
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\CardioLogAgent\CardioLogAgent.jsIf the Java Script tracking code is embedded within a common page component on your SharePoint WFEs, edit the URLs in there.
- 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 DR configuration for the entire CardioLog solution, including the reporting user interface, is not supported.
An Active-Passive DR 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 identical content to the live farm (identical content URLs and SharePoint IDs) and CardioLog is importing the tree structure directly from the SharePoint database (supported on SharePoint 2013 or lower), 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) - Click Apply, and then click Save.
SharePoint Adaptor System Configuration Preference Window