How to monitor Service Bus in Azure

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 increase your up time by proactively notifying you of critical issues so that you can resolve them before they become problems. Also, an effective strategy requires that the set-up and maintenance of the monitoring is automated, lightweight and does not require significant manual resources.
About Azure Service Bus
Microsoft Azure Service Bus is a fully managed enterprise integration message broker. Service Bus can decouple applications and services. Service Bus offers a reliable and secure platform for asynchronous transfer of data and state.
Data is transferred between different applications and services using messages. A message is in binary format and can contain JSON, XML, or just text. For more information, see Integration Services.
Some common messaging scenarios are:
- Messaging. Transfer business data, such as sales or purchase orders, journals, or inventory movements.
- Decouple applications. Improve reliability and scalability of applications and services. Client and service don't have to be online at the same time.
- Topics and subscriptions. Enable 1:n relationships between publishers and subscribers.
- Message sessions. Implement workflows that require message ordering or message deferral.
Source: Microsoft
Why Monitor Azure Service Bus?
As explained above, Service Bus automate messaging between systems to support business processes, and workflows. As Service Bus is used in business processes to support productivity and revenues for organizations it is important to monitor performance and availability. Service bus is a micro service and often used in conjunction with several other micro services - which could include multiple other Service Bus or other micro service resource types. The monitoring challenge becomes important due to the elasticity, dynamic nature and the number of resources deployed which makes traditional manual / static monitoring impractical if not impossible.
Monitoring Azure with Azure's tooling is difficult
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.
Monitoring Azure with Microsoft's built in tooling is difficult because:
1. The data is all over the place
2. Setting up monitoring and alerting is a manual job
3. Maintenance is time consuming
4. Relies mostly on traditional reactive monitoring
5. Does not efficiently solve silo challenges across cloud and on premise systems
As a consequence monitoring with the built in Microsoft tools tends to fall into the same traps as other antiquated tools that sets your organization up for failure.
You can read more about monitoring of Azure with Microsoft's tools here.
Why you should consider using AIMS to Monitor Service Bus?
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.
Normal behavior
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)
Metrics
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.
For Service Bus AIMS fetch and build normal behavior patterns for the following metrics:
- Server Errors
- User Errors
- Incoming Requests
- Throttled Requests
- Successful Requests
- Outgoing Messages
- Count of active messages in a Queue/ Topic
- Incoming Message
- Size
- Active Connections
Anomalies
Using 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.
Auto-detection
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 Service Bus 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. More about reports, dashboards and analytics.
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.
Learn more about how to use AIMS to monitor Service Bus or sign up for the free Community Edition and test it out for yourself.