Five New Optimizely Certifications are Here! Validate your expertise and advance your career with our latest certification exams. Click here to find out more
Five New Optimizely Certifications are Here! Validate your expertise and advance your career with our latest certification exams. Click here to find out more
This instruction applies to the Live Monitor version included in the EPiServer 7.5 download package. The latest version (7.5+) of Live Monitor is an add-on which can be installed and upgraded from the EPiServer NuGet feed.
This document describes how to configure Live Monitor in EPiServer CMS. Live Monitor is a module for EPiServer CMS that visualizes the current traffic on an EPiServer CMS-based website, and can be used for monitoring the traffic to your website and following the behavior of visitors.
Live Monitor can be used as-is, directly from the installation with EPiServer CMS, though it is possible to change some of the default settings if required. In this document the various configuration options are described in more detail. Live Monitor is installed on the system through the (msi) installation file and deployed to a site through Deployment Center.
Note if your solution is set up in a load balancing environment, see the interval-based updates section for more information.
A special placeholders for the tracking scripts need to be added to the sites master page if site templates do not render required client resources for default areas Header and Footer. One placeholder should be placed inside the <head> tag and another one before the closing </body> tag. If Live Monitor is installed on ASP.NET MVC site a special HTML helpers should be used:
<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %>
<%@ Import Namespace="EPiServer.Framework.Web" %>
<%@ Import Namespace="EPiServer.Framework.Web.Mvc.Html" %>
<html>
<head runat="server">
â¦
<strong><%= Html.RequiredClientResources(RenderingTags.Headerstrong>
</head>
<body>
â¦
<strong><%= Html.RequiredClientResources(RenderingTags.Footerstrong>
</body>
</html>
if Live Monitor is installed on ASP.NET Web Forms site a special WebControls should be used:
<%@ Master Language="C#" AutoEventWireup="false" CodeBehind="Site.master.cs" Inherits="EPiServer.Templates.Alloy.Views.MasterPages.Site" %>
<html>
<head runat="server">
â¦
<strong><EPiServer:RequiredClientResources RenderingArea="Header" ID="RequiredResourcesHeader" runat="server" /></strong>
</head>
<body>
â¦
<strong><EPiServer:RequiredClientResources RenderingArea="Footer" ID="RequiredResourcesFooter" runat="server" /></strong>
</body>
</html>
Refer to the Client resource management section in the EPiServer CMS SDK.
It is possible to override default client behavior by changing init parameters on the client control (these changes should be made in the SilverlightApplication.ascx file). These are:
Live Monitor consists of a Silverlight web browser plug-in for visualization of visitor movements on the website and services providing the Silverlight application with visitor information.
Run epitraceHits.sql in your EPiServer database. This will create the table epitraceHits and the stored procedures epitraceRegisterVisit and epitraceMaintenance.
The stored procedure epitraceMaintenance needs to be setup to run at least every 24 hours. The stored procedure removes information about old visits rebuilds indexes on the epitraceHits table.
Live Monitor can be set up to handle client updates in two different ways. The default setup pushes visitor updates to the listening Live Monitor Silverlight clients as soon as a visit is recorded by the visitor handler. This setup requires that the visitor logging handler resides in the same web application as the visitor service, since these updates are done with direct communication between the logging handler and the visitor service.
The second setup pushes updates at a configurable interval to the clients. When a visitor views a page the visit is recorded to database by the visitor logging handler, but the visitor service is not notified. The visitor service is instead setup to load visits from the database at a configurable interval and push to the listening Live Monitor clients. This setup does not require that the visitor service and the logging handler reside in the same web application.
Interval based visitor updates must be configured in web.config. This requires that a configuration section is registered in web.config.
<sectionGroup name="episerverModules">
<section name="episerver.epiTrace"
type="EPiServer.Trace.CMS.Configuration.EPiTraceSection"
allowLocation="false"/>
</sectionGroup>
Then the actual configuration must be added as well:
<episerverModules>
<episerver.epiTrace usePolling="true" pollingInterval="5" />
</episerverModules>
Further information on the configuration properties:
Live Monitor relies on WCF services for communication between the Silverlight client and the web server. If you are using multiple site bindings (for example, http://mysite.com and http://www.mysite.com) on your site, there is some specific configuration required.
If your site is running on ASP.NET 4 or later you can enable multiple site bindings using a configuration setting specific for this purpose. This configuration setting is a requirement if you want to run Live Monitor on multiple sites in an EPiServer Enterprise setup with multiple bindings.
<configuration>
<system.serviceModel>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" .../>
</system.serviceModel>
</configuration>
If your site are running ASP.NET 3.5 you will need to select one specific address where Live Monitor should be available by configuring the “base address prefix filters”.
<configuration>
<system.serviceModel>
<serviceHostingEnvironment ...>
<baseAddressPrefixFilters>
<!-- this is the address from which I want to run
the live monitor client -->
<add prefix="http://mysite.com">
</baseAddressPrefixFilters>
</serviceHostingEnvironment>
</system.serviceModel>
</configuration>
Open web.config and set bindingConfiguration of the TraceService endpoint to a binding with the security mode set to “transport” as shown in the following example:
<system.serviceModel>
<services>
<service behaviorConfiguration="EPiServer.Trace.Services.TraceServiceBehavior" name="EPiServer.Trace.CMS.Services.TraceService">
<endpoint bindingConfiguration="basicHttpBinding" .../>
</service>
</services>
<bindings>
<basicHttpBinding>
<binding name="basicHttpBinding">
<security mode="Transport" />
</binding>
</basicHttpBinding>
</bindings>
Last updated: Mar 31, 2014