Configuring Application Insights for D365FnO

 


Introduction

Azure Application Insights is a service that is hosted in Azure, and that gathers telemetry data for analysis and presentation.

By enabling Application Insights, developers and support teams get real-time visibility into what’s happening inside the system, making troubleshooting and performance monitoring much easier.

Key Advantages

Deep System Insights – Collects telemetry on performance, usage, and errors.
Proactive Monitoring – Detect issues before they impact users (e.g., SQL deadlocks, long queries, failed integrations).
Custom Telemetry – Developers can add their own telemetry (via X++ or .NET) for business processes.
Error Tracking – Automatically logs exceptions and failures, making root-cause analysis faster.
Performance Monitoring – Helps identify slow queries, long-running batch jobs, and service bottlenecks.
Scalability – Works across production, sandbox, and development environments.
Integration with Azure Monitor – Allows building dashboards, alerts, and reports for both standard and custom telemetry.

 

Configuration Steps

Step 1 – Create Application Insights in Azure

·       Log in to Azure Portal → Create Resource → Application Insights.

·       Select: Subscription, Resource Group, Region.




·       Copy the Instrumentation Key / Connection String.


 

 

 

Configuring Environments and Connecting to Application Insights

Environments in Finance and Supply Chain Management can be classified as Development, Test, or Production. To make sure telemetry data from each environment is correctly tracked, you need to link them to Application Insights.

Follow these steps:

·       In D365FO, navigate to:
System administration > Monitoring > Telemetry parameters.

 

·       On the Monitoring settings page, open the Environments tab.

Here you can add a record for each environment you want to send telemetry from.



·       Map environment modes to a target Application Insights instrumentation key.



In Azure Application Insights, you can run both predefined and custom queries. It also provides visual insights such as user flows, showing how users navigate through the system, as well as details about user sign-ins and activity patterns.

  • Kusto Query Language (KQL) is used in Application Insights / Azure Monitor to query and analyze telemetry data collected from Dynamics 365 Finance & Operations.
  • It’s optimized for log and telemetry analysis (not for transactional queries like SQL).

Why Use KQL with D365FO?

Filter and Search – Quickly find traces, events, and exceptions.
Identify Issues – Spot recurring errors, failed operations, or integration failures.
Performance Insights – Detect long-running queries, batch jobs, or bottlenecks.
Usage Analysis – Track user activity, feature usage, or business process execution.
Build Dashboards – Use queries to power visual dashboards in Azure or Power BI.

Common Telemetry Tables in Application Insights

·       traces → Detailed logs (trace messages) emitted through application code or logging frameworks, typically recorded via TrackTrace().

·       customEvents → Custom events created by your application (e.g., PO Creation, Invoice Posted).

·       exceptions → Exceptions thrown by the application runtime, including both server-side errors and client-side (browser) exceptions.

·       requests → Records of incoming requests handled by your application. For example, each HTTP request to the D365FO service or API is logged here.

·       dependencies → Outbound calls from the application to other components, recorded via TrackDependency(). Examples: calls to REST APIs, databases, or file systems. Also includes summary data from availability tests.

·       browserTimings → Data collected for each webpage view, including client browser performance details (e.g., load time).

·       performanceCounters → System performance metrics from compute resources, such as Windows performance counters (CPU, memory, etc.).

User flows

Ex: I have created a PO and invoiced in D365.




Create Graph

















Post a Comment

0 Comments