As Microsoft says, “Monitoring is the act of collecting and analyzing data to determine the performance, health, and availability of your business application and the resources it depends on”.
An effective monitoring strategy will help you understand the detailed operation of the different components of your application and to increase your uptime by proactively notifying you of critical issues so that you can resolve them before they become problems.
Monitoring in Azure is primarily provided by Azure Monitor which provides common stores for storing monitoring data, multiple data sources for collecting data from the different tiers supporting your application and features for analyzing and responding to collected data.
As you can see in the image below, Azure monitor uses metrics and logs from applications, Operating Systems, Azure Resource, Azure Subscription, Azure Tenant and custom resource. These Metrics and log data can be looked at from different places all over Azure, like Application Insights, Metrics Explorer, Log Analytics etc.
Monitoring using Azure is difficult because the data is all over the place. There is no single point of management, and you will have to know exactly where to find metrics, dashboards, views, logs etc.
In Azure, you can use Metrics explorer to analyze collected metrics and plot them on a chart. This way you can track resource performance (such as a VM, website, or logic app) by pinning charts to an Azure dashboard.
When you need to be alarmed on deviations you must configure a static metric alert rule that sends a notification when the metric crosses a threshold.
You must manually route metrics to Log Analytics to analyze metric data together with log data and to store metric values for longer than 93 days.
You can also stream metrics to an Event Hub to route them to Azure Stream Analytics or to external systems.
Application data is collected by Application Insights and can be used to provide insights into a particular application or service such as Container Insights, VM Insights, or Resource Group Insights.
You can use the Log Analytics page in the Azure portal to write queries analyzing log data.
Log alert rules have to be configured manually, before sending a notification when the results of the query match a particular result.
Billing metrics are also collected in Azure, but since every service is charged in a different way it is hard to make sense of some of the data.
The billing metrics are exposed at service level.
About Logic Apps
Azure Logic Apps is a cloud service that helps you automate and orchestrate tasks, business processes, and workflows when you need to integrate apps, data, systems, and services across enterprises or organizations. Logic Apps simplifies how you design and build scalable solutions for app integration, data integration, system integration, enterprise application integration (EAI), and business-to-business (B2B) communication, whether in the cloud, on premises, or both.
For example, here are just a few workloads you can automate with logic apps:
- Process and route orders across on-premises systems and cloud services.
- Send email notifications with Office 365 when events happen in various systems, apps, and services.
- Move uploaded files from an SFTP or FTP server to Azure Storage.
- Monitor tweets for a specific subject, analyze the sentiment, and create alerts or tasks for items that need review.
Why Monitor Logic Apps?
As explained earlier in this article, Logic Apps automate and orchestrate tasks, business processes, and workflows. To achieve this, a lot of different components – building blocks – are needed; each with their own unique function and code. As these logic apps can get complex, monitoring them in their different stages can be challenging.
An error, which indicates something went wrong, is not enough to solve the problem. Knowing what went wrong – and where in the process – is key to solving the issue.
Why you should consider using AIMS to Monitor Logic Apps?
AIMS is built on the fundamental value proposition of automating monitoring and insight into increasingly complex enterprise IT systems with a focus on the applications or business processes supported. With Azure, the number of applications – or services – explodes taking the growth in complexity from linear to exponential.
Each of the services or applications requires monitoring of relevant performance metrics. Taking the number of services, systems or applications from tens to thousands with cloud means that you should expand the metrics you monitor by a similar factor – that is probably about 100-fold. That cannot be done by adding manual monitoring or human resources.
Monitoring of this complexity needs to be done by using machine learning and algorithms. AIMS’ monitoring for Azure fetches all relevant performance metric for each IaaS or PaaS in Azure. For each service we fetch all available metrics in real time and AIMS build normal behavior patterns for each metric. This normal behavior metric represents the cyclicality of your business by different time resolutions – minutes a day, hour per day or day per week. This means that AIMS builds a digital DNA of how your business lives – represented through these normal behavior patterns. (see image below for example)
Now, with this digital DNA that consist of thousands of normal behavior patterns AIMS will monitor in real time the current performance vs the patterns build while also dynamically updating the normal behavior patterns with the new performance data fetched. The effect is that all available metrics are monitoring in real time vs the normal behavior pattern.
Using these normal behavior patterns, AIMS identifies anomalies on each single metric vs normal behavior and correlates the anomalies across the rest of the metrics to create Anomaly Warnings.
Anomaly Warnings provide early notification of trouble with Azure Services or across cloud / hybrid environments.
You can also use the “Activity & changes” module in the Analytics tab to create reports & dashboards to identify new resources & applications in Azure, which allows early identification of new resources and applications in Azure to ease insight and transparency.
AIMS will do all this without you needing to manually intervene, and there are no static thresholds needed!
AIMS Logic Apps reports & dashboard
All the data collected by AIMS is available to users in the Analytics section that allows you to access default reports or to create custom reports and dashboards. When creating your first report, you will discover that the AIMS Analytics consists of a wide range of possibilities. You can create public or private reports, set a report as a dashboard and define which users will receive dashboard reports.
AIMS stores performance data, making it a valuable data source for later use – such as for root-cause analysis.
To create a report or dashboard focusing on key selected performance metrics for Logic Apps you could do as follows:
- For Logic Apps Workflow: set up a analytics chart combining workflow latency, workflow success runs and workflow failed runs.
- For Logic Apps actions: combine the action latency, action successful runs and action failed runs in a analytics chart.
- For Triggers: combine the trigger latency, trigger successful runs and trigger failed runs in a Analytics chart.
So, summing up: with AIMS you can automate monitoring of your Azure IaaS and PaaS through a easy configuration that can be done in minutes. This will allow you to free up valuable time spent monitoring using other tools or manual monitoring. The consequence is that you will have better monitoring and more time to deliver projects for your business.