CardioLog Analytics Architecture
We recommend installing the CardioLog Analytics application on a dedicated server, and the CardioLog Analytics database on a dedicated SQL Server instance. The CardioLog Analytics application and database can be installed on-premise, on physical servers or virtual machines, or hosted on Microsoft Azure virtual machines (IaaS) which meet the system requirements and with the required ports and permissions.
The following architecture diagrams display a typical implementation of CardioLog Analytics hosted on-premise, or on Microsoft Azure virtual machines (IaaS):
CardioLog Analytics Hosted On-Premise
CardioLog Analytics hosted on Microsoft Azure
Note: When hosting CardioLog Analytics on Microsoft Azure virtual machines (IaaS) and tracking a SharePoint on-premise farm, a site-to-site VPN is required. To support single sign on and leverage all product features, the Azure servers should be domain-joined.
CardioLog Analytics System Components
The CardioLog Analytics solution includes the following components:
A web application for configuring and viewing the web analytics reports.
A repository (SQL database) for storing all tracking and reporting data.
Website Tree Service
A web service which provides the structure of the monitored website to CardioLog.
A web service which sends tracking data from the tracking agent to the CardioLog database.
CardioLog Scheduling Service
|A Windows service that runs scheduled jobs, including usage data processing, website tree structure syncing and user information syncing.|
CardioLog Diagnostics Service
A Windows service used to run regular health checks on the CardioLog system.
The CardioLog Scheduling Service includes the following components:
- Usage Data Processing - Processes incoming tracking data from the Event Collector every hour.
- Portal Tree Updates - Retrieves the structure of the portal (ie., Monitored environments). This is done by creating an XML file which outlines the hierarchical structure of the portal, and then translates the XML data into relational data. This structure is the basis for data aggregations.
- Report Scheduling - Responsible for the automatic generation of all scheduled reports, and their distribution and publication.
- Active Directory Updates - Retrieves the list of all users and groups directly from Active Directory for use with visitor segmentation and other user targeted features.
- User Categories Updates - Retrieves the list of custom user categories from specific designated web services for use with visitor segmentation and other user targeted features.
Data Collected by CardioLog Analytics
CardioLog Analytics collects data from various sources, including:
- Page tagging: Page URL; query string; date and time; user ID; session ID; browser type and operating system; IP address.
- Active Directory or SharePoint user profiles: User name; email; department; location, etc. (Configurable)
- Social Activity from SharePoint or Yammer: Ratings; likes; follows; comments; groups and group activity, etc.
- Website tree service: Page ID; URL; title; content type; template; owner; editor; date created; date updated; size; and additional optional meta data fields.
The Data Collection Process
- Store Usage Data - The CardioLogAgent web application passes on the usage tracking information via HTTP/S web requests to the EventCollector web application located on the CardioLog application server, which writes the data into the CardioLog database.
- Process Usage Data - The Usage Data Processing service processes incoming tracking data from the EventCollector application. By default, this occurs hourly.
- View Usage Data - The processed data is visible in the Report Center and Analysis Center.
The data collected by CardioLog includes page URL, query string, user name, date and time, browser type, operating system, workstation IP and WFE server IP. Tracking of usage data operates in a non-invasive transparent manner and should not affect the monitored website's overall performance and response time. It is asynchronous to the monitored website's execution and user activity, and therefore has no direct impact on the monitored environment. The product has a marginal footprint on the website and can be turned off instantly should you require any site diagnosis.
CardioLog Agent File
After the first time a page is loaded, the larger files (AgentEmbed.aspx and ca.aspx) are cached in the browser for one hour. This allows speeding up the loading process of the tracking agent and save bandwidth.
The ca.aspx file is cached by page URL and may contains CSS information about personalized pages configured in CardioLog (such as behavioral targeting rules and A/B and MVT tests).
The size of the getCAData.aspx file depends on the personalized content configured in CardioLog (such as visitor segments, surveys, message bars, behavioral targeting rules and A/B and MVT tests).
The calls to the CardioLog server do not affect the page response time. If there is a connection error, the tracking agent tries to reconnect after 60 seconds in order to send usage data. The page will be displayed without modifications, assuming any were available, after 5 seconds of no response. For more information see Tracking Agent Configuration. Intlock encourages each customer to run their own performance tests.