When to choose a Threshold Monitor?
Consider an Ecommerce business scenario, where any new orders from the Ecommerce website is being pushed in a Service Bus Queue. There is a Logic App that looks for any new messages in the Service Bus Queue at specified time interval say every 3 minutes. Whenever a new message is found in the Service Bus Queue the Logic App picks it up for processing. The Service Bus Queue is configured with an Time To Live as 5 minutes. If the Logic App, which runs every 3 minutes does not pick up the Service Bus message for processing, the message would get dead lettered once its Time To Live expires. The monitoring requirement here is, to alert the stakeholders whenever the Logic App state is not Enabled or when the Service Bus Queues dead letter count remains greater than '0' for more than 10 minutes. It is also required to alert only when the voilation occurs. The right choice of Serverless360 monitor to meet the above requirement is the Threshold Monitor. This article would serve as a guide to configure a Threshold Monitor to fulfill the above mentioned monitoring requirement.
Configuring a Threshold Monitor
Configuring a Threshold monitor in Serverless360 involves the following steps.
Create/ Edit a Threshold Monitor, in every Composite Application created, by default a threshold monitor will be present. However you can create as many number of threshold monitors as per your requirement.
Define the Threshold Monitor, edit the threshold monitor configuration to define voilation tolerance duration, the monitor will tolerate the violation for this duration. Only if the voilation persists for time more than this duration, an alert will be triggered. Define the number of alerts you would like to recieve in case of voilation, this would prevent spamming. It is also possible to define the days of a week on which you would expect the monitor to execute. Enabling 'Notify On Success' will send out an alert when the voilation recovers.
Define the Notification Channels, for the threshold monitor to share the alerts. Turn on those notification channels from the list of configured channels through which this threshold monitor is ecpected to send alert on Below is an illustration that can serve as a guide to configure a threshold monitor.
Associate Entities, multiple entities can be associated to a single threshold monitor. Serverless360 has capabilities to monitor the following Azure entities on their state, metric or properties
- Service Bus Queues/ Topics/ Topic subscriptio
- Event Hubs
- Logic Apps
- Function Apps
- Storage Queues/ Blobs/ Files
- API Endpoint
Configure threshold values on enitity properties , Serverless360 permits defining an expected state against current state of the associated entities. In this case, the current state not being the expected state is an voilation. It is possible to monitor the entities on the value of their properties and metrics. In this case, the warning threshold and error threshold can be configured to generate an appropriate warning or error monitoring status.
Below is an illustration that can serve as a guide to configure warning and error threshold values on metrics or properties of the associated entities.