Blog
Notes on monitoring, alerts, investigation, and keeping production healthy for small teams.
Ten monitoring MCP servers you can use from Claude Code, compared: what your agent can query, the install line for each, free tiers and starting prices.
cc-plugin-telemetry is the built-in Claude Code mod that sends its usage analytics to Anthropic. What a record holds, what it never holds, and how to turn it off.
The Claude API and Managed Agents now export OpenTelemetry traces. What you get, which setup you need, the token-counting trap, and how to send them to your own monitoring.
Claude Code v2.1.300 adds OpenTelemetry GenAI attributes to its traces and splits cache writes into 5 minute and 1 hour. What changed, why it matters, and how to turn it on.
Ten layers of a software company's stack, the American default in each, the European company that replaces it, and what you give up. Plus the test that decides what counts as European, and where to start.
Running several Claude Code sessions? Session Tracker, our open-source mod, lists them all in one sidebar, the ones that need you first. How to install it.
The best Claude Code mods, sorted by job: guards, cost, git, sessions, other models and prompts. What each does, how to install it, and the catch.
cc-plugin-you-should-know is a built-in Claude Code mod: a side agent that flags what you might miss. What it does, what it costs, how to turn it on and off.
What a Claude Code mod is in plain words: what it can do, how it differs from CLAUDE.md, hooks, skills and MCP, and the simplest mod you can build.
A rule in CLAUDE.md is guidance. A mod is code every tool call passes through. Build Claude Code guardrails that block one action and tell Claude why.
Claude Code notifications from a hook ping you. A mod remembers: it pairs your request with the answer, knows done from waiting, and cancels its reminder.
A Claude Code mod can mask API keys, card numbers, IBANs and emails before Claude reads them, and block MCP calls that would send them out. Tested code.
Stop Claude Code from writing to your database: a read-only user first, then a mod that blocks INSERT, UPDATE, DELETE and DROP and tells Claude why.
How we built docs.fixter.dev for AI agents: an llms.txt index, a markdown twin of every page, TechArticle JSON-LD, and a robots.txt that welcomes crawlers.
How to know when your app is down: an external uptime check against a health endpoint, plus internal alerts on errors and on key actions that stop completing.
A server crashes because it hit a limit: memory most often, then CPU, disk, and connections. How the OOM killer works and how to see which limit you hit.
An MCP server gives an AI app access to a tool or data source over the Model Context Protocol. How it works, how to build or use one, and a real example.
There is no single good response time, but there are reference points and one rule beats any number: watch the right percentile against each route's baseline.
You do not need a full observability stack to launch. The three signals that catch real problems, the golden signals kept small, and what to skip at first.
Why an app works locally and breaks in production: real data volume, concurrency, config, and external services, plus how to catch prod-only breaks.
Where app slowness hides, why averages lie, and how to trace a slow request to the exact cause instead of guessing. A practical guide for small teams and builders.
A vibe-coded app that works in development breaks in predictable ways once real users arrive: slow queries, N+1, silent failures, rate limits, auth, and no visibility. What breaks and how to catch it.
A database query is slow for a short list of reasons: a missing index, N+1, too much data, or lock contention. How to tell which using the query plan and production traces, and how to fix each.
What LLM observability is, why token cost is hard to attribute, what to track by model and feature, and how to do it inside the monitoring you already run.
What AI agent monitoring is, why agents are hard to monitor, what to track across a multi-step run, and how to monitor agents without running a separate stack.
Error tracking catches thrown exceptions, but vibe-coded apps fail without throwing. Error tracking versus monitoring, and what a vibe-coded backend needs.
What centralized logging is, why you need it once you run more than one service, how the collect-ship-store-search pipeline works, the tools and tradeoffs, and how to do it without running the stack yourself.
Your logs are not just for debugging after something breaks. Analytics vs monitoring, what you can watch and alert on from your backend, and how to do it without an enterprise setup.
How to connect Claude Code to your production logs over MCP, so you can query them in plain language from your editor instead of opening a dashboard.
What log analysis is, the difference between log management and log analysis, how to investigate production issues from logs step by step, and the tools that help. Grounded in syslog, OpenTelemetry, and trace context.
What counts as a production error, why errors slip past you, what to measure, and how to catch them before customers complain. Grounded in HTTP semantics, the SRE golden signals, and OpenTelemetry.
What APM is, the four golden signals it measures, how to instrument with OpenTelemetry, and which APM tools fit a team of two to fifty. Grounded in the SRE golden signals, RED, USE, and the Dapper paper.
How to get Datadog for Startups credits step by step, who is eligible, how long they last, what Datadog costs once they run out, and the cheaper alternatives to line up first.
Automated alert investigation means a system investigates production alerts before paging an engineer: it pulls logs, checks deploys, and assesses impact.
An AI on-call engineer handles the investigation side of on-call duty. It monitors production, investigates alerts, and escalates only what needs human judgment.
Production engineering is the discipline of keeping production systems reliable: monitoring, incident response, and everything from deploy to happy users.
What if your observability tool investigated problems instead of showing you graphs? Observability without dashboards means getting answers, not data.
Most alerts are noise. When everything pages, nothing gets investigated properly. Here is what alert fatigue actually costs and how to fix it.
On-call does not scale with headcount. Small teams need a different approach to production incidents that does not burn out the people building the product.
AI native observability means your monitoring system investigates problems for you instead of just showing dashboards. Here is how it works and why it matters.