Use Azure Application Insights in Data API builder

Azure Application Insights is a service provided by Microsoft Azure that enables developers to monitor and gain insights into the performance and usage of their applications. The guide illustrates how to enable Application Insights for Data API builder (DAB). With Application Insights, you can track application availability, response times, performance metrics, user behavior, and other useful metrics.

Prerequisites

  • A running solution using Data API builder

Warning

Application Insights for Data API builder is not supported when hosting Data API builder in Azure App Service web apps.

Update configuration file

First, you should add an application-insights section to your existing configuration file. This section includes the credentials necessary to connect DAB to Application Insights.

  1. Locate and open the existing configuration file for your DAB solution.

  2. In the runtime section, of the configuration file, add a telemetry section with the following properties.

    Description
    enabled Enables or disables application insights
    connection-string Connection string for Application Insights instance
    {
      "runtime": {
        ...
        "telemetry": {
          "application-insights": {
            "enabled": true,
            "connection-string": "<app-insights-connection-string>"
          }
        },
        ...
      }
    }
    
  3. Save the configuration file and redeploy your solution.

Review metrics

When you enable Application Insights in your application, it starts sending data to the Application Insights service immediately.

  1. Navigate to the Application Insights resource in the Azure portal (https://portal.azure.com).

  2. Review the following types of data captured by Application Insights about your DAB solution.

    Description
    Request telemetry Information about each incoming request to DAB, such as the URL, response time, and status code
    Trace telemetry Logs generated by DAB
    Exception telemetry Information about any exceptions or errors that occur in DAB
    Performance counters Metrics related to the performance of DAB, such as CPU usage, memory usage, and network traffic

    Note

    The logs that are sent to Application Insights are same as the logs printed by Data API builder in the console.

  3. Navigate to the Logs section of the Application Insights page. Review the logs using this query.

    traces
    | order by timestamp
    
  4. Review the results of the query. The LogLevel is mapped to severity levels using this table.

    LogLevel Severity Level Severity Level Value
    Trace Verbose 0
    Debug Verbose 0
    Information Information 1
    Warning Warning 2
    Error Error 3
    Critical Critical 4

    Tip

    Set the current log level using the --LogLevel option for the DAB command-line interface (CLI). Otherwise, the host mode in the config file determines the minimum loglevel. If the host mode is set to Production, the minimum log level is Error. For the Development host mode, the minimum log level is Debug.

  5. Navigate to the Live Metrics page.

    Screenshot of the live metrics page for Data API builder data in Application Insights.

  6. Check the Application Requests using this query.

    requests
    | order by timestamp
    

    Screenshot of the results of a query for Data API builder application requests in Application Insights.

  7. Enumerate exceptions using the Application Exceptions page.

    exceptions
    | order by timestamp
    

    Screenshot of the results of a query for Data API builder exceptions in Application Insights.