Cosmos DB Throughput and Monitoring

Tristan Chen 1 Reputation point
2020-09-10T20:39:16.827+00:00

Hello there, I am trying to setup alerting on our Cosmos DB containers.
I have a question around the throughput and the Total Request Unit metric in alerting:

Say I have a container with fixed throughput of 400 RU/s, does this translate to 400*60 = 24000 Total RU/ minute?
Will this 24000 Total RU / minute match the Total Request Unit metric in alerting if I aggregate by 1 minute?

Is there a way that I can set up alerting when 75% of throughput limit is reached?

At the moment, I am think of setting setting a static limit of 24000*0.75 = 18000 Total RU / Minute alerting.
Of course, this is an total over one minute, we can still have spikes and go over the throughput without triggering this alert, but I am planning adding 429 etc alerts as compliment to total usage alert.

Azure Cosmos DB
Azure Cosmos DB
An Azure NoSQL database service for app development.
916 questions
Azure Monitor
Azure Monitor
An Azure service that is used to collect, analyze, and act on telemetry data from Azure and on-premises environments.
1,824 questions
No comments
{count} votes

2 answers

Sort by: Most helpful
  1. Stanislav Zhelyazkov 14,346 Reputation points Microsoft MVP
    2020-09-11T13:09:35.297+00:00

    Hi,
    In case you want some dynamic throughput you can use autoscale feature.

    Otherwise if you want to monitor the throughput you can use Normalized RU Consumption metric which is in percentage. Remember to enable dimensions so you get alerted separately for each database and collection.
    24182-image.png

    No comments

  2. Mark Brown - MSFT 2,581 Reputation points Microsoft Employee
    2020-09-10T20:58:37.077+00:00

    Throughput is governed on a per second basis so you cannot provision 400 RU/s and run a single 24K operation.

    See this article for how to configure alerts using Azure Monitor, Create alerts for Azure Cosmos DB using Azure Monitor

    No comments