- BLOB providers
- Client resources
- Configuring .NET SignalR
- Configuring episerver
- Configuring episerver.basicAuthentication
- Configuring episerver.dataStore
- Configuring episerver.framework
- Configuring episerver.packaging
- Configuring episerver.search
- Configuring episerver.shell
- Configuring Image Service
- Configuring link validation
- Configuring Live Monitor
- Configuring module.config
- Configuring staticFile
- Reading application settings programmatically
- Selecting content
- Refactoring content type classes
- Persisting IContent instances
- Block types and templates
- Content Type attributes
- Converting page types for pages
- Creating a page programmatically
- Creating page templates and block controls
- Edit hints in MVC
- IContentRepository/DataFactory interface
- Localizing the user interface
- Page types and templates
- Assets and media
- Dynamic content
- Dynamic data store
- EPiServer CMO
- Event management
- Scheduled jobs
- About EPiServer Full-Text Search Client
- About EPiServer Full-Text Search Service
- Adding search providers
- Configuring EPiServer Full-Text Search Client
- Configuring EPiServer Full-Text Search Service
- Installing and deploying Search Service
- Search integration
- Searching and filtering
- Searching for pages based on page type
- AspNet Identity OWIN authentication
- Authentication and authorization
- Configuring Active Directory membership provider
- Configuring Web Services authentication
- Federated security
- Forms authentication
- Managing cookies on the website
- Mixed mode OWIN authentication
- OWIN authentication
- Permissions to functions
- Protecting users from session hijacking
- Recommendations for ASP.NET security settings
- Securing edit and admin user interfaces
- Virtual roles
- User interface
- Context-sensitive components
- Creating a component
- Describing content in the UI
- Developing gadgets
- Extending edit view
- Extending the navigation
- Introduction to Dojo
- Message service pool
- Publish and subscribe messaging system
- Service locator
- Shell profile
- Store architecture
- Technical overview
- Using jQuery
- Command Pattern
- Object editing
- Virtual path providers
Configuring Live Monitor
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.
Template changes required for using Live Monitor
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:
- traceservice – address to the trace service.
- visitorservice –address to the visitor service.
- rememberlayout (false) – if the client should remember the previously expanded nodes and on which positions they were at.
- preloadDepth (3) – by default the client automatically loads nodes thee levels down, increasing this value can have a negative impact on the client performance. The rest of the nodes will be loaded on demand. Visitors that are on nodes that have not been loaded are not shown in the client.
- rootNodeId – page Id for the root node.
- isStatisticsControlsVisible – gauges visibility, default true.
- isVisitorListExpanded – is the visitor list expanded, default false.
- moveToHistoryAfter (2 min) – Number of minutes before the users are considered inactive, default is 2 min.
- removeFromHistoryAfter (5 min) – Number of minutes before users are removed from the history list, default is 5 minutes.
- pollTimeout (0ms) – If pollTimeout is set to a value greater than zero EPiTrace will poll for visitor information instead of using the Duplex binding.
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.
- EPiTrace.xap – Silverlight client application
- TrackerHandler.ashx – Handler registering page visits
- TraceService.svc & VisitorService.svc – Services providing the silverlight client application with visitor and page data.
- Default.aspx – sample web page for showing the EPiTrace client application in a browser.
Manual database setup
Run epitraceHits.sql in your EPiServer database. This will create the table epitraceHits and the stored procedures epitraceRegisterVisit and epitraceMaintenance.
Scheduled database job
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.
Interval based updates (load balanced environments)
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:
- usePolling - turns on the interval based updates
- pollingInterval - determines the number of seconds between client updates
Using Live Monitor on websites with multiple site bindings
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>
Using Live Monitor on websites through HTTPS scheme
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>
- Some machines may need registering a MIME type for extension .xap as application/x-silverlight-app.
IIS7, update web.config.
IIS5–IIS6: Go to IIS Manager > Server > Properties > Mime Types > New > Extension > .XAP MIME type: application/x-silverlight.
- To run Live Monitor the browser will need Silverlight 3 or higher to be installed to access the site, see Installing Microsoft Silverlight.