"Which instances grew 10% this month, and why?" should not take an afternoon of spelunking across dashboards. Wire an assistant over your monitoring data with a curated metric vocabulary, and fleet questions get first-draft answers in seconds — trustworthy ones, because the vocabulary pins what every term means before the model answers.
Tier: Core · Workflow area: Governed Data Access · ~30 minutes
DBAs managing dozens of instances field the same estate questions weekly: capacity trends, version spread, backup status, who is burning IOPS. The data exists in pganalyze, Prometheus, CloudWatch or your homegrown metrics schema — the friction is translation. The trap in naive setups is vocabulary drift: "growth" meaning disk one day and row count the next. This playbook curates the vocabulary first, wires the assistant second, and keeps a verification habit for any answer that leaves your screen.
Curate the metric vocabulary — the trust foundation. Write the definitions file: every term the assistant may use, with its exact source and computation:
# fleet-vocabulary.md
- disk_growth_pct: (bytes_now - bytes_30d_ago) / bytes_30d_ago,
from pganalyze storage metrics, per database, 30-day window.
- connection_saturation: max(connections)/max_connections daily
peak, from pg_stat_activity samples.
- replica_lag_p95: 95th percentile replay lag over 7 days, seconds.
- unpatched: minor version older than newest minor for its major.
- grew_significantly: disk_growth_pct >= 10.
Ten to twenty terms cover most fleet questions. This file is a governed artifact: reviewed, versioned, and pasted into every session — it is what makes two askers get the same answer.
Expose the data read-only — API or MCP, fenced as always. Two good shapes: an assistant calling the pganalyze API (or Prometheus HTTP API) with a scoped read token, or a pb-34-guardrailed MCP server over your metrics warehouse. Either way the fence rules hold: read-only credentials, scoped to metrics (never production application data), rate-limited, logged.
Write the system prompt around the vocabulary and an honesty rule.
You answer database-fleet questions using ONLY the metrics
reachable through your tools, interpreted per the attached
vocabulary. Rules:
- Map user phrasing to vocabulary terms; state the mapping in
your answer ("interpreting 'grew a lot' as disk_growth_pct
>= 10").
- Every numeric claim cites instance, metric and window.
- If data is missing or a term is not in the vocabulary, say so
— never estimate.
- For "why" questions, list ranked hypotheses with the evidence
for each; do not assert a single cause.
[attach fleet-vocabulary.md]
Ask the real question and demand the evidence trail.
Which instances grew 10% or more this month, and what is driving
the growth on each?
A good answer looks like: 3 of 41 instances at disk_growth_pct >= 10: orders-prod (+14%, driver: audit_log table +38 GB, matches retention change on Jul 12), analytics-replica (+12%, WAL accumulation — replication slot inactive since Jul 28 [warn]), hr-db (+11%, pg_largeobject growth, no hypothesis — needs a look). The shape to insist on: number, source, window, and a hypothesis explicitly separated from a fact.
Verify one claim per answer — the spot-check habit. Before any answer leaves your screen, pick the highest-stakes claim and check it at the source:
SELECT pg_size_pretty(pg_database_size('orders'));
-- against last month's recorded size in the metrics store
One check per answer is cheap insurance and continuous calibration: when spot-checks keep passing, trust is earned; the first miss tells you a vocabulary term or a collector is broken — both worth knowing immediately.
Grow the vocabulary from the miss log. Keep a running note of questions the assistant refused or fumbled. Weekly, promote the recurring ones into new vocabulary terms with proper definitions — refusals are your requirements backlog. The vocabulary file's git history becomes a record of what your org actually asks its estate.
Fleet metadata is a reconnaissance map — instance names, versions, patch gaps and growth patterns tell an attacker exactly where to look. Keep the metrics surface read-only and internal, treat "which instances are unpatched" answers as sensitive, and never route fleet inventory through a consumer AI account.
The vocabulary file outlives the assistant. It is your estate's metric contract — the same definitions feed dashboards, capacity reviews and the next tool you adopt. Curate it like code, and natural-language fleet answers become the cheapest interface to a discipline you already had.