With the need to support enterprise applications at a large scale, it becomes necessary to implement instrumentations in the application. One of the hot topics of interest today for a tech leadership in an organization is to implement custom “Events & Instrumentations” to support large scale Adobe Experience Manager (AEM) applications easily.
There are sound benefits in integrating AEM with Azure AppInsights as it enables “Smart Detect” for anomalies in the AEM applications. In this article, we will discuss how Azure AppInsights can be integrated with AEM to instrument both client side and server side in one place.
Need to Integrate AppInsights with AEM
Azure AppInsights supporting Dashboards are developer-friendly. It allows them to monitor both at Infrastructure (Server, DB, OS, JVM, etc.) and Application (Server-Side Requests, Dependency calls, Exceptions, Traces, Logs, Page Views, Page Loading time, etc.) level at one place. Additionally, the Smart Detect feature of AppInsights will automatically detect anomalies. Azure AppInsight tool is designed to help in Instrumentations and custom events logging for Applications. For failures/anomalies, AppInsights tool has the capability to send alerts to AEM support teams as well.
Problems with not having AppInsights Integration with AEM
- There won’t be a single consolidated dashboard to verify both Infrastructure and Custom Application insights.
- Lack of a consolidated view on dependency calls, response times & failure rates to external services.
- Lack of “Smart Detect” feature to detect anomalies automatically.
- No flexibility to write Custom Events for Instrumentation purposes.
- Lack of an alerts mechanism for automatic anomalies detection on Custom application code.
- Relying solely on AEM Sysadmin console to monitor application logs.
In a nutshell, without Applications Instrumentations in place, it gets difficult for support teams to manage and support critical AEM applications for large scale businesses.
How AppInsights integration with AEM can solve these problems
To set up AppInsights Integration, one needs to install a small instrumentation package in an AEM instance and configure an AppInsights resource in the Azure Portal. The instrumentation will monitor the application and send telemetry data to Azure AppInsights monitor. One can then go to Azure AppInsights portal and view client-side & server-side instrumentation data from AppInsights dashboard.
Fig 1. Azure AppInsights Integration Approach
- Azure AppInsights integration combines Infrastructure insights and custom AEM Application insights into one dashboard. Several slice and dice views are available.
- Helps to omit the need of “AEM Sysadmin” console to monitor application logs.
- Leads to effective monitoring of request rates, response times, and failure rates and makes the failure detection easy for the developer.
- It monitors Dependency rates, response times, and failure rates and helps to find out whether external services are causing any slowness in the application.
- It helps to track both server-side and client-side exceptions and drills into the stack trace.
- It monitors page views and load performance reported by users' browsers.
- AJAX calls from web pages – it monitors rates, response times, and failure rates.
- Azure AppInsights monitors performance counters from Windows or Linux server machines, such as CPU, memory, and network usage.
- Smart Detects will automatically detect anomalies and alerts developers/Support teams for high failure rates or any anomalies detected.
What does this mean for businesses?
- Faster errors/exceptions detection as developers can leverage the AppInsights Dashboard to monitor the failures. Fewer anomalies in the application will ensure better stability for the applications.
- Ensures distinct pricing advantage, approx. to 25 % by using Azure AppInsights.
What does this mean for IT?
- Application instrumentations (both client side and server side) will be much easier to implement using AEM – Azure AppInsights integration, and will thus lead to spending less effort on application support.
- Ensures easy support of critical applications by monitoring live web applications using AppInsights Dashboard.
- Automatic detection of anomalies as well as alerts production.
Mindtree’s work with clients in this space
Mindtree has helped one of the largest US-based real estate companies in architecting and implementing the solution to integrate AEM with Azure AppInsights for instrumentation purposes.
Summary and Conclusion
With the AEM & Azure AppInsights integration offering, the ease of managing critical AEM applications is given back to those who really need it: AEM Support teams. By enabling monitoring both at infrastructure and application level at one place, it is easier to support critical AEM applications and provide stability to the applications and minimize any application downtime, thus keeping the business and end users happy!
Connect with the author Abhay Kumar Mishra ([email protected]) or go-to market leader Harshal Gaikwad ([email protected]) to know more about the advantages your business can get with AppInsights integration.