Azure Service Bus monitoring and management using Serverless360

|  Posted: May 6, 2019  |  Categories: Azure

This is a compilation of Customer use cases of Serverless360 in managing and monitoring Azure Service Bus Queues and Topics. This article is for DevOps Engineers, Support Engineers, Azure Developers, and Architects. All key capabilities of Serverless360 in managing and monitoring Azure Service Bus Queues and Topics are listed below with reference to the documentation on those features.

Manage and Monitor them as an Application

Associate the Service Bus Entities to a Composite Application that represents the business solution they participate. Understand better the role of your Service Bus entity in your business application from the Topology Diagram. Get the instant feedback on the entity status too. Infer how the status of one entity impacts the status of other entities in the application. Read more on this feature here.

View_as_Application

Edit Property of a Service Bus Entity

You observe the messages in a Service Bus Queue/ Topic moves into Dead Letter Queue with dead letter reason being time to live expired. To meet the business demands redefinition of Time to Live property of the Queue/ Topic can be modified using Serverless360. Read more on this here.

Edit Property of a Service Bus Entity

Save properties of Service Bus Entities as Templates

Implementing a business solution and managing the environments like Development, Staging, and Production will involve creating multiple Service Bus Queues/ Topics with the same set of properties. Here is a solution from Serverless360 to save properties of Service Bus Queue/ Topic into a template. This template can be used to quickly create the Service entity. Read more on this here.

modify_state

Quick create Service Bus Entities using Templates

In a typical business solution, there will be a necessity to create multiple entities of the same type and the same set of properties. With Serverless360 templates, save properties of Service Bus Queues/ Topics as templates. These templates can be used to create Service Bus entities from Serverless360. Define organization standards in templates to be used while creating Service Bus entities. Read more on this here.

Edit_Properties

Modify State of Service Bus Entities

Disable a Queue/ Topic/ Topic Subscription. Modify states to ‘Send Disabled’ or ‘Receive disabled’ to meet business needs. Get these user actions tracked in the Governance & Audit section of Serverless360. Read more on this here.

Manage_SAP

Manage Shared Access Policies

Provide necessary permission to the interacting applications with generated Shared Access keys. Regenerate the primary or secondary key if needed. Read more on this here.

templates

Define Topic Subscription Rules to meet the business requirement

If the business need is to auto-filter into the topic subscriptions based to the server the targeted subscribers, there is no tooling support in Azure portal to define Topic Subscription Rules. With Serverless360 define Correlation, Boolean or SQL filters in Topic Subscriptions to meet business needs. Read more on this here.

Topic_subscription_rule

Import Service Bus Entities from one namespace to another

Consider a business application with Service Bus Queues and Topics. The Service Bus entities are defined with appropriate properties and Topic subscriptions are defined with filters to meet the business need. The staging environment is tested and its time to move to production. With Serverless360 import the entities from Staging to Production namespace at ease hence saving considerable development and testing effort. Read more on this here.

Import Service Bus

Process Active Messages

The main challenge in working with Service Bus Queues/ Topics in the Azure portal is the lack of visibility on the messages that flow into the Service Bus Queue or Topic. Serverless360 enables retrieving active messages in Peek- Lock or Defer mode to perform operations view message content, resubmit messages, repair and resubmit a message, purge messages and download messages in a compressed file format. Read more on this here.

Process_Active_Messages

Process Dead Letter Messages

Dead letter messages in the Queue/ Topic Subscription can also be retrieved in peek- lock or defer mode for further processing. Messages can be filtered by their dead letter reason to take necessary action based on reason. Read more on this here

Process_DLQ_Messages

Prevent Message Loss

When a message is submitted to a Service Bus Queue or Topic with the property ‘Requires Duplicate Detection’ Auto-generate message Ids on intelligent notification from Serverless360 while resubmitting to Duplicate Detection enabled Service bus entity. Read more on this here

Prevent_Message_Loss

Clean Queue or Topic Subscription

Unwanted messages accumulated in your Service Bus Queue or Topic subscription need to remove, Clear Active or Dead letter Messages from the Queue or Topic Subscription using inline Purge Messages activity. Read more on this here.

clean_messages

Auto resubmit expired Dead Lettered Messages

Manage dead- lettered messages using scheduled Dead- letter Processing activities. Define activities to perform resubmission on messages those have been dead lettered due to a specified dead- letter reason. Read more on this here.

