Azure Application Insights Integration in Bold Reports®

To integrate Azure Application Insights with Bold Reports®, create an Application Insights resource and paste its connection string into the reporting configuration.

The integration gives you insights into your report’s performance, usage, and other metrics. It helps you optimize your reporting processes and make more informed decisions.

What do I need before I integrate Application Insights?

To integrate Azure Application Insights with Bold Reports®, you need the following:

  • An Azure account.

  • Install Bold Reports® On-Premises Edition and log in with an administrator account.

How do I set up Azure Application Insights in Bold Reports®?

You set up Azure Application Insights for Bold Reports® by creating the resource in Azure and adding its connection string to reporting/config.json. Follow these steps:

  1. Log in to the Azure portal.

  2. Click Create a resource, search for Application Insights, and then click Create, as shown in the following images.

    Click Resource Group Search Application Insights Application Insights

  3. Fill in the necessary information and then click Review + create. Application Insights Click Create

    Subscription: This should be associated with the Azure subscription.

    Resource group: Choose Create new and enter the name of the new resource group, or select an existing resource group.

    Name: Enter a name for the resource.

    Region: Select your preferred region.

  4. The Application Insights deployment begins. Track the progress of the deployment, as shown in the following image. Insights Inprogress

  5. After successful deployment, go to the respective resource. Go To Resource Group

  6. Copy the Connection String in the Overview section. Copy Connection String

  7. Paste the copied connection string into ApplicationInsightsConnectionString located at Settings -> Configuration -> reporting/config.json, and save the changes, as shown in the following screenshots. Select Config Json Paste Connection String

  8. Restart the Bold Reports® Enterprise application.

Application Insights is now integrated with the Bold Reports® On-Premises Edition application. To confirm the integration, view the Live metrics in Application Insights. Live Metrics

Application Insights integrates with Azure Log Analytics, so you can query and analyze Bold Reports® log data for deeper insights.

How do I monitor logs in Application Insights?

You monitor Bold Reports® logs from the Application Insights Search option. Follow these steps:

  1. After successful integration, go to the Overview page. Overview Page

  2. Click Search and enter the log content to locate the logs you need. Click Search Search Log Searced Log

How do I query Bold Reports® logs in Application Insights?

You query Bold Reports® logs from the Application Insights Logs menu. Go to the Logs menu, then Run the query that retrieves the logs you need. Click Logs

  1. To find the debug-info logs, run the query traces and click Run.

    traces

    Click Run Debug Info Logs

  2. To find the error logs, run a query such as exceptions and click Run. The results appear as shown in the following screenshot.

    exceptions

    Debug Info Logs

  3. To find the debug-info logs for a specific service, run the following query:

    • web(reporting.web)

      traces
      | where customDimensions["loggername"] == "reporting.web"

      Reporting Web

    • jobs(reporting.jobs)

      traces
      | where customDimensions["loggername"] == "reporting.jobs"

      Reporting Jobs

    • api(reporting.api)

      traces
      | where customDimensions["loggername"] == "reporting.api"

      Reporting API

    • viewer(reporting.viewer)

      traces
      | where customDimensions["loggername"] == "reporting.viewer"

      Reporting Viewer

  4. To find the error logs for a specific service, run the following query:

    • web(reporting.web)

      exceptions
      | where customDimensions["loggername"] == "reporting.web"
    • jobs(reporting.jobs)

      exceptions
      | where customDimensions["loggername"] == "reporting.jobs"
    • api(reporting.api)

      exceptions
      | where customDimensions["loggername"] == "reporting.api"
    • viewer(reporting.viewer)

      exceptions
      | where customDimensions["loggername"] == "reporting.viewer"
  5. To filter logs by date and time, run the following query:

    traces
    | where timestamp >= datetime(2024-03-21T00:00:00Z) and timestamp <= datetime(2024-03-21T23:59:59Z)

    Replace with your specific date and time as needed.

    Filter By Date

  6. To retrieve logs by specific contents within the log, run the following query:

    traces
    | search "keyword"

    Replace keyword with the search content.

    Specific Content Logs

  7. To find a log with two combined queries, use the following example. It targets logs related to the reporting.web service after March 21, 2024. It searches for log entries where the SystemSettings parameter is not null.

    traces
    | where customDimensions["loggername"] == "reporting.web" and timestamp >= datetime(2024-03-21T00:00:00Z)
    | search "SystemSettings is not null"

    Join Query

  8. To retrieve all the request calls in the application, run the following query:

    requests

    Get All Requests

  9. To retrieve frequent requests by URL count, use the following query:

    requests
    | summarize RequestCount = count() by url
    | order by RequestCount desc

    URL Count

  10. To count the number of requests made to a specific URL endpoint, use the following query:

    requests
    | where url == " http://localhost:51778/reporting/site/insights1/reports/d9116932-b3bb-4a8a-92b2-1c7ea7bd7193/Tutorial Sample/Table?showmyreports=1"
    | summarize count() by url

    Request Count

  11. To retrieve requests based on the name of a report, use the following query:

    requests
    | where url contains "Invoice"
    | summarize count() by url

    Replace the name Invoice with the report name based on the search.

Request Based on Report

How do I export logs?

You can export Bold Reports® logs from Application Insights as a CSV file. Follow these steps:

  1. Go to Application Insights, then select the Logs menu. Run the necessary query to generate the required logs. Join Query

  2. Select the Export option for the generated logs and choose CSV. Export Option

  3. After the download, open the CSV file to view the logs locally.

How do I view live metrics?

You view live Bold Reports® request traces on the Application Insights Live metrics page.

  1. Go to Application Insights, then click the Live metrics menu. Export Option

  2. On the Live metrics page, see all the live request traces under the Sample telemetry tab. Sample Telemetry

How do I view events?

You view Bold Reports® event statistics from the Application Insights Events menu.

  1. Go to the Events menu in Application Insights. Export Option

  2. Click View More Insights to load all the event statistics. View More Insights Overall Events

  3. Click the request to see the full details of the event. Click Event Request Events Details

How do I view successful requests?

You view successful Bold Reports® requests on the Application Insights Performance page.

  1. Go to the Performance menu in Application Insights. Search Performance

  2. Successful requests are available on the Performance page. Click the request to view its detailed traces. Click Performance

How do I view failed requests?

You view failed Bold Reports® requests on the Application Insights Failures page.

  • Go to the Failures request menu page in Application Insights, where failed requests are available. Click the request to view its detailed traces.

    Click Failure

Frequently asked questions

Where do I paste the Application Insights connection string?

Paste it into ApplicationInsightsConnectionString at Settings -> Configuration -> reporting/config.json, then restart the Bold Reports® Enterprise application.

How do I confirm that Application Insights is integrated with Bold Reports®?

View the Live metrics in Application Insights to confirm the integration.

See also