Now with release Winter 21, you have a new feature which enables you to monitor it.
https://developer.salesforce.com/docs/atlas.en-us.change_data_capture.meta/change_data_capture/cdc_monitor_usage.htm
Obtain Usage Metrics for the Last 24 Hours
To get usage metrics for the last 24 hours, ending at the last hour, perform a query by specifying the start and end date and time in UTC, and the metric name.
For the last 24-hour period, the end date is the current date in UTC, with the time rounded down to the previous hour. The start date is 24 hours before the end date. Dates have hourly granularity.
According to Proactive Alert Monitoring: Durable Streaming API Limit there are two scenarios that will result in the Organization total events daily limit exceeded. error message.
- Excessive record updates triggering notifications
- Exceeding concurrent subscriber limitations
For the second scenario the help doc goes onto explain:
Exceeding concurrent subscriber limitations
The maximum concurrent subscriber count for streaming API daily limits is 10 across all Salesforce organization editions. This is a static limit and cannot be increased with a support request.
That sounds a lot like the "Maximum number of concurrent CometD clients (subscribers) across all channels and for all event types" limit from Platform Event Allocations.
While the first help doc implies a hard limit of 10, the latter has it ranging from 20 all the way up to 2,000 clients depending on the org edition.
It may well be that the first doc is out of date. It does seem odd that this error message would have anything to do with concurrent subscribers rather than the volume of events.
Another reference for that message is in the Streaming API Error Codes.
Organization total events daily limit exceeded
The maximum number of daily events has been exceeded. This error applies to any type of event, including PushTopic, generic, and platform events.
Are you using High-Volume Events? It kind of looks like you are as the MonthlyPlatformEvents limit is down to 1,452,923 from 1,500,000. What is really odd about that limit is the documentation - Monitor Your High-Volume Event Usage (my emphasis).
To monitor your monthly event delivery usage, use the limits REST API resource, and inspect the MonthlyPlatformEvents value. The limits resource returns the monthly maximum allocation. If you don’t have an add-on license, your daily default maximum allocation is the monthly allocation returned divided by 30.
From my reading you are borderline on the edge of that limit. It may just be that the REST limits resource hasn't caught up with the actual usage yet.
I'd revisit the limits resource at intervals after the error occurs to see it the values change.
Best Answer
The daily limit is the number of events which can be delivered externally (off platform). The hourly limit is the number of events you can publish regardless of subscribers.