Daily Upstash Redis spend and usage digest posted to Slack

By General Input

Every weekday morning, see what your Upstash Redis databases cost yesterday, which ones spiked, and why, without opening a dashboard.

Integrations

  • Upstash
  • Slack Bot

Type

Agentic Task

Categories

  • Engineering
  • Operations

Every weekday at 8am, give me a digest of what my Upstash serverless Redis fleet cost yesterday and how hard it is being used, and post it to Slack.

Start with the Upstash List Redis Databases operation to enumerate every database in the account. Always enumerate rather than working from a fixed list, so databases added since the last run get picked up automatically.

For each database returned, call Get Redis Database Stats. Pull the daily figures: dailybilling for what it cost, dailyrequests and daily_net_commands for command volume, daily_read_requests and daily_write_requests for the read versus write split, and current_storage for how much data it is holding. Also keep the time series arrays that come back, including hits, misses, keyspace and diskusage, because those carry the trailing days you need for the comparison.

Rank the databases by yesterday's dailybilling, highest first, and sum them for a total account spend figure for the day.

Then compare each database against its own trailing days in the returned time series rather than against the rest of the fleet, since a small cache and a busy primary are not comparable. Call out anything that moved materially, for example daily billing or command volume more than 50 percent above that database's own trailing average.

For every anomaly, give a short plain explanation of the likely driver based on what the numbers actually show. A jump in daily_read_requests with flat writes points to a read spike or a runaway loop. A rising misses series against flat or falling hits points to a cache miss regression, where keys are expiring or being evicted and traffic is falling through to the origin. Growth in current_storage or the diskusage series points to storage growth rather than traffic. Say which one it looks like and why, do not just report that a number went up.

Post the result to Slack with the Slack Bot Send a Message operation. Lead with total account spend for the day, then the top three spenders with their daily cost and request volume, then an anomalies section, and close with a right sizing note.

For the right sizing note, flag any pay as you go database that is consistently expensive enough that a fixed plan would be cheaper. Upstash pay as you go bills roughly $0.20 per 100k commands plus storage, and sustained volume above roughly 500k commands per day is the point where a fixed plan usually wins. Treat this as a recommendation only. You can mention that Change Redis Database Plan is the operation that would apply it, but never change a plan automatically.

Keep the whole message short enough to read in the channel without expanding it. A few lines per section, real numbers rather than prose, and skip the anomalies section entirely when nothing crossed the threshold. If a stats call fails for one database, note it in a single line and still report on the rest.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seatsPause marketing emails to escalated customers, then restore them