Category / Section
How to configure Azure Application Insights in Bold BI
Published:
Integrating Azure Application Insights with Bold BI Enterprise Edition enables you to track and visualize your application’s performance, detect issues, and enhance your application’s overall reliability. This article will walk you through the process of configuring Azure Application Insights in Bold BI.
Prerequisite
- An active Azure subscription.
- An instance of Azure Application Insights created in your Azure account.
- A Bold BI account with administrative privileges.
Instructions for setting up Azure Application Insights in Bold BI
- Log in to the Azure portal.
- Click on
Create a resource
, search forApplication Insights
, and then clickCreate
.
- Fill in the necessary information and then click
Review + 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. - The deployment of Application Insights will begin, and you can track the progress of the deployment here.
- After successful deployment, navigate to the respective resource.
- Copy the connection string from the
Overview
section.
- Paste the copied connection string into
ApplicationInsightsConnectionString
located atSettings -> Configuration -> config.json
, and save the changes as shown in the screenshots below.
- Then, restart the Bold BI Enterprise application.
Now, Application Insights is integrated with the Bold BI On-Premises application. You can confirm this by viewing the Live metrics in Application Insights.
Application Insights integrates with Azure Log Analytics, allowing you to query and analyze log data for deeper insights.
Monitoring Logs in Application Insights
- After successful integration, go to the
Overview
page.
- Click
Search
and input the necessary log content to locate the logs you require.
Query Logs in Azure Application Insights
Navigate to the Logs
menu, then Run
the necessary query to retrieve the logs you need.
- To find the debug-info logs, you need to perform a query as traces and click
Run
.
- To find the error logs, you need to perform a query such as exceptions and click
Run
. Then you will receive the results as shown in the following screenshot.
- To find the debug-info logs for specific service, execute the query as follows:
- idp-web(idp.web)
traces
| where customDimensions["loggername"] == "idp.web"
- idp-api(idp.api)
traces
| where customDimensions["loggername"] == "idp.api"
- ums-web(ums.web)
traces
| where customDimensions["loggername"] == "ums.web"
- bi-web(bi.web)
traces
| where customDimensions["loggername"] == "bi.web"
- bi-api(bi.api)
traces
| where customDimensions["loggername"] == "bi.api"
- bi-jobs(bi.jobs)
traces
| where customDimensions["loggername"] == "bi.jobs"
4. To find the error logs for specific service, execute the query as follows:
- idp-web(idp.web)
exceptions
| where customDimensions["loggername"] == "idp.web"
- idp-api(idp.api)
exceptions
| where customDimensions["loggername"] == "idp.api"
- ums-web(ums.web)
exceptions
| where customDimensions["loggername"] == "ums.web"
- bi-web(bi.web)
exceptions
| where customDimensions["loggername"] == "bi.web"
- bi-api(bi.api)
exceptions
| where customDimensions["loggername"] == "bi.api"
- bi-jobs(bi.jobs)
exceptions
| where customDimensions["loggername"] == "bi.jobs"
- To filter logs by date and time, execute the following query:
traces
| where timestamp >= datetime(2024-03-21T00:00:00Z) and timestamp <= datetime(2024-03-21T23:59:59Z)
6. You can retrieve the logs by specifying the specific contents within the log.
traces
| search "keyword"
7. You can combine two queries as shown below to find the log. The provided query targets logs related to the bi.web service occurring after March 21, 2024. Specifically, it searches for log entries where the SystemSettings parameter is not null.
traces
| where customDimensions["loggername"] == "bi.web" and timestamp >= datetime(2024-03-21T00:00:00Z)
| search "SystemSettings is not null"
8. To retrieve all the request calls in the application, execute the below query:
requests
9. To retrieve frequent requests by URL count, use the following query:
requests
| summarize RequestCount = count() by url
| order by RequestCount desc
10. To count the number of requests made to a specific URL endpoint, use the following query:
requests
| where url == "http://localhost:63072/bi/site/site1/dashboards/4d7f86c0-881a-4c26-be99-5599d8e686ad/Human Resources/new?showmydashboards=1"
| summarize count() by url
11. To retrieve requests based on the name of a dashboard, use the following query:
requests
| where url contains "Invoice"
| summarize count() by url
Export logs
You have the option to export logs from Application Insights.
- Navigate to Application Insights, then select the
Logs
menu. Run the necessary query to generate the required logs.
- Then, select the Export option for the generated logs and choose CSV.
- Once downloaded, you can view the logs locally by opening the CSV file.
Live metrics
- Navigate to Application Insights, then click on the
Live metrics
menu.
- On the
Live metrics
page, you can see all the live request traces under theSample telemetry tab
.
Events
- Navigate to the
Events
menu in Application Insights.
- Then click
View More Insights
, and it will load all the event statistics.
- Click on the request for which you want to see the full details of the event.
Successful Requests
- Navigate to the
Performance
menu in Application Insights.
- Successful requests are available on the
Performance
page. From there, you can click on the desired request to view its detailed traces.
Failed Requests
- Navigate to the
Failures
request menu page in Application Insights, where failed requests are available. From there, you can click on the desired request to view its detailed traces.