Back to all articles

    IT Monitoring Best Practices: Building Systems That Don't Cry Wolf

    SkySysNet TeamMay 8, 20269 min read
    IT Monitoring Best Practices: Building Systems That Don't Cry Wolf

    The real test of monitoring isn't dashboards

    Any team can build dashboards. The real test of a monitoring system is what happens at 3 AM when a pager goes off: does the engineer know exactly what to do, or do they spend the first 20 minutes wading through irrelevant graphs trying to find the actual problem? If it's the second, your monitoring is theatre.

    This guide is a structured walk through monitoring that doesn't cry wolf, with the four golden signals at the foundation, SLI/SLO/error budgets in plain language, alert hygiene rules, and a checklist for auditing the monitoring you already have.

    Outline

    1. The four golden signals
    2. SLI, SLO and error budgets without the jargon
    3. Alert hygiene — the rules that protect humans
    4. Logs vs metrics vs traces: when to use which
    5. Synthetic and real-user monitoring
    6. Picking a tool stack
    7. A sane on-call setup for small teams
    8. Audit checklist for existing monitoring

    1. The four golden signals

    For every user-facing service, measure these four and nothing else first:

    • Latency — time to serve a successful request. Track p50, p95, p99.
    • Traffic — requests per second, or business equivalent (orders/min).
    • Errors — failed requests as a rate, broken down by category.
    • Saturation — how full the system is (CPU, memory, queue depth, connection pools).

    Get these four right and you've covered 80% of incidents. Add infrastructure-level metrics (disk, network, host health) only when they actually predict business impact.

    2. SLI, SLO and error budgets in plain language

    • SLI is what you measure: "% of requests served under 300 ms".
    • SLO is the target you commit to: "99.5% of requests under 300 ms over 30 days".
    • Error budget is what you're allowed to spend: 0.5% in this example.

    The point of error budgets isn't punishment. It's the explicit trade-off between reliability and feature velocity. If you've burned this month's budget, you slow down releases and invest in stability. If you haven't, you can ship faster. This conversation must happen at the engineering-leadership level, not just inside the SRE team.

    3. Alert hygiene — the rules that protect humans

    Five rules, all non-negotiable:

    1. Every alert has a runbook. No runbook, no alert.
    2. Alerts are actionable. If the on-call can't do something within five minutes, it's a ticket, not an alert.
    3. Alerts are based on symptoms, not causes. "API latency p99 above 800 ms" beats "CPU on web-3 above 80%".
    4. Alerts respect business hours. Page only for things that hurt revenue or users right now. Everything else goes to a daytime queue.
    5. Alert volume is reviewed weekly. Any alert that fires without leading to action gets tuned or deleted.

    A team that gets paged twice a week with real, actionable incidents is healthier than one that gets paged 30 times with noise.

    4. Logs vs metrics vs traces: when to use which

    SignalBest forWorst for
    MetricsAlerting, SLOs, dashboardsWhy a specific request failed
    LogsForensics, audit, debugHigh-cardinality dashboards (cost explodes)
    TracesLatency root cause across servicesCost-efficient long-term storage

    Don't log what should be a metric. Don't trace what should be a log. The three are complementary, not interchangeable.

    5. Synthetic and real-user monitoring

    Synthetic monitoring (scripted checks from external locations every minute) catches outages and certificate expirations before users notice. Real-user monitoring (RUM) tells you what users actually experience, including the slow networks and old browsers your staging environment doesn't have.

    Run both. Alert from synthetic. Investigate from RUM.

    6. Picking a tool stack

    There is no single correct stack. The honest selection matrix:

    • Prometheus + Grafana + Loki + Tempo — best total cost of ownership for teams with one engineer who likes operating this stuff. Worst for teams that don't.
    • Zabbix — strong for infrastructure-heavy environments, on-premise estates, mixed Linux/Windows fleets. Quieter on application-level observability.
    • Datadog / New Relic / Dynatrace — fastest time to value, highest sticker price, lock-in via custom data model. Often correct for a 20–100 person company that doesn't want to operate the platform.
    • Hyperscaler-native (CloudWatch, Azure Monitor, GCP Cloud Monitoring) — convenient, weaker cross-cloud or cross-on-prem story.

    Pick on three criteria: total cost over three years (including engineer time), data portability if you change your mind, and whether the on-call team actually wants to use it.

    7. A sane on-call setup for small teams

    • Minimum two on-call engineers. One is single-point-of-failure for humans.
    • Primary rotates weekly. Secondary covers the primary. No 24/7 single-pager hero.
    • Handover meeting every Monday: open incidents, top noisy alerts, what to fix this week.
    • Compensation policy in writing.
    • After every incident: a five-line postmortem in shared docs. Blameless, focused on systems and signals.

    8. Audit checklist for existing monitoring

    • Are the four golden signals in place for every user-facing service?
    • Does every active alert have a written runbook?
    • What's the weekly alert volume vs incidents that needed human action?
    • When was the last successful synthetic monitor of your most critical flow?
    • Are logs and metrics in the same place (or at least the same UI)?
    • Does your tool of choice cost what it should in 12 months at projected growth?
    • Is the on-call rotation documented, compensated and free of single-points-of-failure?

    If you can't answer any of these in one sentence, that's where to start.

    Key takeaways

    • Build on the four golden signals, not on infrastructure trivia.
    • Error budgets are a leadership conversation about velocity vs reliability.
    • Every alert needs a runbook and an action; everything else is a ticket.
    • Logs, metrics and traces complement each other — never substitute.
    • Tool choice is a 3-year TCO decision, not a feature checkbox.

    If you'd like an outside review of your current monitoring against this checklist, get in touch — you'll talk to an engineer, not a sales rep.

    Frequently asked questions

    What are the four golden signals of monitoring?+

    Latency (time to serve a successful request, tracked at p50/p95/p99), traffic (requests per second or business equivalent), errors (failed requests as a rate, broken down by category) and saturation (how full the system is — CPU, memory, queue depth, connection pools). For every user-facing service, get these four right first; they cover about 80% of incidents that matter to the business.

    How do SLI, SLO and error budgets work in practice?+

    An SLI is what you measure (e.g. "% of requests under 300 ms"). An SLO is the target ("99.5% of requests under 300 ms over 30 days"). The error budget is what you are allowed to spend (0.5% in that example). Error budgets are not punishment — they are an explicit trade-off between feature velocity and reliability. Burn the budget and you slow releases; preserve it and you can ship faster.

    What makes a good alert?+

    Five rules: every alert has a written runbook, every alert is actionable within five minutes, alerts are based on symptoms (latency, error rate) not causes (CPU, memory), alerts respect business hours (page only for things hurting users now), and alert volume is reviewed weekly with anything noisy tuned or deleted. An alert without a runbook is a pager waking someone with no clear action.

    Should I use Prometheus or a hosted tool like Datadog?+

    It depends on team shape. Prometheus + Grafana + Loki + Tempo gives the best total cost of ownership when one engineer enjoys operating that stack — and the worst when nobody does. Datadog, New Relic or Dynatrace give the fastest time to value with higher sticker prices and data-model lock-in. Pick on 3-year TCO including engineer time, data portability if you change your mind, and whether the on-call team actually wants to use it.

    How do I set up a sane on-call rotation for a small team?+

    Minimum two engineers on call (no single-pager hero), primary rotates weekly with a secondary covering, Monday handover meeting covering open incidents and noisy alerts, written compensation policy, and a five-line blameless postmortem after every incident. Without two people in rotation you have a single point of failure that is human, not technical — and humans burn out faster than disks.

    Related articles

    Zanim wyślesz zapytanie, sprawdź podstawy

    Checklista pomaga szybko ocenić monitoring, backup, dostępność usług i odpowiedzialność za krytyczne elementy IT.

    Pobierz checklistę

    Need help with your IT infrastructure?

    We will advise, design and deploy a solution tailored to your company.