- CardioLog Analytics Architecture
- CardioLog Analytics System Components
- The Data Collection Process
It is recommended to install 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 hardware and software requirements and with the required ports and permissions.
The following architecture diagrams display a common implementation of CardioLog Analytics hosted on-premise and on Microsoft Azure virtual machines (IaaS).
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 will have to be domain-joined.
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.
A web service which provides the structure of the monitored website.
Website Tree Service
A web service which sends tracking data from the tracking agent to the CardioLog database.
A Windows service which runs scheduled jobs, such as usage data processing, importing website tree structure and user information.
CardioLog Scheduling Service
A Windows service used to run health checks of the CardioLog system.
CardioLog Diagnostics Service
All components are hosted on the CardioLog application server except the database which is hosted on the CardioLog SQL server and the Tracking Agent which is hosted on the monitored environment.
The CardioLog Scheduling Service includes the following system jobs:
- Usage Data Processing - processes incoming tracking data from Event Collector every hour.
- Portal Tree Updates - retrieves the structure of the portal (monitored environments). This is done by creating an XML file which portrays 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 scheduled reports and their email distribution.
- Active Directory Updates - CardioLog provides the ability to segment authenticated visitors by their user names and the groups they belong to. The Active Directory Updates service component retrieves the list of users and groups directly from Active Directory.
- User Categories Updates - CardioLog provides the ability to segment visitors by any custom category. The User Categories Updates service component retrieves the list of custom categories from a designated web service.
- Store Usage Data - The CardioLogAgent web application passes on the usage information, via HTTP/S web requests, to the EventCollector web application - which writes the data into the CardioLog database.
- Process Usage Data - The Usage Data Processing service processes incoming tracking data from Event Collector (every hour by default).
- View Usage Data - The processed data is visible in the Report Center and Analysis Center.
Tracking of usage data operates in a non-invasive transparent manner and does not affect the monitored website's overall performance and response time. It is asynchronous to the monitored website’s execution and users' activity, thus has no direct impact on the monitored environment.
The product has a marginal footprint on the website and can be turned off instantly should a diagnosis be required.
CardioLog Agent File
In case of a connection error, in order to avoid unwanted overhead, the tracking agent tries to reconnect after 60 seconds (configurable) in order to send usage data. The page will be displayed without modifications - if any - after 5 seconds (configurable).
Intlock encourages each customer to perform his/her own performance tests.
CardioLog Analytics collects data from various sources:
- 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 etc.
- Website tree service: Page ID, URL, title, content type, template, owner, editor, created, updated, size, and additional meta data fields (configurable).