Process_TTLExpired

Auto-process left behind Active Messages

Say the downstream application misses out processing a few of the incoming messages to the Queue or Topic Subscription. The need here is to resubmit the left behind messages to another Queue for the recovery application to pick it up and process. This can be achieved using the scheduled Active Message Processing activity defined to resubmit active messages to another target. This activity can be scheduled to run on a specified date and time without any manual intervention. Read more on this here.

Process_left_behind

Auto purge invalid Dead Lettered Messages

Consider a scenario where the client application dead- letters a message with custom error reason, “Rejected Order’. These dead– lettered messages in Service Bus Queues or Topic Subscriptions can be set to be auto cleaned up using Purge activities in Serverless360. Read more on this here.

Purge_Invalid

Back up Messages to Storage Blob

Service Bus messages will contain business-critical information. Hence it is important to back up these messages before performing actions like resubmission, repair and resubmission and purge. Serverless360 facilitate backing up these messages when they are processed to a Storage account blob. Read more on this here.

Backup_to_blob

Test orchestration using Send Messages activity

Simulate test environment using Send Messages activity for Service Bus Queue or Topic. Read more on this here.

Send_Messages

Health Monitor Service Bus Queue and Topic on its status and properties

Have an eye on the status of the Service Bus Queue and Topic against expected status. Also monitor them on useful properties like dead- letter message count, active message count, size and so on using a Status monitor. Read more on this here.

Health_Status_Report

Autocorrect Status of Service Bus Queue and Topic

Threshold monitor on the status of Service Bus Queue or Topic with auto correct on will ensure the status of the Service Bus entities will always be as expected. Read more on this here.

AutoCorrect

Monitor Topic subscriptions on status and properties

Unlike other monitoring tools available in the market, Serverless360 offers to monitor on status and properties of Topic subscriptions too. Set up Status or Threshold monitor on Topics subscription properties like status, size, dead- letter message count and ensure all the subscribers are served right. Read more on this here.

Monitor_Topic_Subscriptions

Detect violation against expected property value in Service Bus Queue/ Topic

Threshold monitor configured on properties of Queue, Topic and Topic subscriptions can detect violations in the property values. If the violation is found to persist even beyond the specified time limit, an alert will be triggered on the configured notification channels. Read more on this here.

Threshold_Monitor

Data Monitor Service Bus Queue to monitor in various perspectives

Monitor Service Bus Queues and Topics for their availability, efficiency, silence and in various perspectives using Data Monitor. Read more on this here.

Data_Monitor

Keep the stakeholders informed on the Service Bus entities status

Serverless360 supports 6 different notification channels through which the stakeholders of the Service Bus entities being monitored can be kept informed of the status of the entities. Webhook notification channel can be used to integrate a custom cloud application which can create a ticket in the incident management system when an alert is triggered by Serverless360 monitor. Read more on this here.

Notification_channels

Define Granular user access policy

Define a granular user access policy for a custom role with necessary permissions to work on the Service Bus Queue to the extent like user can be restricted to resubmit messages only to the original queue. You require to manage permission on Service Bus for the user to perform operations like create, edit properties, delete, modify state, create topic subscriptions, define rules, etc. You require Message processing permission with appropriate choice to process messages. Stop sharing Service Bus namespace connection string, provide access to users with need only permission on the Service Bus entities.  Read more on this here.

User_Access_Policy

Track user activity on the Service Bus Entities using Governance & Audit

Overcome the key challenge of untracked changes in your Service Bus namespace. Stop sharing Service Bus namespace connection string, provide access to users with necessary permissions on the Service Bus entities. Track every action of the user on the Service Bus entities in the Governance and Audit. Details captured will include who? did what? When? Read more on this here.

Governance_&_Audit

Analytics on Service Bus namespace

Observe trends in the metrics of Service Bus namespace using namespace analytics offered by Serverless360.

Namespace_analytics

Author: Ezhilarasi Chezhiyan

Ezhilarasi Chezhiyan, Technical Lead for the product, Serverless360, at Kovai Systems India Pvt Ltd. She has over 8 years of experience in Software development with knowledge spectrum spread across various domains. Problem-solving is her passion and she believes in the quote by Albert Einstein- "Intellectual growth should commence at birth and cease only at death"