Self-serve CloudWatch metric explorer for non-AWS users

Let anyone browse, chart, and export your AWS infrastructure metrics without an AWS login, and spot the metrics nothing is alerting on.

App
Amazon CloudWatchGoogle SheetsEngineeringOperationsResearch & MonitoringData Sync
PromptCreate

Build me a self-serve Amazon CloudWatch metric explorer: an app that people who do not have an AWS login can open to answer their own infrastructure questions. The audience is support leads, finance, product managers, and junior ops, so the app has to be usable by someone who does not know AWS naming conventions. CloudWatch metric data is region scoped, so the app connects to a single AWS region and should show which region is connected in a persistent header or banner, and every view should be understood as showing that one region only.

The main view is a metric browser backed by List Metrics. Let people drill from namespace, to metric name, to the dimension sets available for that metric, so they can find something without knowing what it is called up front. Put a search box over metric names above the tree, and a namespace filter so the team can narrow to the handful of services they actually care about, with the default filter set configurable. List Metrics is paginated with NextToken and an account can have a lot of metrics, so the handler should page through fully and cache the catalogue rather than refetching the whole tree on every keystroke; the search box should filter the cached catalogue client side.

Add a second way in: a dashboard import panel that calls List Dashboards to show existing CloudWatch dashboards, and Get Dashboard when one is picked. Parse the returned DashboardBody, which is a JSON string, and extract the metrics referenced by its widgets so the user gets a ready made starting selection instead of building a view from scratch. Treat CloudWatch dashboards strictly as read-only inputs. Do not write anything back to CloudWatch, and do not attempt to create or update a dashboard there. Everything the user saves stays in the app's own storage.

Selecting one or more metrics charts them together using Get Metric Statistics. That operation returns one metric per call, so a multi-metric chart means the handler fans out one call per selected metric and merges the returned datapoints into a single series set aligned on timestamp, sorting each series by time because CloudWatch does not guarantee datapoint order. Give the user a time range picker, a statistic picker offering Average, Sum, and Maximum plus p95, and a period granularity control. Note that p95 is a percentile and has to be requested through the ExtendedStatistics parameter rather than Statistics, so the handler should route the selection to the right parameter.

Bake in CloudWatch's retention and granularity rules so long ranges do not silently return an empty chart: fine grained data ages out, and older windows require a coarser period. Auto-suggest a sensible period for the chosen time range, and if the user picks a combination CloudWatch will not serve, say so in the UI instead of rendering a blank graph.

Add a compare to previous period toggle. When it is on, the handler runs the same fan-out a second time against the immediately preceding window of equal length, and the chart overlays that prior window in a visually secondary style such as a dashed or muted line, aligned so the two periods sit on top of each other by relative offset rather than absolute timestamp. The purpose is to let someone see whether today is actually unusual, so make the comparison easy to read at a glance.

For whichever metric is currently selected, call Describe Alarms For Metric and show whether anything is alarming on it, including the alarm name, threshold, and current state. Make the empty result a first class, visible outcome rather than a blank space: if no alarms exist for that metric, say clearly that nothing is watching it. Finding the metrics the team monitors by eye but never alerts on is one of the main reasons this app exists, so consider surfacing an unwatched indicator directly in the browse tree as well.

Any chart a person builds can be saved as a named view in the app's own storage, capturing the selected metrics and their dimensions, the time range, statistic, period, and the compare toggle, so the same question is one click next time. Saved views should be listed on the app's home screen, and let the setup decide whether views are private per user or shared across everyone using the app.

Add an export action on any chart that writes the underlying numbers to a tab in Google Sheets using Append Values, with a header row plus one row per timestamp and a column per selected metric, and a column noting the AWS region and statistic used. Let the user pick the target spreadsheet and tab. This is for finance or leadership who want to chart infrastructure numbers next to business numbers in a tool they already have open, so it is an occasional deliberate action rather than a background sync.

Scope boundaries: read-only IAM on the AWS side is sufficient for everything this app does, which is worth stating in the app's own setup or help text because it lowers the bar for granting access. CloudWatch Logs is a separate API and is not part of this integration, so do not include any log search anywhere in the app. The app performs no writes against AWS at all; the only write in the whole app is the Google Sheets export.

