All posts
Internet Fundamentals

Logs, Metrics and Traces for a Small Team: What to Collect, What It Costs, and What to Alert On

By

October 26, 2026

6 min read

Observability does not need a platform team. Structured logs, a handful of metrics and traces on the main paths answer most "why is it broken?" questions. What each signal is for, OpenTelemetry as the default, CloudWatch prices that surprise people ($0.50 per GB of standard logs ingested), and an alert list short enough to respect.

Internet Fundamentals
Observability
OpenTelemetry
Amazon CloudWatch
Monitoring

Signal

Answers

Example

Metrics

Is something wrong, and since when?

Error rate, p95 latency, queue age, orders per minute

Logs

What exactly happened in this request?

A JSON line per event with request ID, user ID, route and outcome

Traces

Where did the time go across services?

One request through the API, the database, the queue and an AI model call

Collect these

  • Structured (JSON) logs with a request ID on every line, passed through to every service the request touches.

  • The four golden signals per service: traffic, errors, latency and saturation.

  • One or two business metrics: sign-ups, orders, messages sent. They catch failures infrastructure metrics miss.

  • Traces for the main user journeys, instrumented with OpenTelemetry so you can change vendors without changing code.

Want a second opinion on this for your system?

Book a free 30-minute call. You'll leave knowing what we'd do first and roughly what it costs, whether or not you hire us.

What it costs on CloudWatch

In US East, standard log ingestion is $0.50 per GB and the Infrequent Access class $0.25 per GB, storage is $0.03 per GB-month, custom metrics are $0.30 per metric-month for the first 10,000, and alarms are $0.10 each a month, with a free tier of 5 GB of logs and 10 custom metrics. Logs are almost always the large line: debug logging left on in production, or full request bodies, can cost more than the servers.

  • Log at info level in production; sample debug logs if you need them.

  • Never log full request bodies, tokens or personal data. It is a cost and a breach waiting to happen.

  • Set retention on every log group. The default keeps logs forever.

  • Use high-cardinality values (user IDs, request IDs) in logs and traces, not as metric dimensions, where each combination is a new billed metric.

Alert on symptoms, not causes

  1. Error rate on key routes above a threshold for five minutes.

  2. p95 latency on key routes well above normal.

  3. Oldest message age on important queues, and any message in a dead-letter queue.

  4. The business metric dropping sharply against the same hour last week.

  5. External uptime check failing.

hoolco Monthly Review

Once a month: what changed in tech that month and what it means for you, from cloud and AI to security and the tools you build with. Every item links to its source. No sales pitch, unsubscribe in one click.

As of October 26, 2026. Provided as is, for general information, and accurate to the best of our knowledge on the date shown. Not legal, compliance, tax, financial or other professional advice. Prices, limits and vendor services change; check current vendor documentation before relying on anything here. Terms of use.