eG Monitoring
 

Measures reported by AzrSrvcBusTest

Azure Service Bus is a fully managed enterprise message broker with message queues and publish-subscribe topics (in a namespace).

Data is transferred between different applications and services using messages. Messages are sent to and received from queues. Queues store messages until the receiving application is available to receive and process them. You can also use topics to send and receive messages. While a queue is often used for point- to- point communication, topics are useful in publish/subscribe scenarios.

Typically, the Azure Service Bus is used to traffic critical business data such as sales or purchase orders. This means that if a service bus experiences errors/failures, the smooth transaction of business will be disrupted. To avoid this, it is essential to track the status and health of each service bus, capture abnormalities rapidly, and eliminate them before the business is adversely impacted.

Besides errors/failures, improperly set limits/quotas for a service bus can also hinder the flow of messages between applications/services. To avoid this, one needs to periodically check if the actual usage of a service bus aligns with the limits set, and if not, make changes to the service bus capacity accordingly.

The AzrSrvcBusTest helps with all of the above. This test auto-discovers the service buses that have been configured for the target subscription. For each service bus, the test then tracks the operational and provisioning status of that bus, and alerts administrators if either status is abnormal. Likewise, the test keeps an eye out for service bus errors and instantly captures and reports such errors, so that administrators can immediately initate corrective action. Additionally, the test also notifies administrators if requests to any service bus are throttled due to lack of sufficient processing capacity. This enables administrators to quickly identify service buses that require a capacity-reset.

Outputs of the test :One set of results for each Servie Bus configured for every resource group in the target Azure Subscription

The measures made by this test are as follows:

Measurement Description Measurement Unit Interpretation
Status Indicates the current status of this service bus.   The values reported by this measure and its numeric equivalents are mentioned in the table below:

Measure Value Numeric Value
Creating 1
Created 2
Activating 3
Enabling 4
Active 5
Disabling 6
Disabled 7
Soft Deleting 8
Soft Deleted 9
Removing 10
Removed 11
Failed 12
Failed 0


Note:

By default, this measure reports the Measure Values listed in the table above to indicate the current status of the the service bus. In the graph of this measure however, the same is represented using the numeric equivalents only.

Use the detailed diagnosis of this measure to know the location of the service us, when it was created, when it was last modified, the pricing tier, and throughput units assigned to the bus.
Prvsng_status Indicates the current provisioning status ofthis service bus.   The values reported by this measure and its numeric equivalents are mentioned in the table below:

Measure Value Numeric Value
Succeeded 1
Updating 2
Error 3
Unknown 0


Note:

By default, this measure reports the Measure Values listed in the table above to indicate the current provisioning status of the service bus. In the graph of this measure however, the same is represented using the numeric equivalents only.
Name_space_typ Indicates the type of entities that the namespace of this service bus contains.   A namespace is a container for all messaging components (queues and topics). Multiple queues and topics can be in a single namespace, and namespaces often serve as application containers.

A Service Bus namespace is your own capacity slice of a large cluster made up of dozens of all- active virtual machines.

The values reported by this measure and its numeric equivalents are mentioned in the table below:

Measure Value Numeric Value Description
Messaging 1 Indicates that the namespace contains messaging entities (queues, topics, or subscriptions)
Notification hub 2 Indicates that the namespace contains notification hubs
Mixed 3 Indicates that the namespace contains a mixture of messaging entities and notification hubs
Event hub 4 Indicates that the namespace contains event hubs
Relay 5 Indicates that the namespace contains Relays and Hybrid Connections


Note:

By default, this measure reports the Measure Values listed in the table above to indicate the namespace type. In the graph of this measure however, the same is represented using the numeric equivalents only.
Actv_cnctn Indicates the current number of active connections to this service bus. Number By default, a Service Bus Namespace can support upto a maximum of 1000 concurrent connections. If the value of this measure exceeds this limit, then subsequent requests for additional connections are rejected, and an exception is received by the calling code.
Incmng_rqst Indicates the number of requests flowing into this service bus. Number  
Succsfl_rqst Indicates the number of requests to this service bus that were processed successfully. Number Ideally, the value of this measure should be equal to or close to the value of the Incoming requests measure. If the gap between the Incoming requests and Successful requests is large, it implies that many requests have failed or have been rejected/throttled. To know if requests have failed, take a look at the User errors and Server errors measures. If these measures report non- zero values, it implies that the service bus failed to process one/more requests because of errors. To know if request throttling has occurred, take a look at the value of the Throttled requests measure. If this measure indicates that one/more requests have been throttled because of lack of adequate processing capacity.
Throttle_rqst Indicates the number of requests to this service bus that were throttled. Number Request throttling generally occurs if usage exceeds capacity. If this measure reports a high value, you may want to reset quotas or allocate more resources to the service bus.
Srver_err Indicates the number of requests that could not be processed because of server errors in this service bus. Number Ideally, the value of this measure should be 0.
User_err Indicates the number of requests that could not be processed because of user errors in this service bus Number Typically, the following types of errors are classified as user errors:

  • Client-side errors (In HTTP that would be 400 errors).

  • Errors that occur while processing messages, such as MessageLockLostException.



Ideally, the value of this measure should be 0.
Incmng_msg Indicates the number of events or messages sent to this service bus. Number  
Outgng_msg Indicates the number of events or messages sent by this service bus. Number  
Msg_count Indicates the number of messages in a queue/topic in this service bus. Number  
Actv_msg_cnt Indicates the number of messages that are currently active in a queue/topic in this service bus. Number  
Msg_size Indicates the average size of queues/topics in this service bus. MB In the Premium SKU, and the Standard SKU with partitioning enabled, the maximum queue or topic size is 80 GB.

If this limit is violated, subsequent incoming messages are rejected, and an exception is received by the calling code.