What does this prompt do?

  • Opens a searchable catalogue of every metric your AWS account collects, so people can drill from a service down to a specific metric without knowing AWS naming conventions in advance
  • Charts one or several metrics together over a time range you pick, with a compare to previous period toggle that shows whether today is actually unusual or just normal
  • Loads an existing CloudWatch dashboard and pulls its metric list in as a ready made starting point instead of making you build a view from scratch
  • Shows whether anything is alerting on the metric you are looking at, which is how teams find the numbers they watch but never get warned about
  • Saves any chart as a named view for one click access later, and exports the underlying numbers to a Google Sheets tab so finance or leadership can put infrastructure figures next to business figures

What do I need to use this?

  • An AWS account with CloudWatch collecting metrics, and read only access is enough. The app never changes anything in AWS, so whoever grants access can use the read only permission set rather than full access
  • The AWS region your metrics live in. CloudWatch keeps metrics separate per region, so the app shows one region at a time and displays which one is connected
  • A Google account with access to the spreadsheet you want to export into, only if you plan to use the export feature
  • A list of the services you actually care about, such as your databases, load balancers, or queues, to set as the default filter so the catalogue is not overwhelming on first open

How can I customize it?

  • Set which services appear in the namespace filter by default, so the first screen shows only the parts of your infrastructure the team cares about
  • Change the default time range, summary type, and granularity that new charts open with, for example last 24 hours as an average in five minute steps
  • Choose whether saved views are private to each person or shared across everyone using the app, and pick the spreadsheet and tab that exports land in

FAQs

Do the people using this need an AWS login?
No, and that is the point of the app. You connect the AWS account once when you set it up, and everyone else just opens the app. It is built for support leads, finance, product managers, and anyone else who needs to answer an infrastructure question without being given console access.
Can this change anything in our AWS account?
No. The app only reads. It lists metrics, pulls their numbers, reads existing dashboards, and checks which alerts exist. It never creates, edits, or deletes anything, which is why read only access is enough to run it.
Will it change or overwrite our existing CloudWatch dashboards?
No. Existing dashboards are treated as a read only starting point. When you load one, the app copies its list of metrics in so you can chart them, and any view you save is stored inside the app itself rather than written back to AWS.
Can I look at more than one region at once?
Not in a single chart. AWS keeps metric data separate per region, so the app connects to one region and shows you which one you are looking at. If you need a second region, connect it separately.
Can I search our logs with this?
No. This app covers metrics, which are the numeric measurements like processor use, request counts, and error rates. Log search is a different AWS system and is not part of this app.
How is this different from a scheduled report that dumps metrics into a spreadsheet?
A scheduled report answers a question you already knew you had, on a fixed list of metrics. This app is for the opposite situation, where someone needs to poke around the full catalogue and follow a hunch. Exporting to a spreadsheet is something you do occasionally here, not the main event.

Related templates

Prospecting desk that builds account lists from the live web

Stop buying stale lists. Reps run a saved search, work the results like an inbox, and only the accounts they approve ever reach your CRM.

Hyperbrowser
HubSpot
Google Sheets
App
Influencer campaign roster board with AI creator briefs

Drag creators through Sourced to Wrapped on a board grouped by campaign, with audience stats on every card and a one-click brief for each creator.

HypeAuditor
Google Sheets
Notion
App
Morning repricing console for Shopify with margin-safe rules

Pick a repricing rule, send an assistant out to check competitor pages, then approve the new prices that clear your margin floor.

Hyperbrowser
Shopify
Google Sheets
App
Pre-flight bounce check before you launch a cold email sequence

See the projected bounce rate for any outbound send before it goes out, and keep the launch button locked until the list is clean enough to be safe.

Hunter
Google Sheets
App
Per-device electricity cost explorer for your smart home

Pick any date range and see what each device in your home actually cost to run, not just how many kilowatt-hours it used.

Home Assistant
Google Sheets
App
Build a PR media list from real worldwide news coverage

Search three months of global coverage on your topic, rank the outlets actually writing about it, and draft a tailored pitch for each one.

GDELT
Google Sheets
Gmail
App

Stop being the person who screenshots graphs for everyone else.

Give your team a safe, read only window into your infrastructure numbers so they can answer their own questions without an AWS login.