Troubleshooting

Overview

Sitefinity Cloud provides easy access to the tools and resources needed to troubleshoot problems with your project. The key components that are available to allow efficient troubleshooting process are the logs, database backup, and code files. 

The code of your Sitefinity Web Application is stored in a code repository in the Management Portal of Sitefinity Cloud. This provides an interface for  developers to see what code is currently deployed and download it locally to troubleshoot any issues or implement new functionality. For more information see Setup the project for development.

Your project database is backed up on regular intervals, and you can also create on-demand backups. You can use these backups to restore a local copy of the project database. For more information see Backup and restore the project database.

Logs

Sitefinity Cloud provides comprehensive logging to assist website administrators and developers in  troubleshoot any issues as well as observing the health of the application. By default, Sitefinity Cloud exposes the following logs: 

  • Build Logs – indicating the state of the application when going through a build process. These logs are available for review by clicking on any build in your Sitefinity Cloud project Pipelines » Builds section. 
  • Deployment Logs – providing detailed information about the deployment process. These logs are available for review by clicking on any release in your Sitefinity Cloud project Pipelines » Releases section. Once you've clicked on a release, hover over the environment you're interested in, and select the Logs option to view the logs.
  • Sitefinity Logs – all Sitefinity logs, such as Error log, Trace log, etc. can be accessed and downloaded from the Management Portal of your Sitefinity Cloud project. 

Access your Sitefinity CMS logs

You can access your Sitefinity website logs from the Management Portal Dashboard. Both Production and Staging environments logs are available:

Dashboard_logs

When you click on either of the environments's Logs link, you are redirected to the Azure Portal App Insights section. By integrating with App Insights Sitefinity Cloud provides powerful mechanism to help developers and website administrators diagnose issues and  understand website usage patterns.This way you continuously improve your project performance and usability.

By default, when the App Insights section for your website opens, you are presented with a summary of predefined metrics, such as availability of the website, server response time, failed requests, and so on. You can customize the period for which data is presented or drill down in it further.

Procedure

To open your Sitefinity Cloud project logs and drill down in the application health data in the following way:

  1. In the Sitefinity Cloud Management Portal Dashboard, click the Logs link of the desired environment.
  2. When the App Insights page for your project opens, in the top navigation, click Logs (Analytics):Cloud11
    The Logs (Analytics) page opens. This page displays a collection of predefined logs for your application such as:
    • traces
      This log aggregates the information from all system logs, except for the IIS Event Log and all Sitefinity CMS traces. In this log you can find tracing information about the application performance and any handled exceptions.
    • exceptions
      This log aggregates the IIS Event Log and Sitefinity CMS logs. In this log you can find IIS error, warning, and information events data, as well as any unhandled exceptions, usually logged in the on-premise versions of Sitefinity CMS log files.
  3. To view the entries inside any log, hover over the desired log and, in the table icon ViewLogIcon,  Show sample records.
  4. In the Query explorer, you can see different log entries by clicking a query entry and running it.
    There are predefined query sets - Sitefinity logs filtered by log type. Using these queries, you can access Sitefinity CMS logs by log type - ErrorLog, Trace, Authentication, etc.Cloud12

This extensibility is achieved by using the Progress.Sitefinity.AppInsights NuGet package. It provides integration for storing Sitefinity CMS logs in Application Insights. The integration extends the Application Insights telemetry by SitefinityLogType field, where the Sitefinity CMS ConfigurationPolicy values are stored - ErrorLog, Trace, Authentication, etc. This way, the user can filter the logs by the known types, which are used for the log files when on-premis Sitefinity CMS is used.

Query the logs information

By default, when you view a log you are presented with the latest 50 entries in it. Since the Sitefinity Cloud logs are based on Azure Monitor Log Analytics, you can build complex queries with the information contained in each log. This way developers and website administrators can easily find the information relevant to them as well as implement custom logic for observing the entries they are interested in. For more information on the query syntax and advanced capabilities, see Get started with Azure Monitor Log Analytics.

Diagnose performance

By default, your Sitefinity Cloud project has a performance profiler enabled in auto mode. This means that the profiler automatically collects data in the background on certain intervals without imposing an extra overhead on your application performance. 

You can view, drill down, and analyze the collected profiler data by going to the Performance tab of your Sitefinity Cloud project Application Insights in the Microsoft Azure portal:

Performance

The profiler is based on the Microsoft Azure App Insights profiler, and automatically collects data about your application components such as server-side operations, client-side operations, page views, and so on.

Profile performance on demand

By default the performance profiler collects data on certain intervals as determined by the Azure default logic. If you wan to profile your application on-demand, you can manually enable the performance profiler and monitor the results while browsing the parts of your application, whose performance you want to measure. To enable the performance profiler follow these steps:

  1. From your Sitefinity Cloud Management Portal Dashboard, click the Logs link for the desired environment
  2. Once the App Insights page for your project opens, click on Performance in the left-hand navigation
  3. From the top navigation click on Configure profiler
    EnableProfiler
  4. On the next screen click on the Profile now button

As a result the profiler is enabled an you can monitor the ongoing sessions as you browse your Sitefinity Cloud project. The profiler will run for a few minutes until it collects sufficient data.

Deployment package

Sitefinity Cloud is configured in continuous delivery and integration setup, in accordance to Sitefinity website development best practices and the Microsoft Azure services that are being used. 

On each commit in the master branch, the Continuous integration (CI) pipeline produces a deployment that is automatically deployed by the Continuous delivery (CD) release pipeline on the Staging environment.

Often the users do not include all the needed files in their VS project and the build process do not copy these files in the deployment package. You can verify whether the required files are included in the deployment package by performing the following:

  1. In to your Sitefinity Cloud project Management Portal navigate to Pipelines » Releases.
  2. Ensure your CD pipeline is selected.
  3. Click the desired release that is deployed to Staging.
    This is the currently deployed package. When you click it, you are CI pipeline. 
  4. Click the published artifacts.
    The Artifacts page opens.
  5. Download the SitefinityWebApp.zip package.
    This is the package that will be deployed on all the environments by the deployment process. The only difference will be the different configurations, which will be transformed during deployment.
    For more information, see Use different website configurations for different environments.
  6. Ensure that all required files are included in the deployment package.

NOTE: Besides checking the files in the package, sometimes it very useful to set up this deployment package locally and troubleshoot any functionality, which is not working after deployment.
For more information, see Setting up the project code locally.


Additional Troubleshooting resources

Sitefinity Cloud is integrated with Azure App Insights, thus delivering all available troubleshooting tools and mechanisms. For more information see What is Application Insights.

For example, you can use the Live Metrics Stream to monitor real-time data about your website incoming and outgoing requests,  as well as CPU utilization, memory consumption and exception rate. For more information about using Live Metrics Stream see Live Metrics Stream: Monitor & Diagnose with 1-second latency.

Was this article helpful?

Next article

Monitoring